InfoGrab Docs

teleport_provision_token Terraform 리소스 참조

이 페이지는 Teleport Terraform 프로바이더의 teleport_provision_token 리소스에서 지원되는 값을 설명합니다.

사용 예시#

# Teleport Provision Token resource

resource "teleport_provision_token" "example" {
  version = "v2"
  metadata = {
    expires     = "2022-10-12T07:20:51Z"
    description = "Example token"

    labels = {
      example               = "yes"
      "teleport.dev/origin" = "dynamic" // This label is added on Teleport side by default
    }
  }

  spec = {
    roles = ["Node", "Auth"]
  }
}

resource "teleport_provision_token" "iam-token" {
  version = "v2"
  metadata = {
    name = "iam-token"
  }
  spec = {
    roles       = ["Bot"]
    bot_name    = "mybot"
    join_method = "iam"
    allow = [{
      aws_account = "123456789012"
    }]
  }
}

스키마#

필수#

  • spec (속성) Spec은 프로비저닝 토큰 V2 스펙입니다. (아래 중첩 스키마 참조)
  • version (문자열) Version은 리소스 버전입니다. 반드시 지정해야 합니다. 지원되는 값: v2.

선택#

  • metadata (속성) Metadata는 리소스 메타데이터입니다. (아래 중첩 스키마 참조)
  • status (속성) Status는 토큰 유형에 따른 확장 상태 정보입니다. 사용자가 작성할 수 없습니다. (아래 중첩 스키마 참조)
  • sub_kind (문자열) SubKind는 일부 리소스에서 사용되는 선택적 리소스 하위 종류입니다.

spec에 대한 중첩 스키마#

필수:

  • roles (문자열 목록) Roles는 토큰과 연결된 역할 목록으로, 토큰 사용자에게 발행된 SSH 및 X509 인증서의 메타데이터로 변환됩니다.

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • aws_iid_ttl (문자열) AWSIIDTTL은 이 토큰으로 클러스터에 참여하는 데 사용되는 AWS EC2 인스턴스 ID 문서의 TTL입니다.
  • azure (속성) Azure는 "azure" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • azure_devops (속성) AzureDevops는 "azure_devops" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • bitbucket (속성) Bitbucket은 "bitbucket" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • bot_name (문자열) BotName은 이 토큰이 액세스를 부여하는 봇의 이름입니다(있는 경우).
  • bound_keypair (속성) BoundKeypair는 "bound_keypair" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • circleci (속성) CircleCI는 "circleci" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • env0 (속성) Env0은 "env0" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • gcp (속성) GCP는 "gcp" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • github (속성) GitHub는 "github" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • gitlab (속성) GitLab은 "gitlab" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • integration (문자열) Integration 이름은 조인 시도 유효성 검사를 위한 자격 증명을 제공합니다. 현재 IAM 조인 메서드에서 AWS 조직 ID 유효성 검사에만 사용됩니다.
  • join_method (문자열) JoinMethod는 이 토큰을 사용하기 위해 필요한 조인 메서드입니다. 지원되는 조인 메서드: azure, circleci, ec2, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm
  • kubernetes (속성) Kubernetes는 "kubernetes" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • oracle (속성) Oracle은 "oracle" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • 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_organization_id (문자열) AWSOrganizationID는 IAM 조인 메서드에 사용되며, 조인 노드의 AWS ID는 이 조직에 속해야 합니다.
  • aws_regions (문자열 목록) AWSRegions는 EC2 조인 메서드에 사용되며 노드가 참여할 수 있는 AWS 리전 목록입니다.
  • aws_role (문자열) AWSRole은 EC2 조인 메서드에 사용되며 Auth Service가 ec2 API를 호출하기 위해 사용할 AWS 역할의 ARN입니다.

spec.azure에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)

spec.azure.allow에 대한 중첩 스키마#

선택:

  • resource_groups (문자열 목록) ResourceGroups는 노드가 참여할 수 있는 Azure 리소스 그룹 목록입니다.
  • subscription (문자열) Subscription은 Azure 구독입니다.

spec.azure_devops에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나 이상의 허용 규칙을 충족해야 합니다. 최소 하나의 허용 규칙이 지정되어야 합니다. (아래 중첩 스키마 참조)
  • organization_id (문자열) OrganizationID는 이 조인 토큰이 액세스를 부여할 Azure DevOps 조직의 UUID를 지정합니다. ID 토큰의 올바른 발급자 확인을 식별하는 데 사용됩니다. 필수 필드입니다.

spec.azure_devops.allow에 대한 중첩 스키마#

선택:

  • definition_id (문자열) AZDO 파이프라인 정의의 ID입니다. 예: 1. def_id 클레임에서 매핑됩니다.
  • pipeline_name (문자열) AZDO 파이프라인의 이름입니다. 예: my-pipeline. sub 클레임에서 추출됩니다.
  • project_id (문자열) AZDO 파이프라인의 ID입니다. 예: 271ef6f7-0000-0000-0000-4b54d9129990. prj_id 클레임에서 매핑됩니다.
  • project_name (문자열) AZDO 프로젝트의 이름입니다. 예: my-project. sub 클레임에서 추출됩니다.
  • repository_ref (문자열) 파이프라인이 사용하는 저장소의 참조입니다. 예: refs/heads/main. rpo_ref 클레임에서 매핑됩니다.
  • repository_uri (문자열) 파이프라인이 사용하는 저장소의 URI입니다. 예: https://github.com/gravitational/teleport.git. rpo_uri 클레임에서 매핑됩니다.
  • repository_version (문자열) 파이프라인이 사용하는 저장소의 개별 커밋입니다. 예: e6b9eb29a288b27a3a82cc19c48b9d94b80aff36. rpo_ver 클레임에서 매핑됩니다.
  • sub (문자열) Sub(Subject)는 워크로드를 대략적으로 고유하게 식별하는 문자열입니다. 예: p://my-organization/my-project/my-pipeline. sub 클레임에서 매핑됩니다.

spec.bitbucket에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • audience (문자열) Audience는 이 토큰에 대해 Bitbucket이 지정한 audience 값입니다. 각 Bitbucket 저장소에 고유하며 저장소 설정의 Pipelines -> OpenID Connect 섹션에 작성된 값으로 설정해야 합니다.
  • identity_provider_url (문자열) IdentityProviderURL은 수신 OIDC 토큰에 대해 Bitbucket이 지정한 발급자 URL입니다. 각 Bitbucket 저장소에 고유하며 저장소 설정의 Pipelines -> OpenID Connect 섹션에 작성된 값으로 설정해야 합니다.

spec.bitbucket.allow에 대한 중첩 스키마#

선택:

  • branch_name (문자열) BranchName은 이 파이프라인이 실행된 브랜치 이름입니다.
  • deployment_environment_uuid (문자열) DeploymentEnvironmentUUID는 이 파이프라인 실행이 대상으로 하는 배포 환경의 UUID입니다(있는 경우). 이 값은 저장소 설정의 "Pipelines -> OpenID Connect -> Deployment environments" 섹션에서 찾을 수 있습니다.
  • repository_uuid (문자열) RepositoryUUID는 이 토큰이 발행된 저장소의 UUID입니다. Bitbucket UUID는 중괄호로 시작하고 끝나야 합니다. 예: {...}. 이 값은 저장소 설정의 Pipelines -> OpenID Connect 섹션에서 찾을 수 있습니다.
  • workspace_uuid (문자열) WorkspaceUUID는 이 토큰이 발행된 워크스페이스의 UUID입니다. Bitbucket UUID는 중괄호로 시작하고 끝나야 합니다. 예: {...}. 이 값은 저장소 설정의 Pipelines -> OpenID Connect 섹션에서 찾을 수 있습니다.

spec.bound_keypair에 대한 중첩 스키마#

선택:

  • onboarding (속성) Onboarding은 초기 온보딩 및 키페어 등록과 관련된 매개변수를 포함합니다. (아래 중첩 스키마 참조)
  • recovery (속성) Recovery는 ID 만료 후 복구와 관련된 매개변수를 포함합니다. (아래 중첩 스키마 참조)
  • rotate_after (문자열) RotateAfter는 주어진 날짜 이후의 다음 조인 또는 복구 시도에서 클라이언트가 키페어 교체를 수행하도록 강제하는 선택적 타임스탬프입니다. LastRotatedAt이 설정되지 않았거나 이 타임스탬프 이전이면 교체가 요청됩니다. 다음 조인 시도에서 교체를 트리거해야 하는 경우 이 값을 현재 타임스탬프로 설정하는 것이 좋습니다.

spec.bound_keypair.onboarding에 대한 중첩 스키마#

선택:

  • initial_public_key (문자열) InitialPublicKey는 tbot keypair create로 생성된 공개 키를 사전 등록하는 데 사용됩니다. 설정되면 초기 조인 시크릿이 생성되거나 사용 가능하게 되지 않으며, 클라이언트는 참여하기 위해 연결된 개인 키가 있어야 합니다. 설정된 경우 initial_join_secretmust_register_before가 무시됩니다. 이 값은 SSH authorized_keys 형식으로 작성됩니다.
  • must_register_before (문자열) MustRegisterBefore는 초기 조인 시크릿을 통한 등록이 수행되어야 하는 선택적 시간입니다. 이 타임스탬프 이후에 초기 조인 시크릿을 사용한 등록 시도는 허용되지 않습니다. 초기 등록이 이루어질 수 있도록 필요한 경우 생성 후 수정할 수 있습니다. initial_public_key가 설정된 경우 이 값은 무시됩니다.
  • registration_secret (문자열) RegistrationSecret은 조인 클라이언트가 처음 조인 시 공개 키를 등록하는 데 사용할 수 있는 시크릿으로, initial_public_key로 공개 키를 사전 등록하는 대신 사용할 수 있습니다. initial_public_key가 설정된 경우 이 값은 무시됩니다. 설정된 경우 이 값은 .status.bound_keypair.registration_secret을 채우는 데 사용됩니다. 설정되지 않고 initial_public_key가 제공되지 않으면 상태 필드를 채우기 위해 서버 측에서 무작위 보안 값이 생성됩니다.

spec.bound_keypair.recovery에 대한 중첩 스키마#

선택:

  • limit (숫자) Limit은 허용되는 최대 복구 시도 횟수입니다. 초기 한도가 소진된 경우 추가 복구 시도를 허용하기 위해 생성 후 이 값을 올리거나 낮출 수 있습니다. modestandard로 설정된 경우 .status.bound_keypair.recovery_count가 이 한도보다 낮은 경우에만 복구 시도가 허용됩니다. moderelaxed 또는 insecure로 설정된 경우 이 한도는 적용되지 않습니다. 온보딩 중 초기 조인을 포함하여 이 값은 최소 1이어야 합니다.
  • mode (문자열) Mode는 복구 규칙 적용 모드를 설정합니다. 다음 값 중 하나일 수 있습니다: - standard(또는 미설정): 모든 구성된 규칙이 적용됩니다. 복구 한도와 클라이언트 조인 상태가 필요하고 확인됩니다. 이것이 가장 안전한 복구 모드입니다. - relaxed: 복구 한도가 적용되지 않지만 클라이언트 조인 상태는 여전히 필요합니다. 이는 사실상 무제한 복구 시도를 허용하지만 클라이언트 조인 상태는 여전히 자격 증명 도용을 완화하는 데 도움이 됩니다. - insecure: 복구 한도와 클라이언트 조인 상태 모두 적용되지 않습니다. 이를 통해 개인 키가 있는 모든 클라이언트가 자유롭게 참여할 수 있습니다. 이는 덜 안전하지만 지원되지 않는 CI/CD 공급자와 같은 특정 상황에서 유용할 수 있습니다. 이 모드는 신중하게 사용해야 하며, RBAC 규칙은 이 ID가 액세스할 수 있는 리소스를 크게 제한하도록 구성해야 합니다.

spec.circleci에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • organization_id (문자열)

spec.circleci.allow에 대한 중첩 스키마#

선택:

  • context_id (문자열)
  • project_id (문자열)

spec.env0에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 작업은 토큰을 사용하기 위해 최소 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)

spec.env0.allow에 대한 중첩 스키마#

선택:

  • deployer_email (문자열) DeployerEmail은 배포를 트리거한 사람의 이메일로, Env0 OIDC 토큰의 deployerEmail에 해당합니다.
  • deployment_type (문자열) DeploymentType은 env0 배포 유형으로, "deploy", "destroy" 등입니다. Env0 OIDC 토큰의 deploymentType에 해당합니다.
  • env0_tag (문자열) Env0Tag는 ENV0_OIDC_TAG가 설정된 경우 env0Tag에 해당하는 사용자 지정 태그 값입니다.
  • environment_id (문자열) EnvironmentID는 Env0 환경의 고유 식별자로, Env0 OIDC 토큰의 environmentId에 해당합니다.
  • environment_name (문자열) EnvironmentName은 Env0 환경의 이름으로, Env0 OIDC 토큰의 environmentName에 해당합니다.
  • organization_id (문자열) OrganizationID는 고유한 조직 식별자로, Env0 OIDC 토큰의 organizationId에 해당합니다.
  • project_id (문자열) ProjectID는 고유한 프로젝트 식별자로, Env0 OIDC 토큰의 projectId에 해당합니다.
  • project_name (문자열) ProjectName은 작업이 실행된 프로젝트의 이름으로, Env0 OIDC 토큰의 projectName에 해당합니다.
  • template_id (문자열) TemplateID는 Env0 템플릿의 고유 식별자로, Env0 OIDC 토큰의 templateId에 해당합니다.
  • template_name (문자열) TemplateName은 Env0 템플릿의 이름으로, Env0 OIDC 토큰의 templateName에 해당합니다.
  • workspace_name (문자열) WorkspaceName은 Env0 워크스페이스의 이름으로, Env0 OIDC 토큰의 workspaceName에 해당합니다.

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는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • enterprise_server_host (문자열) EnterpriseServerHost는 GitHub Enterprise Server 인스턴스와 연결된 러너의 조인을 허용합니다. 구성되지 않으면 토큰은 github.com에 대해 유효성 검사되지만, GHES 인스턴스의 호스트로 구성된 경우 토큰이 해당 호스트에 대해 유효성 검사됩니다. 이 값은 GHES 인스턴스의 호스트 이름이어야 하며 스키마나 경로를 포함하지 않아야 합니다. 인스턴스는 이 호스트 이름으로 HTTPS를 통해 액세스 가능해야 하며 인증서는 Auth Service에서 신뢰해야 합니다.
  • enterprise_slug (문자열) EnterpriseSlug는 OIDC 토큰의 예상 발급자에 GitHub Enterprise 조직의 슬러그를 포함할 수 있습니다. 이는 GHE의 include_enterprise_slug 옵션과의 호환성을 위한 것입니다. 이 필드는 이것이 활성화된 경우 엔터프라이즈의 슬러그로 설정해야 합니다. 활성화되지 않은 경우 이 필드는 비워 두어야 합니다. enterprise_server_host가 지정된 경우 이 필드를 지정할 수 없습니다.
  • static_jwks (문자열) StaticJWKS는 JWKS/OIDC 엔드포인트를 통한 GHES 서명 키 가져오기를 비활성화하고 직접 지정할 수 있게 합니다. 이를 통해 Teleport Auth Service에서 연결할 수 없는 GHES 인스턴스의 GitHub Actions에서 참여할 수 있습니다.

spec.github.allow에 대한 중첩 스키마#

선택:

  • actor (문자열) 워크플로 실행을 시작한 개인 계정입니다.
  • environment (문자열) 작업에 사용된 환경의 이름입니다.
  • ref (문자열) 워크플로 실행을 트리거한 git ref입니다.
  • ref_type (문자열) ref의 유형으로, 예: "branch".
  • repository (문자열) 워크플로가 실행되는 저장소입니다. 소유자 이름을 포함합니다. 예: gravitational/teleport
  • repository_owner (문자열) 저장소가 저장된 조직의 이름입니다.
  • sub (문자열) Sub(Subject)는 워크로드를 대략적으로 고유하게 식별하는 문자열입니다. 형식은 github action 실행 유형에 따라 다릅니다.
  • workflow (문자열) 워크플로의 이름입니다.

spec.gitlab에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • domain (문자열) Domain은 GitLab 인스턴스의 도메인입니다. 기본값은 gitlab.com이지만 자체 호스팅 GitLab의 도메인으로 설정할 수 있습니다. 예: gitlab.example.com.
  • static_jwks (문자열) StaticJWKS는 JWKS/OIDC 엔드포인트를 통한 GitLab 서명 키 가져오기를 비활성화하고 직접 지정할 수 있게 합니다. 이를 통해 Teleport Auth Service에서 연결할 수 없는 GitLab CI 인스턴스에서 참여할 수 있습니다.

spec.gitlab.allow에 대한 중첩 스키마#

선택:

  • ci_config_ref_uri (문자열) CIConfigRefURI는 최상위 파이프라인 정의에 대한 ref 경로입니다. 예: 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는 작업이 배포하는 환경으로 액세스를 제한합니다(연결된 경우).
  • environment_protected (불리언) EnvironmentProtected는 Git ref가 보호된 경우 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. 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • project_visibility (문자열) ProjectVisibility는 파이프라인이 실행되는 프로젝트의 가시성입니다. internal, private, public일 수 있습니다.
  • ref (문자열) Ref는 특정 git ref에 의해 트리거된 작업으로 액세스를 제한할 수 있습니다. ref_type과 함께 사용하세요. 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • ref_protected (불리언) RefProtected는 Git ref가 보호된 경우 true, 그렇지 않으면 false입니다.
  • ref_type (문자열) RefType은 특정 git ref 유형에 의해 트리거된 작업으로 액세스를 제한할 수 있습니다. 예: branch 또는 tag
  • sub (문자열) Sub는 워크로드를 대략적으로 고유하게 식별합니다. 예: project_path:mygroup/my-project:ref_type:branch:ref:main. 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • user_email (문자열) UserEmail은 작업을 실행하는 사용자의 이메일입니다.
  • user_id (문자열) UserID는 작업을 실행하는 사용자의 ID입니다.
  • user_login (문자열) UserLogin은 작업을 실행하는 사용자의 사용자 이름입니다.

spec.kubernetes에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • oidc (속성) OIDCConfig는 oidc 유형을 구성합니다. (아래 중첩 스키마 참조)
  • static_jwks (속성) StaticJWKS는 static_jwks 유형에 특정한 구성입니다. (아래 중첩 스키마 참조)
  • type (문자열) Type은 Kubernetes 서비스 계정 토큰 유효성 검사에 사용되는 동작을 제어합니다. 지원 값: - in_cluster - static_jwks - oidc. 설정되지 않으면 기본값은 in_cluster입니다.

spec.kubernetes.allow에 대한 중첩 스키마#

선택:

  • service_account (문자열) ServiceAccount는 Kubernetes 서비스 계정의 네임스페이스 이름입니다. 형식은 "namespace:service-account"입니다.

spec.kubernetes.oidc에 대한 중첩 스키마#

선택:

  • insecure_allow_http_issuer (불리언) InsecureAllowHTTPIssuer는 설정된 경우 발급자가 HTTPS를 사용해야 한다는 요구 사항을 비활성화하는 플래그입니다.
  • issuer (문자열) Issuer는 OIDC 발급자의 URI입니다. 액세스 가능하고 OIDC를 준수하는 /.well-known/oidc-configuration 엔드포인트가 있어야 합니다. 유효한 URL이어야 하며 서비스 계정 JWT의 issuer 필드와 정확히 일치해야 합니다.

spec.kubernetes.static_jwks에 대한 중첩 스키마#

선택:

  • jwks (문자열) JWKS는 Kubernetes 클러스터가 서비스 계정 토큰에 서명하는 데 사용하는 공개 키의 JSON Web Key Set 형식이어야 합니다. Kubernetes API 서버의 /openid/v1/jwks에서 가져올 수 있습니다.

spec.oracle에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)

spec.oracle.allow에 대한 중첩 스키마#

선택:

  • instances (문자열 목록) Instances는 참여할 수 있는 특정 인스턴스의 OCID 목록입니다. 비어 있으면 다른 필드와 일치하는 모든 인스턴스가 허용됩니다. 규칙당 100개의 인스턴스 OCID로 제한됩니다.
  • parent_compartments (문자열 목록) ParentCompartments는 인스턴스가 참여할 수 있는 구획의 OCID 목록입니다. 직접 상위만 허용됩니다. 즉, 중첩 구획은 허용되지 않습니다. 비어 있으면 모든 구획이 허용됩니다.
  • regions (문자열 목록) Regions는 인스턴스가 참여할 수 있는 지역 목록입니다. 전체 지역 이름("us-phoenix-1")과 약어("phx") 모두 허용됩니다. 비어 있으면 모든 지역이 허용됩니다.
  • tenancy (문자열) Tenancy는 인스턴스 테넌시의 OCID입니다. 필수입니다.

spec.spacelift에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • enable_glob_matching (불리언) EnableGlobMatching은 규칙의 space_id 및 caller_id 필드에 대한 글로브 스타일 매칭을 활성화합니다.
  • hostname (문자열) Hostname은 토큰이 발행될 Spacelift 테넌트의 호스트 이름입니다. 예: example.app.spacelift.io

spec.spacelift.allow에 대한 중첩 스키마#

선택:

  • caller_id (문자열) CallerID는 호출자의 ID입니다. 즉, 실행을 생성한 스택 또는 모듈입니다. enable_glob_matching이 true인 경우 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • caller_type (문자열) CallerType은 호출자의 유형입니다. 즉, 실행을 소유하는 엔티티입니다. stack 또는 module입니다.
  • scope (문자열) Scope는 토큰의 범위입니다. read 또는 write입니다. https://docs.spacelift.io/integrations/cloud-providers/oidc/#about-scopes 참조
  • space_id (문자열) SpaceID는 토큰을 소유한 실행이 실행된 공간의 ID입니다. enable_glob_matching이 true인 경우 이 필드는 "글로브 스타일" 매칭을 지원합니다.

spec.terraform_cloud에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • audience (문자열) Audience는 Terraform Cloud의 TFC_WORKLOAD_IDENTITY_AUDIENCE(_$TAG) 변수에서 구성된 JWT audience입니다. 설정되지 않으면 기본값은 Teleport 클러스터 이름입니다.
  • hostname (문자열) Hostname은 이 토큰에 의해 허용되는 JWT를 발행할 것으로 예상되는 Terraform Enterprise 인스턴스의 호스트 이름입니다. 일반 Terraform Cloud 사용의 경우 설정하지 않을 수 있으며, 이 경우 app.terraform.io로 가정됩니다.

spec.terraform_cloud.allow에 대한 중첩 스키마#

선택:

  • organization_id (문자열) OrganizationID는 HCP Terraform 조직의 ID입니다. 최소 하나의 조직 값(ID 또는 이름)이 필요합니다.
  • organization_name (문자열) OrganizationName은 HCP Terraform 조직의 사람이 읽을 수 있는 이름입니다. 최소 하나의 조직 값(ID 또는 이름)이 필요합니다.
  • project_id (문자열) ProjectID는 HCP Terraform 프로젝트의 ID입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.
  • project_name (문자열) ProjectName은 HCP Terraform 프로젝트의 사람이 읽을 수 있는 이름입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.
  • run_phase (문자열) RunPhase는 토큰이 발행된 실행 단계입니다. 예: plan 또는 apply
  • workspace_id (문자열) WorkspaceID는 HCP Terraform 워크스페이스의 ID입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.
  • workspace_name (문자열) WorkspaceName은 HCP Terraform 워크스페이스의 사람이 읽을 수 있는 이름입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.

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

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 제시된 위임 ID는 참여가 허용되기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • ekcert_allowed_cas (문자열 목록) EKCertAllowedCAs는 TPM EKCert 유효성 검사에 사용될 CA 인증서 목록입니다. 지정된 경우 참여하는 TPM은 지정된 CA 중 하나가 서명한 EKCert를 제시해야 합니다. EKCert를 제시하지 않는 TPM은 참여가 허용되지 않습니다. 지정되지 않으면 TPM은 EKCert 또는 EKPubHash를 사용하여 참여할 수 있습니다.

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

선택:

  • description (문자열) Description은 규칙의 사람이 읽을 수 있는 설명입니다. TPM의 참여 허용 여부에 영향을 미치지 않지만 규칙을 특정 호스트(예: TPM이 있는 서버의 자산 태그)와 연결하는 데 사용할 수 있습니다. 예: "build-server-100"
  • ek_certificate_serial (문자열) EKCertificateSerial은 콜론으로 구분된 니블의 16진수로 표시된 EKCert의 일련 번호입니다. 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 (문자열, 민감) Name은 객체 이름입니다.

status에 대한 중첩 스키마#

선택:

  • bound_keypair (속성) BoundKeypair는 bound_keypair 유형 토큰과 관련된 상태 정보를 포함합니다. (아래 중첩 스키마 참조)

status.bound_keypair에 대한 중첩 스키마#

선택:

  • bound_bot_instance_id (문자열) BoundBotInstanceID는 현재 연결된 봇 인스턴스의 ID입니다. 각 조인 시 새 봇 인스턴스가 발행됩니다. 새 봇 인스턴스에는 이 값(있는 경우)으로 설정된 previous_bot_instance가 있습니다.
  • bound_public_key (문자열) BoundPublicKey는 현재 바인딩된 공개 키를 포함합니다. .spec.bound_keypair.onboarding.initial_public_key가 설정된 경우 생성 시 해당 값이 여기에 복사됩니다. 그렇지 않으면 공개 키 등록 과정의 일부로 채워집니다. 키페어 교체가 이루어지면 시간이 지남에 따라 이 값이 업데이트되며 항상 현재 신뢰할 수 있는 공개 키를 반영합니다. 이 값은 SSH authorized_keys 형식으로 작성됩니다.
  • last_recovered_at (문자열) LastRecoveredAt은 마지막으로 성공적인 복구 시도의 타임스탬프를 포함합니다. 유효한 클라이언트 인증서를 사용한 일반 갱신은 복구 시도로 계산되지 않지만 온보딩 중 초기 조인은 계산됩니다. 이는 bound_bot_instance_id가 마지막으로 업데이트된 시간에 해당합니다.
  • last_rotated_at (문자열) LastRotatedAt은 키페어가 마지막으로 교체된 시간의 타임스탬프를 포함합니다(있는 경우). 초기 조인 시에는 설정되지 않습니다.
  • recovery_count (숫자) RecoveryCount는 이 토큰을 사용하여 수행된 총 복구 횟수입니다. 모든 성공적인 조인 또는 재조인에 대해 증가합니다. 이 값이 .spec.bound_keypair.recovery.limit보다 낮거나 복구 모드가 relaxed 또는 insecure인 경우에만 복구가 허용됩니다.
  • registration_secret (문자열) RegistrationSecret은 공개 키가 사전 등록되지 않은 경우 초기 조인 과정에서 공개 키 등록에 사용할 수 있는 시크릿 값을 포함합니다. .spec.bound_keypair.onboarding.initial_public_key가 설정된 경우 이 필드는 비어 있습니다. 그렇지 않으면 .spec.bound_keypair.onboarding.registration_secret이 설정된 경우 해당 값이 여기에 복사됩니다. 해당 필드가 설정되지 않으면 값이 무작위로 생성됩니다.

teleport_provision_token Terraform 리소스 참조

원문 보기

이 페이지는 Teleport Terraform 프로바이더의 teleport_provision_token 리소스에서 지원되는 값을 설명합니다.

사용 예시#

# Teleport Provision Token resource

resource "teleport_provision_token" "example" {
  version = "v2"
  metadata = {
    expires     = "2022-10-12T07:20:51Z"
    description = "Example token"

    labels = {
      example               = "yes"
      "teleport.dev/origin" = "dynamic" // This label is added on Teleport side by default
    }
  }

  spec = {
    roles = ["Node", "Auth"]
  }
}

resource "teleport_provision_token" "iam-token" {
  version = "v2"
  metadata = {
    name = "iam-token"
  }
  spec = {
    roles       = ["Bot"]
    bot_name    = "mybot"
    join_method = "iam"
    allow = [{
      aws_account = "123456789012"
    }]
  }
}

스키마#

필수#

  • spec (속성) Spec은 프로비저닝 토큰 V2 스펙입니다. (아래 중첩 스키마 참조)
  • version (문자열) Version은 리소스 버전입니다. 반드시 지정해야 합니다. 지원되는 값: v2.

선택#

  • metadata (속성) Metadata는 리소스 메타데이터입니다. (아래 중첩 스키마 참조)
  • status (속성) Status는 토큰 유형에 따른 확장 상태 정보입니다. 사용자가 작성할 수 없습니다. (아래 중첩 스키마 참조)
  • sub_kind (문자열) SubKind는 일부 리소스에서 사용되는 선택적 리소스 하위 종류입니다.

spec에 대한 중첩 스키마#

필수:

  • roles (문자열 목록) Roles는 토큰과 연결된 역할 목록으로, 토큰 사용자에게 발행된 SSH 및 X509 인증서의 메타데이터로 변환됩니다.

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • aws_iid_ttl (문자열) AWSIIDTTL은 이 토큰으로 클러스터에 참여하는 데 사용되는 AWS EC2 인스턴스 ID 문서의 TTL입니다.
  • azure (속성) Azure는 "azure" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • azure_devops (속성) AzureDevops는 "azure_devops" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • bitbucket (속성) Bitbucket은 "bitbucket" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • bot_name (문자열) BotName은 이 토큰이 액세스를 부여하는 봇의 이름입니다(있는 경우).
  • bound_keypair (속성) BoundKeypair는 "bound_keypair" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • circleci (속성) CircleCI는 "circleci" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • env0 (속성) Env0은 "env0" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • gcp (속성) GCP는 "gcp" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • github (속성) GitHub는 "github" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • gitlab (속성) GitLab은 "gitlab" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • integration (문자열) Integration 이름은 조인 시도 유효성 검사를 위한 자격 증명을 제공합니다. 현재 IAM 조인 메서드에서 AWS 조직 ID 유효성 검사에만 사용됩니다.
  • join_method (문자열) JoinMethod는 이 토큰을 사용하기 위해 필요한 조인 메서드입니다. 지원되는 조인 메서드: azure, circleci, ec2, gcp, github, gitlab, iam, kubernetes, spacelift, token, tpm
  • kubernetes (속성) Kubernetes는 "kubernetes" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • oracle (속성) Oracle은 "oracle" 조인 메서드에 특정한 옵션 구성을 허용합니다. (아래 중첩 스키마 참조)
  • 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_organization_id (문자열) AWSOrganizationID는 IAM 조인 메서드에 사용되며, 조인 노드의 AWS ID는 이 조직에 속해야 합니다.
  • aws_regions (문자열 목록) AWSRegions는 EC2 조인 메서드에 사용되며 노드가 참여할 수 있는 AWS 리전 목록입니다.
  • aws_role (문자열) AWSRole은 EC2 조인 메서드에 사용되며 Auth Service가 ec2 API를 호출하기 위해 사용할 AWS 역할의 ARN입니다.

spec.azure에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)

spec.azure.allow에 대한 중첩 스키마#

선택:

  • resource_groups (문자열 목록) ResourceGroups는 노드가 참여할 수 있는 Azure 리소스 그룹 목록입니다.
  • subscription (문자열) Subscription은 Azure 구독입니다.

spec.azure_devops에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나 이상의 허용 규칙을 충족해야 합니다. 최소 하나의 허용 규칙이 지정되어야 합니다. (아래 중첩 스키마 참조)
  • organization_id (문자열) OrganizationID는 이 조인 토큰이 액세스를 부여할 Azure DevOps 조직의 UUID를 지정합니다. ID 토큰의 올바른 발급자 확인을 식별하는 데 사용됩니다. 필수 필드입니다.

spec.azure_devops.allow에 대한 중첩 스키마#

선택:

  • definition_id (문자열) AZDO 파이프라인 정의의 ID입니다. 예: 1. def_id 클레임에서 매핑됩니다.
  • pipeline_name (문자열) AZDO 파이프라인의 이름입니다. 예: my-pipeline. sub 클레임에서 추출됩니다.
  • project_id (문자열) AZDO 파이프라인의 ID입니다. 예: 271ef6f7-0000-0000-0000-4b54d9129990. prj_id 클레임에서 매핑됩니다.
  • project_name (문자열) AZDO 프로젝트의 이름입니다. 예: my-project. sub 클레임에서 추출됩니다.
  • repository_ref (문자열) 파이프라인이 사용하는 저장소의 참조입니다. 예: refs/heads/main. rpo_ref 클레임에서 매핑됩니다.
  • repository_uri (문자열) 파이프라인이 사용하는 저장소의 URI입니다. 예: https://github.com/gravitational/teleport.git. rpo_uri 클레임에서 매핑됩니다.
  • repository_version (문자열) 파이프라인이 사용하는 저장소의 개별 커밋입니다. 예: e6b9eb29a288b27a3a82cc19c48b9d94b80aff36. rpo_ver 클레임에서 매핑됩니다.
  • sub (문자열) Sub(Subject)는 워크로드를 대략적으로 고유하게 식별하는 문자열입니다. 예: p://my-organization/my-project/my-pipeline. sub 클레임에서 매핑됩니다.

spec.bitbucket에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • audience (문자열) Audience는 이 토큰에 대해 Bitbucket이 지정한 audience 값입니다. 각 Bitbucket 저장소에 고유하며 저장소 설정의 Pipelines -> OpenID Connect 섹션에 작성된 값으로 설정해야 합니다.
  • identity_provider_url (문자열) IdentityProviderURL은 수신 OIDC 토큰에 대해 Bitbucket이 지정한 발급자 URL입니다. 각 Bitbucket 저장소에 고유하며 저장소 설정의 Pipelines -> OpenID Connect 섹션에 작성된 값으로 설정해야 합니다.

spec.bitbucket.allow에 대한 중첩 스키마#

선택:

  • branch_name (문자열) BranchName은 이 파이프라인이 실행된 브랜치 이름입니다.
  • deployment_environment_uuid (문자열) DeploymentEnvironmentUUID는 이 파이프라인 실행이 대상으로 하는 배포 환경의 UUID입니다(있는 경우). 이 값은 저장소 설정의 "Pipelines -> OpenID Connect -> Deployment environments" 섹션에서 찾을 수 있습니다.
  • repository_uuid (문자열) RepositoryUUID는 이 토큰이 발행된 저장소의 UUID입니다. Bitbucket UUID는 중괄호로 시작하고 끝나야 합니다. 예: {...}. 이 값은 저장소 설정의 Pipelines -> OpenID Connect 섹션에서 찾을 수 있습니다.
  • workspace_uuid (문자열) WorkspaceUUID는 이 토큰이 발행된 워크스페이스의 UUID입니다. Bitbucket UUID는 중괄호로 시작하고 끝나야 합니다. 예: {...}. 이 값은 저장소 설정의 Pipelines -> OpenID Connect 섹션에서 찾을 수 있습니다.

spec.bound_keypair에 대한 중첩 스키마#

선택:

  • onboarding (속성) Onboarding은 초기 온보딩 및 키페어 등록과 관련된 매개변수를 포함합니다. (아래 중첩 스키마 참조)
  • recovery (속성) Recovery는 ID 만료 후 복구와 관련된 매개변수를 포함합니다. (아래 중첩 스키마 참조)
  • rotate_after (문자열) RotateAfter는 주어진 날짜 이후의 다음 조인 또는 복구 시도에서 클라이언트가 키페어 교체를 수행하도록 강제하는 선택적 타임스탬프입니다. LastRotatedAt이 설정되지 않았거나 이 타임스탬프 이전이면 교체가 요청됩니다. 다음 조인 시도에서 교체를 트리거해야 하는 경우 이 값을 현재 타임스탬프로 설정하는 것이 좋습니다.

spec.bound_keypair.onboarding에 대한 중첩 스키마#

선택:

  • initial_public_key (문자열) InitialPublicKey는 tbot keypair create로 생성된 공개 키를 사전 등록하는 데 사용됩니다. 설정되면 초기 조인 시크릿이 생성되거나 사용 가능하게 되지 않으며, 클라이언트는 참여하기 위해 연결된 개인 키가 있어야 합니다. 설정된 경우 initial_join_secretmust_register_before가 무시됩니다. 이 값은 SSH authorized_keys 형식으로 작성됩니다.
  • must_register_before (문자열) MustRegisterBefore는 초기 조인 시크릿을 통한 등록이 수행되어야 하는 선택적 시간입니다. 이 타임스탬프 이후에 초기 조인 시크릿을 사용한 등록 시도는 허용되지 않습니다. 초기 등록이 이루어질 수 있도록 필요한 경우 생성 후 수정할 수 있습니다. initial_public_key가 설정된 경우 이 값은 무시됩니다.
  • registration_secret (문자열) RegistrationSecret은 조인 클라이언트가 처음 조인 시 공개 키를 등록하는 데 사용할 수 있는 시크릿으로, initial_public_key로 공개 키를 사전 등록하는 대신 사용할 수 있습니다. initial_public_key가 설정된 경우 이 값은 무시됩니다. 설정된 경우 이 값은 .status.bound_keypair.registration_secret을 채우는 데 사용됩니다. 설정되지 않고 initial_public_key가 제공되지 않으면 상태 필드를 채우기 위해 서버 측에서 무작위 보안 값이 생성됩니다.

spec.bound_keypair.recovery에 대한 중첩 스키마#

선택:

  • limit (숫자) Limit은 허용되는 최대 복구 시도 횟수입니다. 초기 한도가 소진된 경우 추가 복구 시도를 허용하기 위해 생성 후 이 값을 올리거나 낮출 수 있습니다. modestandard로 설정된 경우 .status.bound_keypair.recovery_count가 이 한도보다 낮은 경우에만 복구 시도가 허용됩니다. moderelaxed 또는 insecure로 설정된 경우 이 한도는 적용되지 않습니다. 온보딩 중 초기 조인을 포함하여 이 값은 최소 1이어야 합니다.
  • mode (문자열) Mode는 복구 규칙 적용 모드를 설정합니다. 다음 값 중 하나일 수 있습니다: - standard(또는 미설정): 모든 구성된 규칙이 적용됩니다. 복구 한도와 클라이언트 조인 상태가 필요하고 확인됩니다. 이것이 가장 안전한 복구 모드입니다. - relaxed: 복구 한도가 적용되지 않지만 클라이언트 조인 상태는 여전히 필요합니다. 이는 사실상 무제한 복구 시도를 허용하지만 클라이언트 조인 상태는 여전히 자격 증명 도용을 완화하는 데 도움이 됩니다. - insecure: 복구 한도와 클라이언트 조인 상태 모두 적용되지 않습니다. 이를 통해 개인 키가 있는 모든 클라이언트가 자유롭게 참여할 수 있습니다. 이는 덜 안전하지만 지원되지 않는 CI/CD 공급자와 같은 특정 상황에서 유용할 수 있습니다. 이 모드는 신중하게 사용해야 하며, RBAC 규칙은 이 ID가 액세스할 수 있는 리소스를 크게 제한하도록 구성해야 합니다.

spec.circleci에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • organization_id (문자열)

spec.circleci.allow에 대한 중첩 스키마#

선택:

  • context_id (문자열)
  • project_id (문자열)

spec.env0에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 작업은 토큰을 사용하기 위해 최소 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)

spec.env0.allow에 대한 중첩 스키마#

선택:

  • deployer_email (문자열) DeployerEmail은 배포를 트리거한 사람의 이메일로, Env0 OIDC 토큰의 deployerEmail에 해당합니다.
  • deployment_type (문자열) DeploymentType은 env0 배포 유형으로, "deploy", "destroy" 등입니다. Env0 OIDC 토큰의 deploymentType에 해당합니다.
  • env0_tag (문자열) Env0Tag는 ENV0_OIDC_TAG가 설정된 경우 env0Tag에 해당하는 사용자 지정 태그 값입니다.
  • environment_id (문자열) EnvironmentID는 Env0 환경의 고유 식별자로, Env0 OIDC 토큰의 environmentId에 해당합니다.
  • environment_name (문자열) EnvironmentName은 Env0 환경의 이름으로, Env0 OIDC 토큰의 environmentName에 해당합니다.
  • organization_id (문자열) OrganizationID는 고유한 조직 식별자로, Env0 OIDC 토큰의 organizationId에 해당합니다.
  • project_id (문자열) ProjectID는 고유한 프로젝트 식별자로, Env0 OIDC 토큰의 projectId에 해당합니다.
  • project_name (문자열) ProjectName은 작업이 실행된 프로젝트의 이름으로, Env0 OIDC 토큰의 projectName에 해당합니다.
  • template_id (문자열) TemplateID는 Env0 템플릿의 고유 식별자로, Env0 OIDC 토큰의 templateId에 해당합니다.
  • template_name (문자열) TemplateName은 Env0 템플릿의 이름으로, Env0 OIDC 토큰의 templateName에 해당합니다.
  • workspace_name (문자열) WorkspaceName은 Env0 워크스페이스의 이름으로, Env0 OIDC 토큰의 workspaceName에 해당합니다.

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는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • enterprise_server_host (문자열) EnterpriseServerHost는 GitHub Enterprise Server 인스턴스와 연결된 러너의 조인을 허용합니다. 구성되지 않으면 토큰은 github.com에 대해 유효성 검사되지만, GHES 인스턴스의 호스트로 구성된 경우 토큰이 해당 호스트에 대해 유효성 검사됩니다. 이 값은 GHES 인스턴스의 호스트 이름이어야 하며 스키마나 경로를 포함하지 않아야 합니다. 인스턴스는 이 호스트 이름으로 HTTPS를 통해 액세스 가능해야 하며 인증서는 Auth Service에서 신뢰해야 합니다.
  • enterprise_slug (문자열) EnterpriseSlug는 OIDC 토큰의 예상 발급자에 GitHub Enterprise 조직의 슬러그를 포함할 수 있습니다. 이는 GHE의 include_enterprise_slug 옵션과의 호환성을 위한 것입니다. 이 필드는 이것이 활성화된 경우 엔터프라이즈의 슬러그로 설정해야 합니다. 활성화되지 않은 경우 이 필드는 비워 두어야 합니다. enterprise_server_host가 지정된 경우 이 필드를 지정할 수 없습니다.
  • static_jwks (문자열) StaticJWKS는 JWKS/OIDC 엔드포인트를 통한 GHES 서명 키 가져오기를 비활성화하고 직접 지정할 수 있게 합니다. 이를 통해 Teleport Auth Service에서 연결할 수 없는 GHES 인스턴스의 GitHub Actions에서 참여할 수 있습니다.

spec.github.allow에 대한 중첩 스키마#

선택:

  • actor (문자열) 워크플로 실행을 시작한 개인 계정입니다.
  • environment (문자열) 작업에 사용된 환경의 이름입니다.
  • ref (문자열) 워크플로 실행을 트리거한 git ref입니다.
  • ref_type (문자열) ref의 유형으로, 예: "branch".
  • repository (문자열) 워크플로가 실행되는 저장소입니다. 소유자 이름을 포함합니다. 예: gravitational/teleport
  • repository_owner (문자열) 저장소가 저장된 조직의 이름입니다.
  • sub (문자열) Sub(Subject)는 워크로드를 대략적으로 고유하게 식별하는 문자열입니다. 형식은 github action 실행 유형에 따라 다릅니다.
  • workflow (문자열) 워크플로의 이름입니다.

spec.gitlab에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 TokenRule 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • domain (문자열) Domain은 GitLab 인스턴스의 도메인입니다. 기본값은 gitlab.com이지만 자체 호스팅 GitLab의 도메인으로 설정할 수 있습니다. 예: gitlab.example.com.
  • static_jwks (문자열) StaticJWKS는 JWKS/OIDC 엔드포인트를 통한 GitLab 서명 키 가져오기를 비활성화하고 직접 지정할 수 있게 합니다. 이를 통해 Teleport Auth Service에서 연결할 수 없는 GitLab CI 인스턴스에서 참여할 수 있습니다.

spec.gitlab.allow에 대한 중첩 스키마#

선택:

  • ci_config_ref_uri (문자열) CIConfigRefURI는 최상위 파이프라인 정의에 대한 ref 경로입니다. 예: 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는 작업이 배포하는 환경으로 액세스를 제한합니다(연결된 경우).
  • environment_protected (불리언) EnvironmentProtected는 Git ref가 보호된 경우 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. 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • project_visibility (문자열) ProjectVisibility는 파이프라인이 실행되는 프로젝트의 가시성입니다. internal, private, public일 수 있습니다.
  • ref (문자열) Ref는 특정 git ref에 의해 트리거된 작업으로 액세스를 제한할 수 있습니다. ref_type과 함께 사용하세요. 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • ref_protected (불리언) RefProtected는 Git ref가 보호된 경우 true, 그렇지 않으면 false입니다.
  • ref_type (문자열) RefType은 특정 git ref 유형에 의해 트리거된 작업으로 액세스를 제한할 수 있습니다. 예: branch 또는 tag
  • sub (문자열) Sub는 워크로드를 대략적으로 고유하게 식별합니다. 예: project_path:mygroup/my-project:ref_type:branch:ref:main. 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • user_email (문자열) UserEmail은 작업을 실행하는 사용자의 이메일입니다.
  • user_id (문자열) UserID는 작업을 실행하는 사용자의 ID입니다.
  • user_login (문자열) UserLogin은 작업을 실행하는 사용자의 사용자 이름입니다.

spec.kubernetes에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • oidc (속성) OIDCConfig는 oidc 유형을 구성합니다. (아래 중첩 스키마 참조)
  • static_jwks (속성) StaticJWKS는 static_jwks 유형에 특정한 구성입니다. (아래 중첩 스키마 참조)
  • type (문자열) Type은 Kubernetes 서비스 계정 토큰 유효성 검사에 사용되는 동작을 제어합니다. 지원 값: - in_cluster - static_jwks - oidc. 설정되지 않으면 기본값은 in_cluster입니다.

spec.kubernetes.allow에 대한 중첩 스키마#

선택:

  • service_account (문자열) ServiceAccount는 Kubernetes 서비스 계정의 네임스페이스 이름입니다. 형식은 "namespace:service-account"입니다.

spec.kubernetes.oidc에 대한 중첩 스키마#

선택:

  • insecure_allow_http_issuer (불리언) InsecureAllowHTTPIssuer는 설정된 경우 발급자가 HTTPS를 사용해야 한다는 요구 사항을 비활성화하는 플래그입니다.
  • issuer (문자열) Issuer는 OIDC 발급자의 URI입니다. 액세스 가능하고 OIDC를 준수하는 /.well-known/oidc-configuration 엔드포인트가 있어야 합니다. 유효한 URL이어야 하며 서비스 계정 JWT의 issuer 필드와 정확히 일치해야 합니다.

spec.kubernetes.static_jwks에 대한 중첩 스키마#

선택:

  • jwks (문자열) JWKS는 Kubernetes 클러스터가 서비스 계정 토큰에 서명하는 데 사용하는 공개 키의 JSON Web Key Set 형식이어야 합니다. Kubernetes API 서버의 /openid/v1/jwks에서 가져올 수 있습니다.

spec.oracle에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)

spec.oracle.allow에 대한 중첩 스키마#

선택:

  • instances (문자열 목록) Instances는 참여할 수 있는 특정 인스턴스의 OCID 목록입니다. 비어 있으면 다른 필드와 일치하는 모든 인스턴스가 허용됩니다. 규칙당 100개의 인스턴스 OCID로 제한됩니다.
  • parent_compartments (문자열 목록) ParentCompartments는 인스턴스가 참여할 수 있는 구획의 OCID 목록입니다. 직접 상위만 허용됩니다. 즉, 중첩 구획은 허용되지 않습니다. 비어 있으면 모든 구획이 허용됩니다.
  • regions (문자열 목록) Regions는 인스턴스가 참여할 수 있는 지역 목록입니다. 전체 지역 이름("us-phoenix-1")과 약어("phx") 모두 허용됩니다. 비어 있으면 모든 지역이 허용됩니다.
  • tenancy (문자열) Tenancy는 인스턴스 테넌시의 OCID입니다. 필수입니다.

spec.spacelift에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • enable_glob_matching (불리언) EnableGlobMatching은 규칙의 space_id 및 caller_id 필드에 대한 글로브 스타일 매칭을 활성화합니다.
  • hostname (문자열) Hostname은 토큰이 발행될 Spacelift 테넌트의 호스트 이름입니다. 예: example.app.spacelift.io

spec.spacelift.allow에 대한 중첩 스키마#

선택:

  • caller_id (문자열) CallerID는 호출자의 ID입니다. 즉, 실행을 생성한 스택 또는 모듈입니다. enable_glob_matching이 true인 경우 이 필드는 "글로브 스타일" 매칭을 지원합니다.
  • caller_type (문자열) CallerType은 호출자의 유형입니다. 즉, 실행을 소유하는 엔티티입니다. stack 또는 module입니다.
  • scope (문자열) Scope는 토큰의 범위입니다. read 또는 write입니다. https://docs.spacelift.io/integrations/cloud-providers/oidc/#about-scopes 참조
  • space_id (문자열) SpaceID는 토큰을 소유한 실행이 실행된 공간의 ID입니다. enable_glob_matching이 true인 경우 이 필드는 "글로브 스타일" 매칭을 지원합니다.

spec.terraform_cloud에 대한 중첩 스키마#

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 이 토큰을 사용하는 노드는 토큰을 사용하기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • audience (문자열) Audience는 Terraform Cloud의 TFC_WORKLOAD_IDENTITY_AUDIENCE(_$TAG) 변수에서 구성된 JWT audience입니다. 설정되지 않으면 기본값은 Teleport 클러스터 이름입니다.
  • hostname (문자열) Hostname은 이 토큰에 의해 허용되는 JWT를 발행할 것으로 예상되는 Terraform Enterprise 인스턴스의 호스트 이름입니다. 일반 Terraform Cloud 사용의 경우 설정하지 않을 수 있으며, 이 경우 app.terraform.io로 가정됩니다.

spec.terraform_cloud.allow에 대한 중첩 스키마#

선택:

  • organization_id (문자열) OrganizationID는 HCP Terraform 조직의 ID입니다. 최소 하나의 조직 값(ID 또는 이름)이 필요합니다.
  • organization_name (문자열) OrganizationName은 HCP Terraform 조직의 사람이 읽을 수 있는 이름입니다. 최소 하나의 조직 값(ID 또는 이름)이 필요합니다.
  • project_id (문자열) ProjectID는 HCP Terraform 프로젝트의 ID입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.
  • project_name (문자열) ProjectName은 HCP Terraform 프로젝트의 사람이 읽을 수 있는 이름입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.
  • run_phase (문자열) RunPhase는 토큰이 발행된 실행 단계입니다. 예: plan 또는 apply
  • workspace_id (문자열) WorkspaceID는 HCP Terraform 워크스페이스의 ID입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.
  • workspace_name (문자열) WorkspaceName은 HCP Terraform 워크스페이스의 사람이 읽을 수 있는 이름입니다. 최소 하나의 프로젝트 또는 워크스페이스 값(ID 또는 이름)이 필요합니다.

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

선택:

  • allow (속성 목록) Allow는 규칙 목록으로, 제시된 위임 ID는 참여가 허용되기 위해 하나의 허용 규칙을 충족해야 합니다. (아래 중첩 스키마 참조)
  • ekcert_allowed_cas (문자열 목록) EKCertAllowedCAs는 TPM EKCert 유효성 검사에 사용될 CA 인증서 목록입니다. 지정된 경우 참여하는 TPM은 지정된 CA 중 하나가 서명한 EKCert를 제시해야 합니다. EKCert를 제시하지 않는 TPM은 참여가 허용되지 않습니다. 지정되지 않으면 TPM은 EKCert 또는 EKPubHash를 사용하여 참여할 수 있습니다.

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

선택:

  • description (문자열) Description은 규칙의 사람이 읽을 수 있는 설명입니다. TPM의 참여 허용 여부에 영향을 미치지 않지만 규칙을 특정 호스트(예: TPM이 있는 서버의 자산 태그)와 연결하는 데 사용할 수 있습니다. 예: "build-server-100"
  • ek_certificate_serial (문자열) EKCertificateSerial은 콜론으로 구분된 니블의 16진수로 표시된 EKCert의 일련 번호입니다. 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 (문자열, 민감) Name은 객체 이름입니다.

status에 대한 중첩 스키마#

선택:

  • bound_keypair (속성) BoundKeypair는 bound_keypair 유형 토큰과 관련된 상태 정보를 포함합니다. (아래 중첩 스키마 참조)

status.bound_keypair에 대한 중첩 스키마#

선택:

  • bound_bot_instance_id (문자열) BoundBotInstanceID는 현재 연결된 봇 인스턴스의 ID입니다. 각 조인 시 새 봇 인스턴스가 발행됩니다. 새 봇 인스턴스에는 이 값(있는 경우)으로 설정된 previous_bot_instance가 있습니다.
  • bound_public_key (문자열) BoundPublicKey는 현재 바인딩된 공개 키를 포함합니다. .spec.bound_keypair.onboarding.initial_public_key가 설정된 경우 생성 시 해당 값이 여기에 복사됩니다. 그렇지 않으면 공개 키 등록 과정의 일부로 채워집니다. 키페어 교체가 이루어지면 시간이 지남에 따라 이 값이 업데이트되며 항상 현재 신뢰할 수 있는 공개 키를 반영합니다. 이 값은 SSH authorized_keys 형식으로 작성됩니다.
  • last_recovered_at (문자열) LastRecoveredAt은 마지막으로 성공적인 복구 시도의 타임스탬프를 포함합니다. 유효한 클라이언트 인증서를 사용한 일반 갱신은 복구 시도로 계산되지 않지만 온보딩 중 초기 조인은 계산됩니다. 이는 bound_bot_instance_id가 마지막으로 업데이트된 시간에 해당합니다.
  • last_rotated_at (문자열) LastRotatedAt은 키페어가 마지막으로 교체된 시간의 타임스탬프를 포함합니다(있는 경우). 초기 조인 시에는 설정되지 않습니다.
  • recovery_count (숫자) RecoveryCount는 이 토큰을 사용하여 수행된 총 복구 횟수입니다. 모든 성공적인 조인 또는 재조인에 대해 증가합니다. 이 값이 .spec.bound_keypair.recovery.limit보다 낮거나 복구 모드가 relaxed 또는 insecure인 경우에만 복구가 허용됩니다.
  • registration_secret (문자열) RegistrationSecret은 공개 키가 사전 등록되지 않은 경우 초기 조인 과정에서 공개 키 등록에 사용할 수 있는 시크릿 값을 포함합니다. .spec.bound_keypair.onboarding.initial_public_key가 설정된 경우 이 필드는 비어 있습니다. 그렇지 않으면 .spec.bound_keypair.onboarding.registration_secret이 설정된 경우 해당 값이 여기에 복사됩니다. 해당 필드가 설정되지 않으면 값이 무작위로 생성됩니다.