InfoGrab Docs

teleport_integration Terraform 리소스 참조

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

사용 예시#

resource "teleport_integration" "aws_oidc" {
  version  = "v1"
  sub_kind = "aws-oidc"
  metadata = {
    name        = "example"
    description = "AWS OIDC integration"
    labels = {
      env = "dev"
    }
  }

  spec = {
    aws_oidc = {
      role_arn = "arn:aws:iam::123456789012:role/example-role-name"
    }
  }
}

resource "teleport_integration" "azure_oidc" {
  version  = "v1"
  sub_kind = "azure-oidc"
  metadata = {
    name        = "azure-oidc"
    description = "Example Azure OIDC integration"
    labels = {
      env = "dev"
    }
  }

  spec = {
    azure_oidc = {
      // Azure Entra ID tenant ID
      tenant_id = "a1b2c3d4-f2e4-97a8-9abc-1234567890ab"
      // Azure enterprise application client ID
      client_id = "7f12e3b5-6789-4abc-def0-112233445566"
    }
  }
}

resource "teleport_integration" "aws_roles_anywhere" {
  version  = "v1"
  sub_kind = "aws-ra"
  metadata = {
    name        = "aws-ra"
    description = "Example AWS Roles Anywhere integration"
    labels = {
      env = "dev"
    }
  }

  spec = {
    aws_ra = {
      profile_sync_config = {
        // sync AWS profiles as Teleport applications
        enabled                           = true
        profile_accepts_role_session_name = false
        profile_arn                       = "arn:aws:rolesanywhere:us-east-1:123456789012:profile/<random-uuid>"
        role_arn                          = "arn:aws:iam::123456789012:role/example-role-name"
        // only sync AWS profiles as Teleport applications if the profile name matches
        profile_name_filters = [
          "teleport-*",    // supports globs
          "^teleport-.*$", // and regex if the string is enclosed in regex anchors
        ]
      }
      trust_anchor_arn = "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/<random-uuid>"
    }
  }
}

스키마#

필수#

  • metadata (속성) Metadata는 리소스 메타데이터입니다. (아래 중첩 스키마 참조)
  • spec (속성) Spec은 통합 명세입니다. (아래 중첩 스키마 참조)
  • sub_kind (문자열) SubKind는 일부 리소스에서 사용되는 선택적 리소스 하위 종류입니다.
  • version (문자열) Version은 리소스 생성에 사용된 API 버전입니다. 반드시 지정해야 합니다. 이 버전을 기반으로 Teleport는 리소스 생성 또는 삭제 시 다른 기본값을 적용합니다. "v"로 시작하는 정수여야 합니다. 예: v1

metadata에 대한 중첩 스키마#

필수:

  • name (문자열) Name은 객체 이름입니다.

선택:

  • description (문자열) Description은 객체 설명입니다.
  • expires (문자열) Expires는 시스템의 모든 리소스에 설정할 수 있는 전역 만료 시간 헤더입니다.
  • labels (문자열 맵) Labels는 레이블 세트입니다.

spec에 대한 중첩 스키마#

선택:

  • aws_oidc (속성) AWSOIDC는 AWS OIDC 통합 하위 종류를 처리하기 위한 특정 필드를 포함합니다. (아래 중첩 스키마 참조)
  • aws_ra (속성) AWSRA는 AWS Roles Anywhere 통합 하위 종류를 처리하기 위한 특정 필드를 포함합니다. (아래 중첩 스키마 참조)
  • azure_oidc (속성) AzureOIDC는 Azure OIDC 통합 하위 종류를 처리하기 위한 특정 필드를 포함합니다. (아래 중첩 스키마 참조)

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

선택:

  • audience (문자열) Audience는 이 통합에 의존하는 플러그인이나 Teleport의 discover 서비스 이름을 기록하는 데 사용됩니다. Audience 값은 비어 있거나 "aws-identity-center"일 수 있습니다. 사전 설정된 audience는 통합 CRUD API에 특정 동작을 부과할 수 있으며, 예를 들어 통합이 업데이트되거나 삭제되는 것을 방지할 수 있습니다. 빈 audience 값은 기본적이고 하위 호환되는 통합 동작으로 처리되어야 합니다.
  • issuer_s3_uri (문자열) IssuerS3URI는 AWS에 구성된 ID 공급자입니다. 이 버킷/프리픽스/* 파일은 공개적으로 액세스 가능해야 하며 다음을 포함해야 합니다: > .well-known/openid-configuration > .well-known/jwks 형식: s3://<bucket>/<prefix> 선택 사항. 지정하지 않으면 프록시의 엔드포인트가 사용됩니다. 더 이상 사용되지 않음: 지문 유효성 검사는 발급자가 인증서를 변경할 때마다 AWS의 IdP를 업데이트해야 합니다. Amazon은 이제 모든 루트 인증 기관을 신뢰하므로 이 해결 방법은 더 이상 필요하지 않습니다. 18.0에서 삭제됩니다.
  • role_arn (문자열) RoleARN은 통합 설정에 사용된 Role ARN을 포함합니다. Teleport가 API 호출을 위한 토큰을 발행하는 데 사용할 AWS 역할입니다.

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

선택:

  • profile_sync_config (속성) ProfileSyncConfig는 AWS Roles Anywhere 프로필 동기화 구성을 포함합니다. 이는 AWS Roles Anywhere 프로필을 애플리케이션 서버로 생성하는 데 사용됩니다. (아래 중첩 스키마 참조)
  • trust_anchor_arn (문자열) TrustAnchorARN은 통합 설정에 사용된 AWS IAM Roles Anywhere Trust Anchor ARN을 포함합니다.

spec.aws_ra.profile_sync_config에 대한 중첩 스키마#

선택:

  • enabled (불리언) Enabled가 true이면 이 통합이 프로필을 애플리케이션 서버로 동기화해야 함을 나타냅니다.
  • profile_accepts_role_session_name (불리언) ProfileAcceptsRoleSessionName은 프로필이 사용자 지정 역할 세션 이름을 허용하는지 여부를 나타냅니다.
  • profile_arn (문자열) ProfileARN은 AWS API에 액세스하기 위한 자격 증명을 생성하는 데 사용되는 Roles Anywhere 프로필의 ARN입니다.
  • profile_name_filters (문자열 목록) ProfileNameFilters는 프로필 이름에 적용되는 필터 목록입니다. 일치하는 프로필만 애플리케이션 서버로 동기화됩니다. 비어 있으면 필터링이 적용되지 않습니다. 필터는 글로브일 수 있습니다. 예: profile* name 또는 ^ 및 $로 시작하고 끝나는 정규식일 수 있습니다. 예: ^profile.*$ ^.name.$
  • role_arn (문자열) RoleARN은 AWS API에 액세스할 때 가정할 IAM 역할의 ARN입니다.

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

선택:

  • client_id (문자열) ClientID는 이 플러그인에 해당하는 Azure 엔터프라이즈 애플리케이션(클라이언트)의 ID를 지정합니다.
  • tenant_id (문자열) TenantID는 이 플러그인이 통합하는 Entra 테넌트(디렉터리)의 ID를 지정합니다.

teleport_integration Terraform 리소스 참조

원문 보기

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

사용 예시#

resource "teleport_integration" "aws_oidc" {
  version  = "v1"
  sub_kind = "aws-oidc"
  metadata = {
    name        = "example"
    description = "AWS OIDC integration"
    labels = {
      env = "dev"
    }
  }

  spec = {
    aws_oidc = {
      role_arn = "arn:aws:iam::123456789012:role/example-role-name"
    }
  }
}

resource "teleport_integration" "azure_oidc" {
  version  = "v1"
  sub_kind = "azure-oidc"
  metadata = {
    name        = "azure-oidc"
    description = "Example Azure OIDC integration"
    labels = {
      env = "dev"
    }
  }

  spec = {
    azure_oidc = {
      // Azure Entra ID tenant ID
      tenant_id = "a1b2c3d4-f2e4-97a8-9abc-1234567890ab"
      // Azure enterprise application client ID
      client_id = "7f12e3b5-6789-4abc-def0-112233445566"
    }
  }
}

resource "teleport_integration" "aws_roles_anywhere" {
  version  = "v1"
  sub_kind = "aws-ra"
  metadata = {
    name        = "aws-ra"
    description = "Example AWS Roles Anywhere integration"
    labels = {
      env = "dev"
    }
  }

  spec = {
    aws_ra = {
      profile_sync_config = {
        // sync AWS profiles as Teleport applications
        enabled                           = true
        profile_accepts_role_session_name = false
        profile_arn                       = "arn:aws:rolesanywhere:us-east-1:123456789012:profile/<random-uuid>"
        role_arn                          = "arn:aws:iam::123456789012:role/example-role-name"
        // only sync AWS profiles as Teleport applications if the profile name matches
        profile_name_filters = [
          "teleport-*",    // supports globs
          "^teleport-.*$", // and regex if the string is enclosed in regex anchors
        ]
      }
      trust_anchor_arn = "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/<random-uuid>"
    }
  }
}

스키마#

필수#

  • metadata (속성) Metadata는 리소스 메타데이터입니다. (아래 중첩 스키마 참조)
  • spec (속성) Spec은 통합 명세입니다. (아래 중첩 스키마 참조)
  • sub_kind (문자열) SubKind는 일부 리소스에서 사용되는 선택적 리소스 하위 종류입니다.
  • version (문자열) Version은 리소스 생성에 사용된 API 버전입니다. 반드시 지정해야 합니다. 이 버전을 기반으로 Teleport는 리소스 생성 또는 삭제 시 다른 기본값을 적용합니다. "v"로 시작하는 정수여야 합니다. 예: v1

metadata에 대한 중첩 스키마#

필수:

  • name (문자열) Name은 객체 이름입니다.

선택:

  • description (문자열) Description은 객체 설명입니다.
  • expires (문자열) Expires는 시스템의 모든 리소스에 설정할 수 있는 전역 만료 시간 헤더입니다.
  • labels (문자열 맵) Labels는 레이블 세트입니다.

spec에 대한 중첩 스키마#

선택:

  • aws_oidc (속성) AWSOIDC는 AWS OIDC 통합 하위 종류를 처리하기 위한 특정 필드를 포함합니다. (아래 중첩 스키마 참조)
  • aws_ra (속성) AWSRA는 AWS Roles Anywhere 통합 하위 종류를 처리하기 위한 특정 필드를 포함합니다. (아래 중첩 스키마 참조)
  • azure_oidc (속성) AzureOIDC는 Azure OIDC 통합 하위 종류를 처리하기 위한 특정 필드를 포함합니다. (아래 중첩 스키마 참조)

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

선택:

  • audience (문자열) Audience는 이 통합에 의존하는 플러그인이나 Teleport의 discover 서비스 이름을 기록하는 데 사용됩니다. Audience 값은 비어 있거나 "aws-identity-center"일 수 있습니다. 사전 설정된 audience는 통합 CRUD API에 특정 동작을 부과할 수 있으며, 예를 들어 통합이 업데이트되거나 삭제되는 것을 방지할 수 있습니다. 빈 audience 값은 기본적이고 하위 호환되는 통합 동작으로 처리되어야 합니다.
  • issuer_s3_uri (문자열) IssuerS3URI는 AWS에 구성된 ID 공급자입니다. 이 버킷/프리픽스/* 파일은 공개적으로 액세스 가능해야 하며 다음을 포함해야 합니다: > .well-known/openid-configuration > .well-known/jwks 형식: s3://<bucket>/<prefix> 선택 사항. 지정하지 않으면 프록시의 엔드포인트가 사용됩니다. 더 이상 사용되지 않음: 지문 유효성 검사는 발급자가 인증서를 변경할 때마다 AWS의 IdP를 업데이트해야 합니다. Amazon은 이제 모든 루트 인증 기관을 신뢰하므로 이 해결 방법은 더 이상 필요하지 않습니다. 18.0에서 삭제됩니다.
  • role_arn (문자열) RoleARN은 통합 설정에 사용된 Role ARN을 포함합니다. Teleport가 API 호출을 위한 토큰을 발행하는 데 사용할 AWS 역할입니다.

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

선택:

  • profile_sync_config (속성) ProfileSyncConfig는 AWS Roles Anywhere 프로필 동기화 구성을 포함합니다. 이는 AWS Roles Anywhere 프로필을 애플리케이션 서버로 생성하는 데 사용됩니다. (아래 중첩 스키마 참조)
  • trust_anchor_arn (문자열) TrustAnchorARN은 통합 설정에 사용된 AWS IAM Roles Anywhere Trust Anchor ARN을 포함합니다.

spec.aws_ra.profile_sync_config에 대한 중첩 스키마#

선택:

  • enabled (불리언) Enabled가 true이면 이 통합이 프로필을 애플리케이션 서버로 동기화해야 함을 나타냅니다.
  • profile_accepts_role_session_name (불리언) ProfileAcceptsRoleSessionName은 프로필이 사용자 지정 역할 세션 이름을 허용하는지 여부를 나타냅니다.
  • profile_arn (문자열) ProfileARN은 AWS API에 액세스하기 위한 자격 증명을 생성하는 데 사용되는 Roles Anywhere 프로필의 ARN입니다.
  • profile_name_filters (문자열 목록) ProfileNameFilters는 프로필 이름에 적용되는 필터 목록입니다. 일치하는 프로필만 애플리케이션 서버로 동기화됩니다. 비어 있으면 필터링이 적용되지 않습니다. 필터는 글로브일 수 있습니다. 예: profile* name 또는 ^ 및 $로 시작하고 끝나는 정규식일 수 있습니다. 예: ^profile.*$ ^.name.$
  • role_arn (문자열) RoleARN은 AWS API에 액세스할 때 가정할 IAM 역할의 ARN입니다.

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

선택:

  • client_id (문자열) ClientID는 이 플러그인에 해당하는 Azure 엔터프라이즈 애플리케이션(클라이언트)의 ID를 지정합니다.
  • tenant_id (문자열) TenantID는 이 플러그인이 통합하는 Entra 테넌트(디렉터리)의 ID를 지정합니다.