Infograb logo
teleport_role Terraform 리소스에 대한 참조

사용 예시

# Teleport 역할 리소스

resource "teleport_role" "example" {
  version = "v7"
  metadata = {
    name        = "example"
    description = "예시 Teleport 역할"
    expires     = "2022-10-12T07:20:51Z"
    labels = {
      example = "yes"
    }
  }

  spec = {
    options = {
      forward_agent           = false
      max_session_ttl         = "7m"
      port_forwarding         = false
      client_idle_timeout     = "1h"
      disconnect_expired_cert = true
      permit_x11_forwarding   = false
      request_access          = "denied"
    }

    allow = {
      logins = ["example"]

      rules = [{
        resources = ["user", "role"]
        verbs     = ["list"]
      }]

      request = {
        roles = ["example"]
        claims_to_roles = [{
          claim = "example"
          value = "example"
          roles = ["example"]
        }]
      }

      node_labels = {
        example = ["yes"]
      }
    }

    deny = {
      logins = ["anonymous"]
    }
  }
}

스키마

필수

  • version (문자열) 리소스 버전입니다. 지정해야 합니다. 지원되는 값: v3 , v4 , v5 , v6 , v7 .

선택적

  • metadata (속성) 메타데이터는 리소스 메타데이터입니다 (아래의 중첩 스키마 참조).
  • spec (속성) 사양은 역할 사양입니다 (아래의 중첩 스키마 참조).
  • sub_kind (문자열) SubKind는 일부 리소스에서 사용하는 선택적 리소스 하위 종류입니다.

metadata 를 위한 중첩 스키마

필수:

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

선택적:

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

spec 을 위한 중첩 스키마

선택적:

  • allow (속성) 허가는 접근을 부여하기 위해 평가되는 조건 세트입니다. (아래의 중첩 스키마 참조).
  • deny (속성) 거부는 접근을 거부하기 위해 평가되는 조건 세트입니다. 거부는 허가보다 우선합니다. (아래의 중첩 스키마 참조).
  • options (속성) 옵션은 에이전트 포워딩과 같은 OpenSSH 옵션에 대한 것입니다. (아래의 중첩 스키마 참조).

spec.allow 를 위한 중첩 스키마

선택적:

  • account_assignments (속성 목록) AccountAssignments는 이 조건에 의해 영향을 받는 계정 할당 목록을 보유합니다. (아래의 중첩 스키마 참조).
  • app_labels (문자열 목록의 맵) AppLabels는 RBAC 시스템의 일부로 사용되는 레이블의 맵입니다.
  • app_labels_expression (문자열) AppLabelsExpression은 앱에 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • aws_role_arns (문자열 목록) AWSRoleARNs는 이 역할이 맡을 수 있는 AWS 역할 ARN 목록입니다.
  • azure_identities (문자열 목록) AzureIdentities는 이 역할이 맡을 수 있는 Azure 신원 목록입니다.
  • cluster_labels (문자열 목록의 맵) ClusterLabels는 클러스터에 대한 접근을 동적으로 부여하기 위해 사용되는 노드 레이블의 맵입니다.
  • cluster_labels_expression (문자열) ClusterLabelsExpression은 원격 Teleport 클러스터에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • db_labels (문자열 목록의 맵) DatabaseLabels는 데이터베이스에 대한 접근을 허용/거부하는 데 사용되는 RBAC 시스템의 일부입니다.
  • db_labels_expression (문자열) DatabaseLabelsExpression은 데이터베이스에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • db_names (문자열 목록) DatabaseNames는 이 역할이 연결할 수 있는 데이터베이스 이름 목록입니다.
  • db_permissions (속성 목록) DatabasePermissions는 자동 데이터베이스 사용자 프로비저닝을 사용할 때 데이터베이스 사용자에게 부여될 권한 집합을 지정합니다. (아래의 중첩 스키마 참조).
  • db_roles (문자열 목록) DatabaseRoles는 자동 사용자 생성을 위한 데이터베이스 역할 목록입니다.
  • db_service_labels (문자열 목록의 맵) DatabaseServiceLabels는 데이터베이스 서비스에 대한 접근을 허용/거부하는 데 사용되는 RBAC 시스템의 일부입니다.
  • db_service_labels_expression (문자열) DatabaseServiceLabelsExpression은 데이터베이스 서비스에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • db_users (문자열 목록) DatabaseUsers는 이 역할이 연결할 수 있는 데이터베이스 사용자 목록입니다.
  • desktop_groups (문자열 목록) DesktopGroups는 생성된 데스크탑 사용자가 추가될 그룹 목록입니다.
  • gcp_service_accounts (문자열 목록) GCPServiceAccounts는 이 역할이 맡을 수 있는 GCP 서비스 계정 목록입니다.
  • group_labels (문자열 목록의 맵) GroupLabels는 RBAC 시스템의 일부로 사용되는 레이블의 맵입니다.
  • group_labels_expression (문자열) GroupLabelsExpression은 사용자 그룹에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • host_groups (문자열 목록) HostGroups는 생성된 사용자가 추가될 그룹 목록입니다.
  • host_sudoers (문자열 목록) HostSudoers는 사용자의 sudoer 파일에 포함될 항목 목록입니다.
  • impersonate (속성) Impersonate는 이 역할이 증명서나 기타 가능한 수단으로 가장할 수 있는 사용자 및 역할을 지정합니다. (아래의 중첩 스키마 참조).
  • join_sessions (속성 목록) JoinSessions는 사용자가 다른 세션에 참여할 수 있도록 허용하는 정책을 지정합니다. (아래의 중첩 스키마 참조).
  • kubernetes_groups (문자열 목록) KubeGroups는 Kubernetes 그룹 목록입니다.
  • kubernetes_labels (문자열 목록의 맵) KubernetesLabels는 RBAC을 위한 Kubernetes 클러스터 레이블의 맵입니다.
  • kubernetes_labels_expression (문자열) KubernetesLabelsExpression은 Kubernetes 클러스터에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • kubernetes_resources (속성 목록) KubernetesResources는 이 역할이 접근을 부여하는 Kubernetes 리소스입니다. (아래의 중첩 스키마 참조).
  • kubernetes_users (문자열 목록) KubeUsers는 가장할 수 있는 선택적 Kubernetes 사용자입니다.
  • logins (문자열 목록) Logins는 *nix 시스템 로그인 목록입니다.
  • node_labels (문자열 목록의 맵) NodeLabels는 노드 접근을 동적으로 부여하기 위해 사용되는 노드 레이블의 맵입니다.
  • node_labels_expression (문자열) NodeLabelsExpression은 SSH 노드에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • request (속성) (아래의 중첩 스키마 참조).
  • require_session_join (속성 목록) RequireSessionJoin은 세션을 시작해야 하는 사용자를 위한 정책을 지정합니다. (아래의 중첩 스키마 참조).
  • review_requests (속성) ReviewRequests는 접근 검토를 제출하기 위한 조건을 정의합니다. (아래의 중첩 스키마 참조).
  • rules (속성 목록) Rules는 규칙 목록과 해당 접근 수준입니다. 규칙은 접근 제어를 위한 높은 수준의 구조체입니다. (아래의 중첩 스키마 참조).
  • spiffe (속성 목록) SPIFFE는 역할 보유자가 SPIFFE SVID 생성을 허용하거나 거부하는 데 사용됩니다. (아래의 중첩 스키마 참조).
  • windows_desktop_labels (문자열 목록의 맵) WindowsDesktopLabels는 Windows 데스크탑에 대한 접근을 허용/거부하는 데 RBAC 시스템에서 사용됩니다.
  • windows_desktop_labels_expression (문자열) WindowsDesktopLabelsExpression은 Windows 데스크탑에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다.
  • windows_desktop_logins (문자열 목록) WindowsDesktopLogins는 Windows 데스크탑에 대해 허용/거부된 데스크탑 로그인 이름 목록입니다.

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

선택 사항:

  • account (문자열)
  • permission_set (문자열)

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

선택 사항:

  • match (문자열 리스트의 맵) Match는 권한 부여를 위해 일치해야 하는 객체 레이블의 리스트입니다.
  • permissions (문자열 리스트) Permission은 부여할 권한의 문자열 표현 리스트입니다. 예: SELECT, INSERT, UPDATE 등.

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

선택 사항:

  • roles (문자열 리스트) Roles는 이 역할이 가장할 수 있는 자원의 리스트입니다.
  • users (문자열 리스트) Users는 이 역할이 가장할 수 있는 자원의 리스트입니다. 빈 리스트일 수도 있고 와일드카드 패턴을 사용할 수도 있습니다.
  • where (문자열) Where는 선택적 고급 매처를 지정합니다.

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

선택 사항:

  • kinds (문자열 리스트) Kinds는 이 정책이 적용되는 세션 종류입니다.
  • modes (문자열 리스트) Modes는 이 정책에 대해 허용된 참가자 모드의 리스트입니다.
  • name (문자열) Name은 정책의 이름입니다.
  • roles (문자열 리스트) Roles는 세션에 조인할 수 있는 역할들의 리스트입니다.

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

선택 사항:

  • kind (문자열) Kind는 Kubernetes 리소스 유형을 지정합니다.
  • name (문자열) Name은 리소스 이름입니다. 와일드카드를 지원합니다.
  • namespace (문자열) Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다.
  • verbs (문자열 리스트) Verbs는 다음 리소스에 대해 허용된 Kubernetes 동작입니다.

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

선택 사항:

  • annotations (문자열 리스트의 맵) Annotations는 생성 시 보류 중인 액세스 요청에 프로그래밍 방식으로 추가할 주석입니다. 이 주석은 추가 정보를 플러그인에 전파하는 메커니즘 역할을 합니다. 이러한 주석은 변수 보간 구문을 지원하므로 외부 ID 제공자로부터 클레임을 플러그인에 전송하는 메커니즘을 제공합니다. {{external.trait_name}} 스타일 대체를 통해 가능합니다.
  • claims_to_roles (속성 리스트) ClaimsToRoles는 클레임(특성)과 텔레포트 역할 간의 매핑을 지정합니다. (아래 중첩 스키마 참조)
  • kubernetes_resources (속성 리스트) kubernetes_resources는 선택적으로 요청자가 특정 종류의 kube 리소스만 요청하도록 강제할 수 있습니다. 예: 사용자는 "kube_cluster" 리소스 종류 또는 "namespaces"와 같은 하위 리소스에 요청할 수 있습니다. 이 필드는 사용자가 "kube_cluster"를 요청하는 것을 방지하고 그 하위 리소스를 요청하도록 강제하는 방식으로 정의할 수 있습니다. (아래 중첩 스키마 참조)
  • max_duration (문자열) MaxDuration은 액세스가 허용될 시간의 양입니다. 이 값이 0이면 기본 기간이 사용됩니다.
  • roles (문자열 리스트) Roles는 요청 규칙과 일치하는 역할의 이름입니다.
  • search_as_roles (문자열 리스트) SearchAsRoles는 자원 액세스 요청의 일환으로 사용자가 자원을 검색할 때 적용될 추가 역할의 리스트입니다. 이는 모든 자원 액세스 요청의 일환으로 요청될 기본 역할을 정의합니다.
  • suggested_reviewers (문자열 리스트) SuggestedReviewers는 검토자 제안 리스트입니다. 이는 텔레포트 사용자 이름일 수 있지만, 필수는 아닙니다.
  • thresholds (속성 리스트) Thresholds는 리뷰가 상태 전이를 트리거하기 위해 충족해야 하는 임계값의 리스트입니다. 임계값이 제공되지 않으면 승인 및 거부에 대한 기본 임계값 1이 사용됩니다. (아래 중첩 스키마 참조)

spec.allow.request.claims_to_roles 에 대한 중첩 스키마

선택적:

  • claim (String) Claim은 클레임 이름입니다.
  • roles (List of String) Roles는 일치해야 하는 정적 teleport 역할 목록입니다.
  • value (String) Value는 일치해야 하는 클레임 값입니다.

spec.allow.request.kubernetes_resources 에 대한 중첩 스키마

선택적:

  • kind (String) kind는 Kubernetes 리소스 유형을 지정합니다.

spec.allow.request.thresholds 에 대한 중첩 스키마

선택적:

  • approve (Number) Approve는 상태 전환을 위해 필요한 일치하는 승인 수입니다.
  • deny (Number) Deny는 상태 전환을 위해 필요한 거부 수입니다.
  • filter (String) Filter는 이 임계값에 포함될 리뷰를 결정하는 선택적 술어입니다.
  • name (String) Name은 임계값의 선택적 사람 친화적인 이름입니다.

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

선택적:

  • count (Number) Count는 이 정책이 충족되기 위해 일치해야 하는 사람 수입니다.
  • filter (String) Filter는 이 정책에 포함될 사용자를 결정하는 술어입니다.
  • kinds (List of String) Kinds는 이 정책이 적용되는 세션 종류입니다.
  • modes (List of String) Modes는 이 정책을 충족하는 데 사용할 수 있는 모드 목록입니다.
  • name (String) Name은 정책의 이름입니다.
  • on_leave (String) OnLeave는 라이브 세션에 대해 정책이 더 이상 충족되지 않을 때 사용하는 동작입니다.

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

선택적:

  • claims_to_roles (Attributes List) ClaimsToRoles는 클레임(특성)에서 teleport 역할로의 매핑을 지정합니다. (중첩 스키마는 아래에서 참조)
  • preview_as_roles (List of String) PreviewAsRoles는 리소스 액세스 요청을 볼 때 요청된 리소스의 호스트 이름 및 레이블과 같은 세부 정보를 보기 위해 리뷰어에게 적용될 추가 역할 목록입니다.
  • roles (List of String) Roles는 리뷰어가 검토할 수 있는 역할의 이름입니다.
  • where (String) Where는 어떤 요청이 리뷰 가능할지 추가로 제한하는 선택적 술어입니다.

spec.allow.review_requests.claims_to_roles 에 대한 중첩 스키마

선택적:

  • claim (String) Claim은 클레임 이름입니다.
  • roles (List of String) Roles는 일치해야 하는 정적 teleport 역할 목록입니다.
  • value (String) Value는 일치해야 하는 클레임 값입니다.

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

선택적:

  • actions (List of String) Actions는 이 규칙이 일치할 때 수행되는 선택적 작업을 지정합니다.
  • resources (List of String) Resources는 리소스 목록입니다.
  • verbs (List of String) Verbs는 동사 목록입니다.
  • where (String) Where는 선택적 고급 매처를 지정합니다.

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

선택적:

  • dns_sans (List of String) DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 요청된 각 DNS SAN은 구성된 모든 매처와 비교되며, 일치하는 것이 있으면 조건이 충족된 것으로 간주됩니다. 기본적으로 매처는 '_'를 사용하여 0개 이상의 모든 문자를 나타내는 것을 허용합니다. '^'를 추가하고 '$'를 추가하여 Go 정규식 구문을 사용하여 매칭으로 전환합니다. 예: _.example.com은 foo.example.com과 일치합니다.
  • ip_sans (List of String) IPSANs는 SPIFFE ID IP SAN에 대한 매처를 지정합니다. 요청된 각 IP SAN은 구성된 모든 매처와 비교되며, 일치하는 것이 있으면 조건이 충족된 것으로 간주됩니다. 매처는 CIDR 표기법을 사용하여 지정해야 하며, IPv4 및 IPv6를 지원합니다. 예: - 10.0.0.0/24는 10.0.0.0에서 10.255.255.255까지 일치합니다. - 10.0.0.42/32는 오직 10.0.0.42만 일치합니다.
  • path (String) Path는 SPIFFE ID 경로에 대한 매처를 지정합니다. 신뢰 도메인을 포함하지 않아야 하며, 선행 슬래시로 시작해야 합니다. 기본적으로 매처는 ''를 사용하여 0개 이상의 모든 문자를 나타내는 것을 허용합니다. '^'를 추가하고 '$'를 추가하여 Go 정규식 구문을 사용하여 매칭으로 전환합니다. 예: - /svc/foo//bar는 /svc/foo/baz/bar와 일치합니다. - ^/svc/foo/.*/bar$는 /svc/foo/baz/bar와 일치합니다.

spec.deny 에 대한 중첩 스키마

선택 사항:

  • account_assignments (속성 목록) AccountAssignments는 이 조건의 영향을 받는 계정 할당 목록을 보유합니다. (중첩 스키마에 대한 내용은 아래 참조)
  • app_labels (문자열 목록의 맵) AppLabels는 RBAC 시스템의 일부로 사용되는 레이블의 맵입니다.
  • app_labels_expression (문자열) AppLabelsExpression은 앱에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • aws_role_arns (문자열 목록) AWSRoleARNs는 이 역할이 가질 수 있는 AWS 역할 ARN 목록입니다.
  • azure_identities (문자열 목록) AzureIdentities는 이 역할이 가질 수 있는 Azure ID 목록입니다.
  • cluster_labels (문자열 목록의 맵) ClusterLabels는 클러스터에 대한 액세스를 동적으로 부여하는 데 사용되는 노드 레이블의 맵입니다.
  • cluster_labels_expression (문자열) ClusterLabelsExpression은 원격 Teleport 클러스터에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • db_labels (문자열 목록의 맵) DatabaseLabels는 데이터베이스에 대한 액세스를 허용/거부하는 데 사용하는 RBAC 시스템입니다.
  • db_labels_expression (문자열) DatabaseLabelsExpression은 데이터베이스에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • db_names (문자열 목록) DatabaseNames는 이 역할이 연결할 수 있는 데이터베이스 이름의 목록입니다.
  • db_permissions (속성 목록) DatabasePermissions는 자동 데이터베이스 사용자 프로비저닝을 사용할 때 데이터베이스 사용자에게 부여될 권한 집합을 지정합니다. (중첩 스키마에 대한 내용은 아래 참조)
  • db_roles (문자열 목록) DatabaseRoles는 자동 사용자 생성을 위한 데이터베이스 역할 목록입니다.
  • db_service_labels (문자열 목록의 맵) DatabaseServiceLabels는 데이터베이스 서비스에 대한 액세스를 허용/거부하는 데 사용하는 RBAC 시스템입니다.
  • db_service_labels_expression (문자열) DatabaseServiceLabelsExpression은 데이터베이스 서비스에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • db_users (문자열 목록) DatabaseUsers는 이 역할이 연결할 수 있는 데이터베이스 사용자 목록입니다.
  • desktop_groups (문자열 목록) DesktopGroups는 생성된 데스크톱 사용자가 추가될 그룹 목록입니다.
  • gcp_service_accounts (문자열 목록) GCPServiceAccounts는 이 역할이 가질 수 있는 GCP 서비스 계정 목록입니다.
  • group_labels (문자열 목록의 맵) GroupLabels는 RBAC 시스템의 일부로 사용되는 레이블의 맵입니다.
  • group_labels_expression (문자열) GroupLabelsExpression은 사용자 그룹에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • host_groups (문자열 목록) HostGroups는 생성된 사용자가 추가될 그룹 목록입니다.
  • host_sudoers (문자열 목록) HostSudoers는 사용자 sudoer 파일에 포함될 항목 목록입니다.
  • impersonate (속성) Impersonate는 이 역할이 인증서 또는 기타 가능한 수단으로 가장할 수 있는 사용자 및 역할을 지정합니다. (중첩 스키마에 대한 내용은 아래 참조)
  • join_sessions (속성 목록) JoinSessions는 사용자가 다른 세션에 참여하도록 허용하는 정책을 지정합니다. (중첩 스키마에 대한 내용은 아래 참조)
  • kubernetes_groups (문자열 목록) KubeGroups는 Kubernetes 그룹 목록입니다.
  • kubernetes_labels (문자열 목록의 맵) KubernetesLabels는 RBAC에 사용되는 Kubernetes 클러스터 레이블의 맵입니다.
  • kubernetes_labels_expression (문자열) KubernetesLabelsExpression은 Kubernetes 클러스터에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • kubernetes_resources (속성 목록) KubernetesResources는 이 역할이 액세스를 부여하는 Kubernetes 리소스입니다. (중첩 스키마에 대한 내용은 아래 참조)
  • kubernetes_users (문자열 목록) KubeUsers는 가장할 수 있는 선택적 Kubernetes 사용자 목록입니다.
  • logins (문자열 목록) Logins는 *nix 시스템 로그인의 목록입니다.
  • node_labels (문자열 목록의 맵) NodeLabels는 노드에 대한 액세스를 동적으로 부여하는 데 사용되는 노드 레이블의 맵입니다.
  • node_labels_expression (문자열) NodeLabelsExpression은 SSH 노드에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • request (속성) (중첩 스키마에 대한 내용은 아래 참조)
  • require_session_join (속성 목록) RequireSessionJoin은 사용자가 세션을 시작하는 데 필요한 정책을 지정합니다. (중첩 스키마에 대한 내용은 아래 참조)
  • review_requests (속성) ReviewRequests는 액세스 검토를 제출하기 위한 조건을 정의합니다. (중첩 스키마에 대한 내용은 아래 참조)
  • rules (속성 목록) Rules는 규칙 및 액세스 수준의 목록입니다. Rules는 액세스 제어에 사용되는 고수준 구조입니다. (중첩 스키마에 대한 내용은 아래 참조)
  • spiffe (속성 목록) SPIFFE는 역할 보유자가 SPIFFE SVID를 생성하는 액세스를 허용하거나 거부하는 데 사용됩니다. (중첩 스키마에 대한 내용은 아래 참조)
  • windows_desktop_labels (문자열 목록의 맵) WindowsDesktopLabels는 Windows 데스크톱에 대한 액세스를 허용/거부하는 데 사용하는 RBAC 시스템입니다.
  • windows_desktop_labels_expression (문자열) WindowsDesktopLabelsExpression은 Windows 데스크톱에 대한 액세스를 허용/거부하는 데 사용되는 조건식입니다.
  • windows_desktop_logins (문자열 목록) WindowsDesktopLogins는 Windows 데스크톱에서 허용/거부되는 데스크톱 로그인 이름 목록입니다.

spec.deny.account_assignments 에 대한 중첩 스키마

선택 사항:

  • account (문자열)
  • permission_set (문자열)

spec.deny.db_permissions 에 대한 중첩 스키마

선택 사항:

  • match (문자열 목록의 맵) Match는 권한이 부여되기 위해 일치해야 하는 객체 레이블 목록입니다.
  • permissions (문자열 목록) Permission은 부여될 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ...

spec.deny.impersonate 에 대한 중첩 스키마

선택 사항:

  • roles (문자열 목록) Roles는 이 역할이 허용하는 리소스 목록입니다.
  • users (문자열 목록) Users는 이 역할이 허용하는 리소스 목록으로, 빈 목록일 수도 있고 와일드카드 패턴이 될 수 있습니다.
  • where (문자열) Where는 선택적 고급 매치기를 지정합니다.

spec.deny.join_sessions 에 대한 중첩 스키마

선택 사항:

  • kinds (문자열 목록) Kinds는 이 정책이 적용되는 세션 종류입니다.
  • modes (문자열 목록) Modes는 이 정책에 허용된 참가자 모드 목록입니다.
  • name (문자열) Name은 정책의 이름입니다.
  • roles (문자열 목록) Roles는 세션에 조인할 수 있는 역할 목록입니다.

spec.deny.kubernetes_resources 에 대한 중첩 스키마

선택 사항:

  • kind (문자열) Kind는 Kubernetes 리소스 유형을 지정합니다.
  • name (문자열) Name은 리소스 이름입니다. 와일드카드를 지원합니다.
  • namespace (문자열) Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다.
  • verbs (문자열 목록) Verbs는 다음 리소스에 대해 허용된 Kubernetes 동사입니다.

spec.deny.request 에 대한 중첩 스키마

선택 사항:

  • annotations (문자열 목록의 맵) Annotations는 Pending Access Requests가 생성될 때 프로그램적으로 추가되도록 구성된 주석 컬렉션입니다. 이러한 주석은 플러그인에 추가 정보를 전파하는 메커니즘으로 작용합니다. 이 주석은 변수 보간 구문을 지원하므로 외부 신원 공급자로부터 플러그인으로 전달하는 메커니즘을 제공합니다. {{external.trait_name}} 스타일의 대체를 통해.
  • claims_to_roles (속성 목록) ClaimsToRoles는 클레임(특성)에서 텔레포트 역할로의 매핑을 지정합니다. (중첩 스키마에 대한 참조는 아래 참조)
  • kubernetes_resources (속성 목록) kubernetes_resources는 선택적으로 요청자가 특정 종류의 kube 리소스만 요청하도록 강제할 수 있습니다. 예: 사용자는 "kube_cluster" 또는 "네임스페이스"와 같은 모든 하위 리소스에 대한 요청을 할 수 있습니다. 이 필드는 사용자가 "kube_cluster"를 요청하는 것을 방지하고 하위 리소스 요청을 강제하도록 정의할 수 있습니다. (중첩 스키마에 대한 참조는 아래 참조)
  • max_duration (문자열) MaxDuration은 액세스가 허용되는 기간입니다. 이것이 0이면 기본 기간이 사용됩니다.
  • roles (문자열 목록) Roles는 요청 규칙과 일치하는 역할의 이름입니다.
  • search_as_roles (문자열 목록) SearchAsRoles는 자원 접근 요청의 일환으로 리소스를 검색하는 동안 사용자에게 적용되어야 하는 추가 역할 목록이며, 자원 접근 요청의 일환으로 요청될 기본 역할을 정의합니다.
  • suggested_reviewers (문자열 목록) SuggestedReviewers는 검토자 제안 목록입니다. 이는 텔레포트 사용자 이름일 수 있지만 필수는 아닙니다.
  • thresholds (속성 목록) Thresholds는 리뷰가 상태 전환을 트리거하기 위해 충족해야 하는 임계값 목록입니다. 제공된 임계값이 없으면 승인 및 거부에 대해 기본 임계값 1이 사용됩니다. (중첩 스키마에 대한 참조는 아래 참조)

spec.deny.request.claims_to_roles 에 대한 중첩 스키마

선택 사항:

  • claim (문자열) Claim은 클레임 이름입니다.
  • roles (문자열 목록) Roles는 일치하는 정적 텔레포트 역할의 목록입니다.
  • value (문자열) Value는 일치하는 클레임 값입니다.

spec.deny.request.kubernetes_resources 에 대한 중첩 스키마

선택 사항:

  • kind (문자열) kind는 Kubernetes 리소스 유형을 지정합니다.

spec.deny.request.thresholds 에 대한 중첩 스키마

선택 사항:

  • approve (숫자) Approve는 상태 전환에 필요한 일치하는 승인 수입니다.
  • deny (숫자) Deny는 상태 전환에 필요한 거부 수입니다.
  • filter (문자열) Filter는 이 임계값에 적용되는 리뷰를 결정하는 데 사용되는 선택적 조건입니다.
  • name (문자열) Name은 임계값의 선택적 인간 가독성 이름입니다.

spec.deny.require_session_join 에 대한 중첩 스키마

선택 사항:

  • count (숫자) Count는 이 정책이 충족되기 위해 일치해야 하는 사람 수입니다.
  • filter (문자열) Filter는 이 정책에 대해 카운트되는 사용자를 결정하는 조건입니다.
  • kinds (문자열 목록) Kinds는 이 정책이 적용되는 세션 종류입니다.
  • modes (문자열 목록) Modes는 이 정책을 충족하는 데 사용할 수 있는 모드 목록입니다.
  • name (문자열) Name은 정책의 이름입니다.
  • on_leave (문자열) OnLeave는 라이브 세션에 대해 정책이 더 이상 충족되지 않을 때 사용되는 동작입니다.

spec.deny.review_requests 에 대한 중첩 스키마

선택 사항:

  • claims_to_roles (속성 목록) ClaimsToRoles는 클레임(특성)에서 텔레포트 역할로의 매핑을 지정합니다. (자세한 내용은 아래 중첩 스키마 참조)
  • preview_as_roles (문자열 목록) PreviewAsRoles는 사용자가 리소스 액세스 요청을 검토할 때 호스트 이름 및 요청된 리소스의 레이블과 같은 세부정보를 보기 위해 적용되어야 하는 추가 역할 목록입니다.
  • roles (문자열 목록) Roles는 검토될 수 있는 역할의 이름입니다.
  • where (문자열) Where는 검토 가능한 요청을 추가로 제한하는 선택적 조건입니다.

spec.deny.review_requests.claims_to_roles 에 대한 중첩 스키마

선택 사항:

  • claim (문자열) Claim은 클레임 이름입니다.
  • roles (문자열 목록) Roles는 일치하는 정적 텔레포트 역할의 목록입니다.
  • value (문자열) Value는 일치하는 클레임 값입니다.

spec.deny.rules 에 대한 중첩 스키마

선택 사항:

  • actions (문자열 목록) Actions는 이 규칙이 일치할 때 수행되는 선택적 작업을 지정합니다.
  • resources (문자열 목록) Resources는 리소스 목록입니다.
  • verbs (문자열 목록) Verbs는 동사의 목록입니다.
  • where (문자열) Where는 선택적 고급 매처를 지정합니다.

spec.deny.spiffe 에 대한 중첩 스키마

선택 사항:

  • dns_sans (문자열 목록) DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 요청된 각 DNS SAN은 구성된 모든 매처와 비교되며, 일치하는 항목이 있으면 조건이 충족된 것으로 간주됩니다. 매처는 기본적으로 '_'를 사용하여 모든 문자의 0개 이상의 항목을 나타내도록 허용합니다. 대신 정규 표현식 구문을 사용하여 매칭하려면 '^'로 시작하고 '$'로 종료합니다. 예: _.example.com은 foo.example.com과 일치합니다.
  • ip_sans (문자열 목록) IPSANs는 SPIFFE ID IP SAN에 대한 매처를 지정합니다. 요청된 각 IP SAN은 구성된 모든 매처와 비교되며, 일치하는 항목이 있으면 조건이 충족된 것으로 간주됩니다. 매처는 CIDR 표기법을 사용하여 지정해야 하며, IPv4 및 IPv6를 지원합니다. 예: - 10.0.0.0/24는 10.0.0.0에서 10.255.255.255까지 일치합니다. - 10.0.0.42/32는 오직 10.0.0.42와만 일치합니다.
  • path (문자열) Path는 SPIFFE ID 경로에 대한 매처를 지정합니다. 신뢰 도메인을 포함하지 않아야 하며, 선행 슬래시로 시작해야 합니다. 매처는 기본적으로 ''를 사용하여 모든 문자의 0개 이상의 항목을 나타내도록 허용합니다. 대신 정규 표현식 구문을 사용하여 매칭하려면 '^'로 시작하고 '$'로 종료합니다. 예: - /svc/foo//bar는 /svc/foo/baz/bar와 일치합니다. - ^/svc/foo/.*/bar$는 /svc/foo/baz/bar와 일치합니다.

spec.options 를 위한 중첩 스키마

선택 사항:

  • cert_extensions (속성 목록) CertExtensions는 키/값을 지정합니다(중첩 스키마에 대한 내용은 아래 참조).
  • cert_format (문자열) CertificateFormat은 이전 버전의 OpenSSH와 호환되도록 사용자 인증서의 형식을 정의합니다.
  • client_idle_timeout (문자열) ClientIdleTimeout은 유휴 시간 초과 동작에서 클라이언트를 단절하도록 설정하며, 0으로 설정하면 단절하지 않음을 의미하고, 그렇지 않으면 유휴 지속 시간으로 설정됩니다.
  • create_db_user (부울) CreateDatabaseUser는 자동 데이터베이스 사용자 생성을 활성화합니다.
  • create_db_user_mode (숫자) CreateDatabaseUserMode는 꺼짐으로 설정되지 않은 경우 데이터베이스에서 사용자가 자동으로 생성될 수 있도록 허용합니다. 0은 "지정되지 않음", 1은 "꺼짐", 2는 "유지", 3은 "최선의 노력으로 제거".
  • create_desktop_user (부울) CreateDesktopUser는 Windows 데스크톱에서 사용자가 자동으로 생성될 수 있도록 허용합니다.
  • create_host_user (부울) 더 이상 사용되지 않음: 대신 CreateHostUserMode를 사용하세요.
  • create_host_user_default_shell (문자열) CreateHostUserDefaultShell은 새로 제공된 호스트 사용자의 기본 셸을 구성하는 데 사용됩니다.
  • create_host_user_mode (숫자) CreateHostUserMode는 꺼짐으로 설정되지 않은 경우 호스트에서 사용자가 자동으로 생성될 수 있도록 허용합니다. 0은 "지정되지 않음"; 1은 "꺼짐"; 2는 "제거" (v15 이상에서 제거됨), 3은 "유지"; 4는 "불안전 제거".
  • desktop_clipboard (부울) DesktopClipboard는 사용자의 워크스테이션과 원격 데스크톱 간의 클립보드 공유가 허용되는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
  • desktop_directory_sharing (부울) DesktopDirectorySharing은 사용자의 워크스테이션과 원격 데스크톱 간의 디렉터리 공유가 허용되는지 여부를 나타냅니다. 명시적으로 true로 설정되지 않는 한 기본값은 false입니다.
  • device_trust_mode (문자열) DeviceTrustMode는 역할과 관련된 리소스에서 사용하는 장치 승인 모드를 지정합니다. DeviceTrust.Mode 참조.
  • disconnect_expired_cert (부울) DisconnectExpiredCert는 만료된 인증서에 대해 클라이언트를 단절하도록 설정합니다.
  • enhanced_recording (문자열 목록) BPF는 BPF 기반 세션 레코더를 위해 기록할 이벤트를 정의합니다.
  • forward_agent (부울) ForwardAgent는 SSH 에이전트 전달입니다.
  • idp (속성) IDP는 Teleport 내에서 IdP에 액세스하는 것과 관련된 옵션 집합입니다. Teleport Enterprise 필요 (중첩 스키마에 대한 내용은 아래 참조).
  • lock (문자열) Lock은 역할과 함께 적용될 잠금 모드(엄격|최선의 노력)를 지정합니다.
  • max_connections (숫자) MaxConnections는 사용자가 보유할 수 있는 최대 동시 연결 수를 정의합니다.
  • max_kubernetes_connections (숫자) MaxKubernetesConnections는 사용자가 보유할 수 있는 최대 동시 Kubernetes 세션 수를 정의합니다.
  • max_session_ttl (문자열) MaxSessionTTL은 SSH 세션이 지속될 수 있는 최대 시간을 정의합니다.
  • max_sessions (숫자) MaxSessions는 연결당 최대 동시 세션 수를 정의합니다.
  • mfa_verification_interval (문자열) MFAVerificationInterval은 연속 MFA 확인 사이의 최장 지속 시간을 옵션으로 정의합니다. 이 변수는 사용자가 정기적으로 본인 확인을 하도록 요청받게 하여, tsh proxy * 파생품을 사용할 때 재인증 없이 긴 세션을 방지함으로써 보안을 강화하는 데 사용됩니다. 세션에서 MFA가 필요한 경우에만 효과적입니다. 설정하지 않으면 기본값은 max_session_ttl 입니다.
  • permit_x11_forwarding (부울) PermitX11Forwarding은 X11 포워딩 사용을 승인합니다.
  • pin_source_ip (부울) PinSourceIP는 인증서 생성 및 사용을 위해 동일한 클라이언트 IP를 강제합니다.
  • port_forwarding (부울) PortForwarding은 인증서에 "permit-port-forwarding"이 포함될지를 정의합니다. 설정하지 않으면 PortForwarding은 "yes"입니다. 따라서 이는 포인터입니다.
  • record_session (속성) RecordDesktopSession은 데스크톱 액세스 세션이 기록되어야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다. (중첩 스키마에 대한 내용은 아래 참조).
  • request_access (문자열) RequestAccess는 요청 전략(옵션|참고|항상)을 정의하며, 기본값은 옵션입니다.
  • request_prompt (문자열) RequestPrompt는 사용자가 요청해야 하는 사항을 알려주는 선택적 메시지입니다.
  • require_session_mfa (숫자) RequireMFAType는 이 사용자에게 강제되는 MFA 요구 사항의 유형입니다. 0은 "꺼짐", 1은 "세션", 2는 "세션 및 하드웨어 키", 3은 "하드웨어 키 터치", 4는 "하드웨어 키 PIN", 5는 "하드웨어 키 터치 및 PIN".
  • ssh_file_copy (부울) SSHFileCopy는 SSH 세션을 통해 SCP 또는 SFTP를 통한 원격 파일 작업이 허용되는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.

spec.options.cert_extensions 에 대한 중첩 스키마

선택 사항:

  • mode (Number) 모드는 사용할 확장의 유형을 나타냅니다 -- 현재 critical-option은 지원되지 않습니다. 0은 "extension"입니다.
  • name (String) 이름은 인증서 확장에 사용될 키를 지정합니다.
  • type (Number) 유형은 확장되는 인증서 유형을 나타내며, 현재는 ssh만 지원됩니다. 0은 "ssh"입니다.
  • value (String) 값은 인증서 확장에서 사용될 값을 지정합니다.

spec.options.idp 에 대한 중첩 스키마

선택 사항:

  • saml (Attributes) SAML은 Teleport SAML IdP와 관련된 옵션입니다. (중첩 스키마에 대한 아래 참조)

spec.options.idp.saml 에 대한 중첩 스키마

선택 사항:

  • enabled (Boolean) 사용 가능 여부는 이 옵션이 Teleport SAML IdP에 대한 액세스를 허용하는 경우 true로 설정됩니다.

spec.options.record_session 에 대한 중첩 스키마

선택 사항:

  • default (String) 기본값은 서비스에 대한 기본 값을 나타냅니다.
  • desktop (Boolean) 데스크탑은 데스크탑 세션을 기록해야 하는지를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
  • ssh (String) SSH는 SSH 세션에서 사용되는 세션 모드를 나타냅니다.
Teleport 원문 보기