Infograb logo
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:a4
  • ek_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은 객체 이름입니다.
Teleport 원문 보기