인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
teleport_provision_token Terraform 데이터 소스 참조
스키마
필수
spec
(속성) Spec은 프로비저닝 토큰 V2 스펙입니다 (아래의 중첩 스키마 참조).version
(문자열) Version은 리소스 버전입니다. 반드시 지정해야 합니다. 지원되는 값은:v2
.
선택 사항
metadata
(속성) Metadata는 리소스 메타데이터입니다 (아래의 중첩 스키마 참조).sub_kind
(문자열) SubKind는 일부 리소스에서 사용하는 선택적 리소스 하위 종류입니다.
spec
의 중첩 스키마
필수:
roles
(문자열 목록) Roles는 해당 토큰과 연관된 역할 목록으로, 이 역할은 토큰 사용자에게 발급되는 SSH 및 X509 인증서의 메타데이터로 변환됩니다.
선택 사항:
allow
(속성 목록) Allow는 TokenRules 목록이며, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. (아래의 중첩 스키마 참조).aws_iid_ttl
(문자열) AWSIIDTTL은 이 토큰으로 클러스터에 조인하는 데 사용되는 AWS EC2 인스턴스 아이덴티티 문서의 TTL입니다.azure
(속성) Azure는 "azure" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).bot_name
(문자열) BotName은 이 토큰이 엑세스를 부여하는 봇의 이름입니다 (있는 경우).circleci
(속성) CircleCI는 "circleci" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).gcp
(속성) GCP는 "gcp" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).github
(속성) GitHub는 "github" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).gitlab
(속성) GitLab은 "gitlab" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).join_method
(문자열) JoinMethod는 이 토큰을 사용하기 위해 필요한 조인 방법입니다. 지원되는 조인 방법은: azure, circleci, ec2, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm입니다.kubernetes
(속성) Kubernetes는 "kubernetes" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).spacelift
(속성) Spacelift는 "spacelift" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).suggested_agent_matcher_labels
(문자열 목록의 맵) SuggestedAgentMatcherLabels는 에이전트가 리소스에 일치시키는 데 사용할 레이블 집합입니다. 에이전트가 이 토큰을 사용할 때, 에이전트는 해당 레이블과 일치하는 리소스를 모니터링해야 합니다. 데이터베이스의 경우, 이는 레이블을db_service.resources.labels
에 추가해야 함을 의미합니다. 현재는 노드 조인 스크립트만 제안에 따라 구성을 생성합니다.suggested_labels
(문자열 목록의 맵) SuggestedLabels는 이 토큰을 사용하여 클러스터에 등록할 때 리소스가 설정해야 하는 레이블 집합입니다. 현재는 노드 조인 스크립트만 제안에 따라 구성을 생성합니다.terraform_cloud
(속성) TerraformCloud는 "terraform_cloud" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).tpm
(속성) TPM은 "tpm" 조인 방법에 특정한 옵션의 구성을 허용합니다. (아래의 중첩 스키마 참조).
spec.allow
을 위한 중첩 스키마
선택 사항:
aws_account
(문자열) AWSAccount는 AWS 계정 ID입니다.aws_arn
(문자열) AWSARN은 IAM 조인 방법에 사용되며, 조인 노드의 AWS ID는 이 ARN과 일치해야 합니다. 와일드카드 "*" 및 "?"를 지원합니다.aws_regions
(문자열 목록) AWSRegions는 EC2 조인 방법에 사용되며, 노드가 조인할 수 있는 AWS 지역의 목록입니다.aws_role
(문자열) AWSRole은 EC2 조인 방법에 사용되며, Auth 서비스가 ec2 API를 호출하기 위해 수락할 AWS 역할의 ARN입니다.
spec.azure
을 위한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (중첩 스키마에 대한 내용은 아래를 참조하십시오.)
spec.azure.allow
을 위한 중첩 스키마
선택 사항:
resource_groups
(문자열 목록) ResourceGroups는 노드가 조인할 수 있는 Azure 리소스 그룹의 목록입니다.subscription
(문자열) Subscription은 Azure 구독입니다.
spec.circleci
을 위한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 TokenRules 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (중첩 스키마에 대한 내용은 아래를 참조하십시오.)organization_id
(문자열)
spec.circleci.allow
을 위한 중첩 스키마
선택 사항:
context_id
(문자열)project_id
(문자열)
spec.gcp
을 위한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (중첩 스키마에 대한 내용은 아래를 참조하십시오.)
spec.gcp.allow
을 위한 중첩 스키마
선택 사항:
locations
(문자열 목록) Locations는 지역(예: "us-west1") 및/또는 존(예: "us-west1-b")의 목록입니다.project_ids
(문자열 목록) ProjectIDs는 프로젝트 ID의 목록입니다(예:<example-id-123456>
).service_accounts
(문자열 목록) ServiceAccounts는 서비스 계정 이메일의 목록입니다(예:<project-number>-compute@developer.gserviceaccount.com
).
spec.github
을 위한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 TokenRules 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (중첩 스키마에 대한 내용은 아래를 참조하십시오.)enterprise_server_host
(문자열) EnterpriseServerHost는 GitHub Enterprise Server 인스턴스와 연결된 러너에서 조인을 허용합니다. 설정하지 않으면 토큰은 github.com에 대해 검증되지만, GHES 인스턴스의 호스트에 대해 설정되면 토큰은 호스트에 대해 검증됩니다. 이 값은 GHES 인스턴스의 호스트 이름여야 하며, 스킴이나 경로는 포함되지 않아야 합니다. 이 호스트 이름에서 HTTPS를 통해 접근 가능해야 하며, 인증서는 Auth 서비스에 의해 신뢰받아야 합니다.enterprise_slug
(문자열) EnterpriseSlug는 기대되는 OIDC 토큰의 발급자에 GitHub Enterprise 조직의 슬러그가 포함될 수 있도록 합니다. 이는 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
(문자열) 워크플로우 실행을 시작한 개인 계정.environment
(문자열) 작업에서 사용되는 환경의 이름.ref
(문자열) 워크플로우 실행을 트리거한 git 참조.ref_type
(문자열) 참조의 유형, 예: "branch".repository
(문자열) 워크플로우가 실행되고 있는 리포지토리. 소유자 이름이 포함됩니다. 예:gravitational/teleport
repository_owner
(문자열) 리포지토리가 저장된 조직의 이름.sub
(문자열) Sub는 주로 작업을 고유하게 식별하는 문자열입니다. 이 형식은 github action 실행의 유형에 따라 다릅니다.workflow
(문자열) 워크플로우의 이름.
spec.gitlab
에 대한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 TokenRules의 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. (아래의 중첩 스키마를 참조하세요)domain
(문자열) Domain은 GitLab 인스턴스의 도메인입니다. 기본값은gitlab.com
이며, 자체 호스팅된 GitLab의 도메인으로 설정할 수 있습니다. 예:gitlab.example.com
.
spec.gitlab.allow
에 대한 중첩 스키마
선택 사항:
ci_config_ref_uri
(문자열) CIConfigRefURI는 최상위 파이프라인 정의에 대한 참조 경로입니다. 예: gitlab.example.com/my-group/my-project//.gitlab-ci.yml@refs/heads/main.ci_config_sha
(문자열) CIConfigSHA는 ci_config_ref_uri에 대한 git 커밋 SHA입니다.deployment_tier
(문자열) DeploymentTier는 작업이 지정하는 환경의 배포 계층입니다.environment
(문자열) 환경은 작업이 배포되는 환경에 따라 액세스를 제한합니다(연관된 경우).environment_protected
(부울) EnvironmentProtected는 Git 참조가 보호되면 true, 그렇지 않으면 false입니다.namespace_path
(문자열) NamespacePath는 그룹 또는 사용자 프로젝트의 작업에 대한 액세스를 제한하는 데 사용됩니다. 예:mygroup
이 필드는 "글로벌 스타일" 일치를 지원합니다: - '*'를 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 단일 문자와 일치시킵니다.pipeline_source
(문자열) PipelineSource는 작업 파이프라인 소스 유형에 따라 액세스를 제한합니다. https://docs.gitlab.com/ee/ci/jobs/job_control.html#common-if-clauses-for-rules 예:web
project_path
(문자열) ProjectPath는 개별 프로젝트에 속하는 작업에 대한 액세스를 제한하는 데 사용됩니다. 예:mygroup/myproject
이 필드는 "글로벌 스타일" 일치를 지원합니다: - '*'를 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 단일 문자와 일치시킵니다.project_visibility
(문자열) ProjectVisibility는 파이프라인이 실행되고 있는 프로젝트의 가시성입니다. 내부, 비공개 또는 공개일 수 있습니다.ref
(문자열) Ref는 특정 git 참조에 의해 트리거된 작업으로 액세스를 제한하도록 허용합니다. ref_type과 함께 사용하는 것이 중요합니다. 이 필드는 "글로벌 스타일" 일치를 지원합니다: - '*'를 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 단일 문자와 일치시킵니다.ref_protected
(부울) RefProtected는 Git 참조가 보호되면 true, 그렇지 않으면 false입니다.ref_type
(문자열) RefType은 특정 git 참조 유형에 의해 트리거된 작업으로 액세스를 제한하도록 허용합니다. 예:branch
또는tag
sub
(문자열) Sub는 작업을 대략적으로 고유하게 식별합니다. 예:project_path:mygroup/my-project:ref_type:branch:ref:main
project_path:GROUP/PROJECT:ref_type:TYPE:ref:BRANCH_NAME 이 필드는 "글로벌 스타일" 일치를 지원합니다: - '*'를 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 단일 문자와 일치시킵니다.user_email
(문자열) UserEmail은 작업을 실행하는 사용자의 이메일입니다.user_id
(문자열) UserID는 작업을 실행하는 사용자의 ID입니다.user_login
(문자열) UserLogin은 작업을 실행하는 사용자의 사용자 이름입니다.
spec.kubernetes
에 대한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. (중첩 스키마에 대한 아래를 참조하십시오)static_jwks
(속성) StaticJWKS는static_jwks
유형에 특정한 구성입니다. (중첩 스키마에 대한 아래를 참조하십시오)type
(문자열) Type은 Kubernetes 서비스 계정 토큰을 검증하는 데 사용할 동작을 제어합니다. 지원되는 값: -in_cluster
-static_jwks
설정되지 않으면 기본값은in_cluster
입니다.
spec.kubernetes.allow
에 대한 중첩 스키마
선택 사항:
service_account
(문자열) ServiceAccount는 Kubernetes 서비스 계정의 네임스페이스 이름입니다. 형식은 "namespace:service-account"입니다.
spec.kubernetes.static_jwks
에 대한 중첩 스키마
선택 사항:
jwks
(문자열) JWKS는 Kubernetes 클러스터가 서비스 계정 토큰에 서명하는 데 사용하는 JSON 웹 키 세트 형식의 공개 키입니다. 이는 Kubernetes API 서버의 /openid/v1/jwks에서 가져올 수 있습니다.
spec.spacelift
에 대한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. (중첩 스키마에 대한 아래를 참조하십시오)hostname
(문자열) Hostname은 토큰이 생성될 Spacelift 테넌트의 호스트 이름입니다. 예:example.app.spacelift.io
spec.spacelift.allow
에 대한 중첩 스키마
선택 사항:
caller_id
(문자열) CallerID는 호출자의 ID입니다. 즉, 실행을 생성한 스택 또는 모듈입니다.caller_type
(문자열) CallerType은 호출자의 유형입니다. 즉, 실행을 소유하는 엔터티로stack
또는module
입니다.scope
(문자열) Scope는 토큰의 범위입니다.read
또는write
중 하나입니다. https://docs.spacelift.io/integrations/cloud-providers/oidc/#about-scopes를 참조하십시오.space_id
(문자열) SpaceID는 토큰을 소유하는 실행이 실행된 공간의 ID입니다.
spec.terraform_cloud
에 대한 중첩 스키마
선택 사항:
allow
(속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 allow 규칙과 일치해야 합니다. (중첩 스키마에 대한 아래를 참조하십시오)audience
(문자열) Audience는 Terraform Cloud의 TFCWORKLOAD_IDENTITY_AUDIENCE($TAG) 변수에 구성된 JWT 청중입니다. 설정되지 않으면 Teleport 클러스터 이름으로 기본값이 설정됩니다. 예를 들어, Terraform Cloud에서TFC_WORKLOAD_IDENTITY_AUDIENCE_TELEPORT=foo
가 설정된 경우, 이 값은foo
여야 합니다. 변수의 값이 클러스터 이름과 일치하도록 설정된 경우, 여기에서 설정할 필요가 없습니다.hostname
(문자열) Hostname은 이 토큰에서 허용될 JWT를 발급할 것으로 예상되는 Terraform Enterprise 인스턴스의 호스트 이름입니다. 일반 Terraform Cloud 사용의 경우 설정되지 않을 수 있으며, 이 경우app.terraform.io
로 가정됩니다. 그렇지 않으면 JWT에 포함된iss
(발급자) 필드와 일치해야 하며, 표준 JWKS 엔드포인트를 제공해야 합니다.
spec.terraform_cloud.allow
에 대한 중첩 스키마
선택 사항:
organization_id
(String) OrganizationID는 HCP Terraform 조직의 ID입니다. 적어도 하나의 조직 값이 필요하며, ID 또는 이름 중 하나여야 합니다.organization_name
(String) OrganizationName은 HCP Terraform 조직의 사람이 읽을 수 있는 이름입니다. 적어도 하나의 조직 값이 필요하며, ID 또는 이름 중 하나여야 합니다.project_id
(String) ProjectID는 HCP Terraform 프로젝트의 ID입니다. 적어도 하나의 프로젝트 또는 작업 공간 값이 필요하며, ID 또는 이름 중 하나여야 합니다.project_name
(String) ProjectName은 HCP Terraform 프로젝트의 사람이 읽을 수 있는 이름입니다. 적어도 하나의 프로젝트 또는 작업 공간 값이 필요하며, ID 또는 이름 중 하나여야 합니다.run_phase
(String) RunPhase는 토큰이 발급된 실행의 단계로, 예:plan
또는apply
workspace_id
(String) WorkspaceID는 HCP Terraform 작업 공간의 ID입니다. 적어도 하나의 프로젝트 또는 작업 공간 값이 필요하며, ID 또는 이름 중 하나여야 합니다.workspace_name
(String) WorkspaceName은 HCP Terraform 작업 공간의 사람이 읽을 수 있는 이름입니다. 적어도 하나의 프로젝트 또는 작업 공간 값이 필요하며, ID 또는 이름 중 하나여야 합니다.
spec.tpm
에 대한 중첩 스키마
선택 사항:
allow
(Attributes List) Allow는 규칙 목록으로, 제시된 위임된 신원은 조인을 허용하기 위해 하나의 allow 규칙과 일치해야 합니다. (아래의 중첩 스키마 참조)ekcert_allowed_cas
(List of String) EKCertAllowedCAs는 TPM EKCert를 검증하는 데 사용될 CA 인증서 목록입니다. 지정된 경우 조인하는 TPM은指定된 CA 중 하나에 의해 서명된 EKCert를 제시해야 합니다. EKCert를 제시하지 않는 TPM은 조인을 허용하지 않습니다. 지정되지 않은 경우, TPM은 EKCert 또는 EKPubHash 중 하나로 조인할 수 있습니다.
spec.tpm.allow
에 대한 중첩 스키마
선택 사항:
description
(String) Description은 규칙의 사람이 읽을 수 있는 설명입니다. TPM이 조인할 수 있는 여부와는 관계가 없지만, 특정 호스트(예: TPM이 위치한 서버의 자산 태그)와 규칙을 연관짓는 데 사용될 수 있습니다. 예: "build-server-100"ek_certificate_serial
(String) EKCertificateSerial은 16진수로 된 EKCert의 일련 번호로, 콜론으로 구분된 nibble입니다. 이 값은 TPM에 EKCert가 구성되지 않은 경우 확인되지 않습니다. 예: 73:df:dc:bd:af:ef:8a:d8:15:2e:96:71:7a:3e:7f:a4ek_public_hash
(String) EKPublicHash는 PKIX 형식으로 마샬링된 EKPub의 SHA256 해시 및 16진수로 인코딩된 값입니다. 이 값은 TPM이 EKCert를 제출한 경우에도 확인되며, EKCert의 공개 키가 이 확인에 사용됩니다. 예: d4b45864d9d6fabfc568d74f26c35ababde2105337d7af9a6605e1c56c891aa6
metadata
에 대한 중첩 스키마
선택 사항:
description
(String) Description은 객체 설명입니다.expires
(String) Expires는 시스템의 모든 리소스에 설정될 수 있는 전역 만료 시간 머리글입니다.labels
(Map of String) Labels는 레이블 집합입니다.name
(String, Sensitive) Name은 객체 이름입니다.