인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
TeleportProvisionToken
이 가이드는 Teleport Kubernetes 운영자를 설치한 후 적용할 수 있는 TeleportProvisionToken
리소스의 필드에 대한 종합적인 참조입니다.
resources.teleport.dev/v2
apiVersion: resources.teleport.dev/v2
Field | Type | Description |
---|---|---|
apiVersion | string | APIVersion은 객체의 이 표현에 대한 버전화된 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않은 값은 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kind | string | Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 추론할 수 있습니다. 업데이트할 수 없습니다. CamelCase로 작성됩니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadata | object | |
spec | object | Teleport의 ProvisionToken 리소스 정의 v2 |
spec
Field | Type | Description |
---|---|---|
allow | []object | Allow는 이 토큰을 사용하기 위해 해당하는 규칙을 만족해야 하는 토큰 규칙의 목록입니다. |
aws_iid_ttl | string | AWSIIDTTL은 이 토큰으로 클러스터에 조인하기 위해 사용되는 AWS EC2 인스턴스 아이덴티티 문서의 TTL입니다. |
azure | object | Azure는 "azure" 조인 방법에 특정한 옵션 구성을 허용합니다. |
bot_name | string | BotName은 이 토큰이 접근을 허용하는 봇의 이름입니다. |
circleci | object | CircleCI는 "circleci" 조인 방법에 특정한 옵션 구성을 허용합니다. |
gcp | object | GCP는 "gcp" 조인 방법에 특정한 옵션 구성을 허용합니다. |
github | object | GitHub는 "github" 조인 방법에 특정한 옵션 구성을 허용합니다. |
gitlab | object | GitLab은 "gitlab" 조인 방법에 특정한 옵션 구성을 허용합니다. |
join_method | string | JoinMethod는 이 토큰을 사용하기 위해 필요한 조인 방법입니다. 지원되는 조인 방법은: azure, circleci, ec2, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm입니다. |
kubernetes | object | Kubernetes는 "kubernetes" 조인 방법에 특정한 옵션 구성을 허용합니다. |
roles | []string | Roles는 토큰과 연결된 역할의 목록이며, 이는 토큰 사용자의 SSH 및 X509 인증서에 메타데이터로 변환됩니다. |
spacelift | object | Spacelift는 "spacelift" 조인 방법에 특정한 옵션 구성을 허용합니다. |
suggested_agent_matcher_labels | object | SuggestedAgentMatcherLabels는 에이전트가 리소스에 맞춰 사용할 레이블 세트입니다. 이 토큰을 사용하는 에이전트는 이러한 레이블과 일치하는 리소스를 모니터링해야 합니다. 데이터베이스의 경우, 이는 db_service.resources.labels 에 레이블을 추가하는 것을 의미합니다. 현재 노드 조인 스크립트만 이 제안에 따라 구성을 생성합니다. |
suggested_labels | object | SuggestedLabels는 이 토큰을 사용하여 클러스터에 등록할 때 리소스가 설정해야 하는 레이블 세트입니다. 현재 노드 조인 스크립트만 이 제안에 따라 구성을 생성합니다. |
terraform_cloud | object | TerraformCloud는 "terraform_cloud" 조인 방법에 특정한 옵션 구성을 허용합니다. |
tpm | object | TPM은 "tpm" 조인 방법에 특정한 옵션 구성을 허용합니다. |
spec.allow 항목
필드 | 타입 | 설명 |
---|---|---|
aws_account | string | AWSAccount는 AWS 계정 ID입니다. |
aws_arn | string | AWSARN은 IAM 조인 방법에 사용되며, 조인하는 노드의 AWS ID는 이 ARN과 일치해야 합니다. 와일드카드 "*" 및 "?"를 지원합니다. |
aws_regions | []string | AWSRegions는 EC2 조인 방법에 사용되며, 노드가 조인할 수 있는 AWS 지역 목록입니다. |
aws_role | string | AWSRole은 EC2 조인 방법에 사용되며, Auth Service가 ec2 API를 호출하기 위해 가정할 AWS 역할의 ARN입니다. |
spec.azure
필드 | 타입 | 설명 |
---|---|---|
allow | []object | Allow는 규칙의 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
spec.azure.allow 항목
필드 | 타입 | 설명 |
---|---|---|
resource_groups | []string | |
subscription | string |
spec.circleci
필드 | 타입 | 설명 |
---|---|---|
allow | []object | Allow는 TokenRules의 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
organization_id | string |
spec.circleci.allow 항목
필드 | 타입 | 설명 |
---|---|---|
context_id | string | |
project_id | string |
spec.gcp
필드 | 타입 | 설명 |
---|---|---|
allow | []object | Allow는 규칙의 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
spec.gcp.allow 항목
필드 | 타입 | 설명 |
---|---|---|
locations | []string | |
project_ids | []string | |
service_accounts | []string |
spec.github
필드 | 타입 | 설명 |
---|---|---|
allow | []object | Allow는 TokenRules의 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
enterprise_server_host | string | EnterpriseServerHost는 GitHub Enterprise Server 인스턴스와 연결된 러너에서 조인할 수 있도록 허용합니다. 비구성화될 경우, 토큰은 github.com에 대해 검증되지만, GHES 인스턴스의 호스트에 대해 구성되면 해당 호스트에 대해 검증됩니다. 이 값은 GHES 인스턴스의 호스트 이름이어야 하며, 스킴이나 경로를 포함하지 않아야 합니다. 해당 호스트 이름에서 HTTPS를 통해 접근할 수 있어야 하며, 인증서는 Auth Service에 의해 신뢰받아야 합니다. |
enterprise_slug | string | EnterpriseSlug는 GitHub Enterprise 조직의 슬러그를 OIDC 토큰의 예상 발급자에 포함할 수 있도록 허용합니다. 이는 GHE의 include_enterprise_slug 옵션과 호환성을 위한 것입니다. 이 기능이 활성화되면 이 필드는 귀하의 기업의 슬러그로 설정되어야 합니다. 활성화되지 않은 경우 이 필드는 비워 두어야 합니다. enterprise_server_host 가 지정된 경우 이 필드는 지정할 수 없습니다. 사용자 정의 발급자 값에 대한 추가 정보는 https://docs.github.com/en/enterprise-cloud@latest/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect#customizing-the-issuer-value-for-an-enterprise 를 참조하십시오. |
spec.github.allow 항목
필드 | 타입 | 설명 |
---|---|---|
actor | string | |
environment | string | |
ref | string | |
ref_type | string | |
repository | string | |
repository_owner | string | |
sub | string | |
workflow | string |
spec.gitlab
필드 | 유형 | 설명 |
---|---|---|
allow | []object | Allow는 TokenRules 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
domain | string | Domain은 귀하의 GitLab 인스턴스의 도메인입니다. 기본값은 gitlab.com 이며, 귀하의 자체 호스팅 GitLab 도메인(e.g., gitlab.example.com )으로 설정할 수 있습니다. |
spec.gitlab.allow items
필드 | 유형 | 설명 |
---|---|---|
ci_config_ref_uri | string | |
ci_config_sha | string | |
deployment_tier | string | |
environment | string | |
environment_protected | boolean | |
namespace_path | string | |
pipeline_source | string | |
project_path | string | |
project_visibility | string | |
ref | string | |
ref_protected | boolean | |
ref_type | string | |
sub | string | |
user_email | string | |
user_id | string | |
user_login | string |
spec.kubernetes
필드 | 유형 | 설명 |
---|---|---|
allow | []object | Allow는 Rules 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
static_jwks | object | StaticJWKS는 static_jwks 유형에 대한 특정 구성입니다. |
type | string | Type은 Kubernetes Service Account 토큰을 검증하기 위해 어떤 동작을 사용할지 제어합니다. 지원 값: - in_cluster - static_jwks 설정되지 않은 경우 기본값은 in_cluster 입니다. |
spec.kubernetes.allow items
필드 | 유형 | 설명 |
---|---|---|
service_account | string |
spec.kubernetes.static_jwks
필드 | 유형 | 설명 |
---|---|---|
jwks | string |
spec.spacelift
필드 | 유형 | 설명 |
---|---|---|
allow | []object | Allow는 Rules 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
hostname | string | Hostname은 토큰이 발생하는 Spacelift 테넌트의 호스트 이름입니다. 예: example.app.spacelift.io |
spec.spacelift.allow items
필드 | 유형 | 설명 |
---|---|---|
caller_id | string | |
caller_type | string | |
scope | string | |
space_id | string |
spec.terraform_cloud
필드 | 유형 | 설명 |
---|---|---|
allow | []object | Allow는 Rules 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. |
audience | string | Audience는 Terraform Cloud의 TFCWORKLOAD_IDENTITY_AUDIENCE($TAG) 변수에서 구성된 JWT audience입니다. 설정되지 않은 경우 기본값은 Teleport 클러스터 이름입니다. 예를 들어, Terraform Cloud에서 TFC_WORKLOAD_IDENTITY_AUDIENCE_TELEPORT=foo 가 설정된 경우 이 값은 foo 이어야 합니다. 변수가 클러스터 이름과 일치하도록 설정된 경우, 여기에서 설정할 필요는 없습니다. |
hostname | string | Hostname은 이 토큰이 허용하는 JWT를 발행할 것으로 예상되는 Terraform Enterprise 인스턴스의 호스트 이름입니다. 이는 일반 Terraform Cloud 사용을 위해 설정되지 않을 수 있으며, 이 경우 기본값은 app.terraform.io 로 가정됩니다. 그렇지 않은 경우, 이는 JWT에 포함된 iss (발급자) 필드와 일치해야 하며, 표준 JWKS 엔드포인트를 제공해야 합니다. |
spec.terraform_cloud.allow items
필드 | 유형 | 설명 |
---|---|---|
organization_id | string | |
organization_name | string | |
project_id | string | |
project_name | string | |
run_phase | string | |
workspace_id | string | |
workspace_name | string |
spec.tpm
필드 | 유형 | 설명 |
---|---|---|
allow | []object | Allow는 규칙 목록으로, 제시된 위임된 ID가 조인 허용 규칙 중 하나와 일치해야 조인이 허용됩니다. |
ekcert_allowed_cas | []string | EKCertAllowedCAs는 TPM EKCerts를 검증하는 데 사용될 CA 인증서 목록입니다. 지정된 경우, 조인하는 TPM은 지정된 CA 중 하나에 의해 서명된 EKCert를 제시해야 합니다. EKCert를 제시하지 않는 TPM은 조인이 허용되지 않습니다. 지정하지 않을 경우, TPM은 EKCert 또는 EKPubHash 중 하나로 조인이 허용됩니다. |
spec.tpm.allow items
필드 | 유형 | 설명 |
---|---|---|
description | string | |
ek_certificate_serial | string | |
ek_public_hash | string |