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의 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (하위 스키마는 아래를 참조하세요)
  • aws_iid_ttl (문자열) AWSIIDTTL은 이 토큰을 사용하여 클러스터에 가입하는 데 사용되는 AWS EC2 인스턴스 ID 문서의 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 (문자열 목록의 맵)
  • suggested_labels (문자열 목록의 맵)
  • tpm (속성) TPM은 "tpm" 가입 방법에 특화된 옵션 구성을 허용합니다. (하위 스키마는 아래를 참조하세요)

spec.allow에 대한 중첩 스키마

선택 사항:

  • aws_account (문자열) AWSAccount는 AWS 계정 ID입니다.
  • aws_arn (문자열) AWSARN은 IAM 가입 방법에 사용되며, 가입 노드의 AWS 신원이 이 ARN과 일치해야 합니다. 와일드카드 "*" 및 "?"를 지원합니다.
  • aws_regions (문자열 목록) AWSRegions는 EC2 가입 방법에 사용되며, 노드가 가입할 수 있는 AWS 지역의 목록입니다.
  • aws_role (문자열) AWSRole은 EC2 가입 방법에 사용되며, 인증 서버가 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의 목록입니다 (예: <예시-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에서 접근 가능해야 하며 인증서는 인증 서버에 의해 신뢰되어야 합니다.
  • enterprise_slug (문자열) EnterpriseSlug는 OIDC 토큰의 예상 발급자에 GitHub Enterprise 조직의 slug를 포함하도록 허용합니다. 이는 GHE의 include_enterprise_slug 옵션과의 호환성을 위해 필요합니다. 이 필드는 활성화된 경우 기업의 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 (문자열) Subject로도 알려지는 Sub는 대략적으로 워크로드를 고유하게 식별하는 문자열입니다. 이 형식은 github 액션 실행의 종류에 따라 다릅니다.
  • workflow (문자열) 워크플로우의 이름입니다.

spec.gitlab에 대한 중첩 스키마

선택 사항:

  • allow (속성 목록) Allow는 TokenRules의 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (하위 스키마는 아래를 참조하세요)
  • domain (문자열) Domain은 GitLab 인스턴스의 도메인입니다. 기본값은 gitlab.com이지만, self-hosted 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 (문자열) 환경 제한은 작업이 배포되는 환경에 의해 제한됩니다 (associated된 경우).
  • environment_protected (부울)
  • namespace_path (문자열) NamespacePath는 그룹이나 사용자의 프로젝트에서 작업에 대한 액세스를 제한하는 데 사용됩니다. 예: mygroup 이 필드는 단순한 "glob-style" 매칭을 지원합니다: - '*'을 사용하여 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 이 필드는 단순한 "glob-style" 매칭을 지원합니다: - '*'을 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 모든 단일 문자와 일치시킵니다.
  • project_visibility (문자열) ProjectVisibility는 파이프라인이 실행되는 프로젝트의 가시성입니다. 내부, 비공개 또는 공개일 수 있습니다.
  • ref (문자열) Ref는 특정 git 참조에 의해 트리거된 작업으로 제한할 수 있도록 허용합니다. ref_type과 함께 사용해야 합니다. 이 필드는 단순한 "glob-style" 매칭을 지원합니다: - '*'을 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 모든 단일 문자와 일치시킵니다.
  • ref_protected (부울)
  • 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 이 필드는 단순한 "glob-style" 매칭을 지원합니다: - '*'을 사용하여 0개 이상의 문자와 일치시킵니다. - '?'를 사용하여 모든 단일 문자와 일치시킵니다.
  • user_email (문자열) UserEmail은 작업을 실행하는 사용자의 이메일입니다.
  • user_id (문자열) UserID는 작업을 실행하는 사용자의 ID입니다.
  • user_login (문자열) UserLogin은 작업을 실행하는 사용자의 사용자 이름입니다.

spec.kubernetes에 대한 중첩 스키마

선택 사항:

  • 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는 규칙의 목록으로, 이 토큰을 사용하는 노드는 이 토큰을 사용하기 위해 하나의 허용 규칙과 일치해야 합니다. (하위 스키마는 아래를 참조하세요)
  • 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.tpm에 대한 중첩 스키마

선택 사항:

  • allow (속성 목록) Allow는 규칙의 목록으로, 제시된 위임된 신원이 하나의 허용 규칙과 일치해야 가입을 허용합니다. (하위 스키마는 아래를 참조하세요)
  • ekcert_allowed_cas (문자열 목록) EKCertAllowedCAs는 TPM EKCert를 검증하는 데 사용될 CA 인증서의 목록입니다. 지정된 경우, 가입하는 TPM은 지정된 CA 중 하나에 의해 서명된 EKCert를 제출해야 합니다. EKCert가 제출되지 않은 TPM은 가입할 수 없습니다. 지정되지 않은 경우, EKCert 또는 EKPubHash가 있는 TPM이 가입할 수 있습니다.

spec.tpm.allow에 대한 중첩 스키마

선택 사항:

  • description (문자열) Description은 규칙에 대한 사람이 읽을 수 있는 설명입니다. 이는 TPM이 가입하는지 여부에 영향을 미치지 않지만 특정 호스트와 규칙을 연결하는 데 사용될 수 있습니다 (예: TPM이 있는 서버의 자산 태그). 예: "build-server-100"
  • ek_certificate_serial (문자열) EKCertificateSerial은 16진수로 알려진 EKCert의 일련 번호로, ':'로 구분된 nibbles로 구성되어 있습니다. TPM에 EKCert가 구성되지 않은 경우 이 값은 확인되지 않습니다. 예: 73:df:dc:bd:af:ef:8a:d8:15:2e:96:71:7a:3e:7f:a4
  • ek_public_hash (문자열) EKPublicHash는 PKIX 형식으로 직렬화되고 16진수로 인코딩된 EKPub의 SHA256 해시입니다. TPM이 EKCert를 제출한 경우 이 값도 확인됩니다. EKCert의 공개 키는 이 검사를 위해 사용됩니다. 예: d4b45864d9d6fabfc568d74f26c35ababde2105337d7af9a6605e1c56c891aa6

metadata에 대한 중첩 스키마

선택 사항:

  • description (문자열) Description은 객체 설명입니다.
  • expires (문자열) Expires는 시스템의 모든 리소스에 설정할 수 있는 글로벌 만료 시간 헤더입니다.
  • labels (문자열의 맵) Labels는 한 세트의 레이블입니다.
  • name (문자열, 민감한 정보) 이름은 객체의 이름입니다.
Teleport 원문 보기