InfoGrab Docs

TeleportRole

요약

이 가이드는 Teleport Kubernetes 오퍼레이터를 설치한 후 적용할 수 있는 TeleportRole 리소스의 필드에 대한 종합 참조 문서입니다. apiVersion: resources.teleport.dev/v5

이 가이드는 Teleport Kubernetes 오퍼레이터를 설치한 후 적용할 수 있는 TeleportRole 리소스의 필드에 대한 종합 참조 문서입니다.

resources.teleport.dev/v5#

apiVersion: resources.teleport.dev/v5

필드 타입 설명
apiVersion string APIVersion은 이 객체 표현의 버전화된 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind string Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 유추할 수 있습니다. 업데이트할 수 없습니다. CamelCase 형식입니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata object
spec object Teleport의 역할 리소스 정의 v5

spec#

필드 타입 설명
allow object Allow는 액세스를 허용하기 위해 평가되는 조건 집합입니다.
deny object Deny는 액세스를 거부하기 위해 평가되는 조건 집합입니다. Deny는 allow보다 우선합니다.
options object Options는 에이전트 포워딩과 같은 OpenSSH 옵션을 위한 것입니다.

spec.allow#

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

spec.allow.account_assignments items#

필드 타입 설명
account string
permission_set string

spec.allow.db_permissions items#

필드 타입 설명
match object Match는 권한이 부여되기 위해 일치해야 하는 객체 레이블 목록입니다.
permissions []string Permission은 부여될 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ...

spec.allow.github_permissions items#

필드 타입 설명
orgs []string

spec.allow.impersonate#

필드 타입 설명
roles []string Roles는 이 역할이 가장할 수 있는 리소스 목록입니다.
users []string Users는 이 역할이 가장할 수 있는 리소스 목록으로, 빈 목록이거나 와일드카드 패턴일 수 있습니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.allow.join_sessions items#

필드 타입 설명
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책에 허용되는 참여자 모드 목록입니다.
name string Name은 정책의 이름입니다.
roles []string Roles는 세션에 참여할 수 있는 역할 목록입니다.

spec.allow.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스의 Kubernetes API 그룹을 지정합니다. 와일드카드를 지원합니다.
kind string Kind는 Kubernetes 리소스 타입을 지정합니다.
name string Name은 리소스 이름입니다. 와일드카드를 지원합니다.
namespace string Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다.
verbs []string Verbs는 해당 리소스에 허용되는 Kubernetes 동사입니다.

spec.allow.mcp#

필드 타입 설명
tools []string Tools는 이 역할에 허용되거나 거부된 도구 목록을 정의합니다. 각 항목은 리터럴 문자열, glob 패턴(예: "prefix_*") 또는 정규식('^'으로 시작하고 '$'로 끝나야 함)일 수 있습니다. 목록이 비어 있으면 도구가 허용되지 않습니다.

spec.allow.request#

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

spec.allow.request.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.allow.request.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스 API 그룹을 지정합니다.
kind string kind는 Kubernetes 리소스 타입을 지정합니다.

spec.allow.request.reason#

필드 타입 설명
mode string Mode는 "required" 또는 "optional"일 수 있습니다. 빈 문자열은 "optional"로 처리됩니다. 역할의 요청 이유 모드가 "required"로 설정된 경우 이 역할에서 허용하는 역할 또는 리소스를 요청하는 모든 액세스 요청에 대해 이유가 필요합니다. 이 역할이 할당된 사용자에게만 적용됩니다.
prompt string Prompt는 요청된 역할 또는 다른 역할로 검색 가능한 리소스에 대해 사용자에게 표시되는 사용자 정의 메시지입니다. 프롬프트를 지정하는 요청된 역할 및 리소스에만 적용됩니다.

spec.allow.request.thresholds items#

필드 타입 설명
approve integer Approve는 상태 전환에 필요한 일치하는 승인 수입니다.
deny integer Deny는 상태 전환에 필요한 거부 수입니다.
filter string Filter는 이 임계값에 반영되는 검토를 결정하는 데 사용되는 선택적 조건자입니다.
name string Name은 임계값의 선택적 사람이 읽을 수 있는 이름입니다.

spec.allow.require_session_join items#

필드 타입 설명
count integer Count는 이 정책이 충족되기 위해 일치해야 하는 사람의 수입니다.
filter string Filter는 이 정책에 반영되는 사용자를 결정하는 조건자입니다.
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책을 충족하는 데 사용할 수 있는 모드 목록입니다.
name string Name은 정책의 이름입니다.
on_leave string OnLeave는 라이브 세션에 대한 정책이 더 이상 충족되지 않을 때 사용되는 동작입니다.

spec.allow.review_requests#

필드 타입 설명
claims_to_roles []object ClaimsToRoles는 클레임(트레이트)에서 Teleport 역할로의 매핑을 지정합니다.
preview_as_roles []string PreviewAsRoles는 검토자가 요청된 리소스의 호스트 이름 및 레이블과 같은 세부 정보를 보기 위해 리소스 액세스 요청을 볼 때 적용되어야 하는 추가 역할 목록입니다.
roles []string Roles는 검토될 수 있는 역할의 이름입니다.
where string Where는 검토 가능한 요청을 추가로 제한하는 선택적 조건자입니다.

spec.allow.review_requests.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.allow.rules items#

필드 타입 설명
actions []string Actions는 이 규칙이 일치할 때 취할 선택적 작업을 지정합니다.
resources []string Resources는 리소스 목록입니다.
verbs []string Verbs는 동사 목록입니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.allow.spiffe items#

필드 타입 설명
dns_sans []string DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 각 요청된 DNS SAN은 구성된 모든 매처와 비교되며 하나라도 일치하면 조건이 충족된 것으로 간주됩니다. 매처는 기본적으로 '*'를 0개 이상의 임의 문자를 나타내는 데 사용합니다. '^'를 앞에 붙이고 '$'를 끝에 붙이면 Go regex 구문을 사용하는 매칭으로 전환됩니다. 예: *.example.com은 foo.example.com과 일치합니다.
ip_sans []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 regex 구문을 사용하는 매칭으로 전환됩니다. 예: - /svc/foo//bar는 /svc/foo/baz/bar와 일치 - ^/svc/foo/.*/bar$는 /svc/foo/baz/bar와 일치

spec.deny#

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

spec.deny.account_assignments items#

필드 타입 설명
account string
permission_set string

spec.deny.db_permissions items#

필드 타입 설명
match object Match는 권한이 부여되기 위해 일치해야 하는 객체 레이블 목록입니다.
permissions []string Permission은 부여될 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ...

spec.deny.github_permissions items#

필드 타입 설명
orgs []string

spec.deny.impersonate#

필드 타입 설명
roles []string Roles는 이 역할이 가장할 수 있는 리소스 목록입니다.
users []string Users는 이 역할이 가장할 수 있는 리소스 목록으로, 빈 목록이거나 와일드카드 패턴일 수 있습니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.deny.join_sessions items#

필드 타입 설명
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책에 허용되는 참여자 모드 목록입니다.
name string Name은 정책의 이름입니다.
roles []string Roles는 세션에 참여할 수 있는 역할 목록입니다.

spec.deny.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스의 Kubernetes API 그룹을 지정합니다. 와일드카드를 지원합니다.
kind string Kind는 Kubernetes 리소스 타입을 지정합니다.
name string Name은 리소스 이름입니다. 와일드카드를 지원합니다.
namespace string Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다.
verbs []string Verbs는 해당 리소스에 허용되는 Kubernetes 동사입니다.

spec.deny.mcp#

필드 타입 설명
tools []string Tools는 이 역할에 허용되거나 거부된 도구 목록을 정의합니다. 각 항목은 리터럴 문자열, glob 패턴(예: "prefix_*") 또는 정규식('^'으로 시작하고 '$'로 끝나야 함)일 수 있습니다. 목록이 비어 있으면 도구가 허용되지 않습니다.

spec.deny.request#

필드 타입 설명
annotations object Annotations는 생성 시 보류 중인 액세스 요청에 프로그래밍 방식으로 추가될 주석 모음입니다. 이 주석은 플러그인에 추가 정보를 전파하는 메커니즘으로 사용됩니다. 이러한 주석은 변수 보간 구문을 지원하므로 {{external.trait_name}} 스타일 대체를 통해 외부 ID 공급자의 클레임을 플러그인으로 전달하는 메커니즘도 제공합니다.
claims_to_roles []object ClaimsToRoles는 클레임(트레이트)에서 Teleport 역할로의 매핑을 지정합니다.
kubernetes_resources []object kubernetes_resources는 선택적으로 요청자가 특정 종류의 kube 리소스만 요청하도록 강제할 수 있습니다.
max_duration string MaxDuration은 액세스가 허용되는 시간입니다. 0인 경우 기본 기간이 사용됩니다.
reason object Reason은 사용자가 제공하는 액세스 이유에 대한 설정을 정의합니다.
roles []string Roles는 요청 규칙과 일치할 역할의 이름입니다.
search_as_roles []string SearchAsRoles는 리소스 액세스 요청의 일부로 사용자가 리소스를 검색하는 동안 적용되어야 하는 추가 역할 목록입니다.
suggested_reviewers []string SuggestedReviewers는 검토자 제안 목록입니다. Teleport 사용자 이름일 수 있지만 필수는 아닙니다.
thresholds []object Thresholds는 임계값 목록으로, 검토가 상태 전환을 트리거하려면 하나 이상이 충족되어야 합니다. 임계값이 제공되지 않으면 승인 및 거부에 대한 기본 임계값은 1입니다.

spec.deny.request.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.deny.request.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스 API 그룹을 지정합니다.
kind string kind는 Kubernetes 리소스 타입을 지정합니다.

spec.deny.request.reason#

필드 타입 설명
mode string Mode는 "required" 또는 "optional"일 수 있습니다. 빈 문자열은 "optional"로 처리됩니다.
prompt string Prompt는 요청된 역할 또는 다른 역할로 검색 가능한 리소스에 대해 사용자에게 표시되는 사용자 정의 메시지입니다.

spec.deny.request.thresholds items#

필드 타입 설명
approve integer Approve는 상태 전환에 필요한 일치하는 승인 수입니다.
deny integer Deny는 상태 전환에 필요한 거부 수입니다.
filter string Filter는 이 임계값에 반영되는 검토를 결정하는 데 사용되는 선택적 조건자입니다.
name string Name은 임계값의 선택적 사람이 읽을 수 있는 이름입니다.

spec.deny.require_session_join items#

필드 타입 설명
count integer Count는 이 정책이 충족되기 위해 일치해야 하는 사람의 수입니다.
filter string Filter는 이 정책에 반영되는 사용자를 결정하는 조건자입니다.
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책을 충족하는 데 사용할 수 있는 모드 목록입니다.
name string Name은 정책의 이름입니다.
on_leave string OnLeave는 라이브 세션에 대한 정책이 더 이상 충족되지 않을 때 사용되는 동작입니다.

spec.deny.review_requests#

필드 타입 설명
claims_to_roles []object ClaimsToRoles는 클레임(트레이트)에서 Teleport 역할로의 매핑을 지정합니다.
preview_as_roles []string PreviewAsRoles는 검토자가 리소스 액세스 요청을 볼 때 적용되어야 하는 추가 역할 목록입니다.
roles []string Roles는 검토될 수 있는 역할의 이름입니다.
where string Where는 검토 가능한 요청을 추가로 제한하는 선택적 조건자입니다.

spec.deny.review_requests.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.deny.rules items#

필드 타입 설명
actions []string Actions는 이 규칙이 일치할 때 취할 선택적 작업을 지정합니다.
resources []string Resources는 리소스 목록입니다.
verbs []string Verbs는 동사 목록입니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.deny.spiffe items#

필드 타입 설명
dns_sans []string DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 각 요청된 DNS SAN은 구성된 모든 매처와 비교되며 하나라도 일치하면 조건이 충족된 것으로 간주됩니다.
ip_sans []string IPSANs는 SPIFFE ID IP SAN에 대한 매처를 지정합니다. CIDR 표기법을 사용하여 지정해야 하며 IPv4 및 IPv6를 지원합니다.
path string Path는 SPIFFE ID 경로에 대한 매처를 지정합니다. 트러스트 도메인을 포함하지 않아야 하며 선행 슬래시로 시작해야 합니다.

spec.options#

필드 타입 설명
cert_extensions []object CertExtensions는 키/값을 지정합니다.
cert_format string CertificateFormat은 이전 버전의 OpenSSH와의 호환성을 위한 사용자 인증서 형식을 정의합니다.
client_idle_timeout string ClientIdleTimeout은 유휴 시간 초과 시 클라이언트 연결 해제 동작을 설정합니다. 0으로 설정하면 연결을 해제하지 않음을 의미하고, 그렇지 않으면 유휴 기간으로 설정됩니다.
create_db_user boolean CreateDatabaseUser는 자동 데이터베이스 사용자 생성을 활성화합니다.
create_db_user_mode string or integer CreateDatabaseUserMode는 off로 설정되지 않은 경우 데이터베이스에서 자동으로 사용자를 생성할 수 있습니다. 0은 "unspecified", 1은 "off", 2는 "keep", 3은 "best_effort_drop"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
create_desktop_user boolean CreateDesktopUser는 Windows 데스크톱에서 자동으로 사용자를 생성할 수 있습니다.
create_host_user boolean 더 이상 사용되지 않음: CreateHostUserMode를 사용하세요.
create_host_user_default_shell string CreateHostUserDefaultShell은 새로 프로비저닝된 호스트 사용자의 기본 셸을 구성하는 데 사용됩니다.
create_host_user_mode string or integer CreateHostUserMode는 off로 설정되지 않은 경우 호스트에서 자동으로 사용자를 생성할 수 있습니다. 0은 "unspecified"; 1은 "off"; 2는 "drop"(v15 이상에서 제거됨), 3은 "keep"; 4는 "insecure-drop"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
desktop_clipboard boolean DesktopClipboard는 사용자의 워크스테이션과 원격 데스크톱 간에 클립보드 공유가 허용되는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
desktop_directory_sharing boolean DesktopDirectorySharing은 사용자의 워크스테이션과 원격 데스크톱 간에 디렉터리 공유가 허용되는지 여부를 나타냅니다. 명시적으로 true로 설정되지 않는 한 기본값은 false입니다.
device_trust_mode string DeviceTrustMode는 역할과 연관된 리소스에 사용되는 장치 인증 모드입니다. DeviceTrust.Mode를 참조하세요.
disconnect_expired_cert boolean DisconnectExpiredCert는 만료된 인증서에서 클라이언트 연결을 해제합니다.
enhanced_recording []string BPF는 BPF 기반 세션 레코더에 기록할 이벤트를 정의합니다.
forward_agent boolean ForwardAgent는 SSH 에이전트 포워딩입니다.
idp object IDP는 Teleport 내에서 IdP에 액세스하는 것과 관련된 옵션 집합입니다. Teleport Enterprise가 필요합니다.
lock string Lock은 역할에 적용될 잠금 모드(strict
max_connections integer MaxConnections는 사용자가 보유할 수 있는 최대 동시 연결 수를 정의합니다.
max_kubernetes_connections integer MaxKubernetesConnections는 사용자가 보유할 수 있는 최대 동시 Kubernetes 세션 수를 정의합니다.
max_session_ttl string MaxSessionTTL은 SSH 세션이 지속될 수 있는 기간을 정의합니다.
max_sessions integer MaxSessions는 연결당 최대 동시 세션 수를 정의합니다.
mfa_verification_interval string MFAVerificationInterval은 연속 MFA 검증 사이에 경과할 수 있는 최대 기간을 선택적으로 정의합니다. 이 변수는 tsh proxy * 파생물을 사용할 때 재인증 없이 연장된 세션을 방지하여 사용자가 주기적으로 ID를 확인하도록 하는 데 사용됩니다. 세션에 MFA가 필요한 경우에만 유효합니다. 설정되지 않은 경우 max_session_ttl이 기본값입니다.
permit_x11_forwarding boolean PermitX11Forwarding은 X11 포워딩 사용을 인증합니다.
pin_source_ip boolean PinSourceIP는 인증서 생성 및 사용에 동일한 클라이언트 IP를 강제합니다.
port_forwarding boolean 더 이상 사용되지 않음: SSHPortForwarding을 사용하세요.
record_session object RecordDesktopSession은 데스크톱 액세스 세션을 기록해야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
request_access string RequestAccess는 요청 전략(optional
request_prompt string RequestPrompt는 사용자에게 무엇을 요청해야 하는지 알려주는 선택적 메시지입니다.
require_session_mfa string or integer RequireMFAType은 이 사용자에게 강제되는 MFA 요구사항 유형입니다. 0은 "OFF", 1은 "SESSION", 2는 "SESSION_AND_HARDWARE_KEY", 3은 "HARDWARE_KEY_TOUCH", 4는 "HARDWARE_KEY_PIN", 5는 "HARDWARE_KEY_TOUCH_AND_PIN"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
ssh_file_copy boolean SSHFileCopy는 SCP 또는 SFTP를 통한 원격 파일 작업이 SSH 세션을 통해 허용되는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
ssh_port_forwarding object SSHPortForwarding은 역할에 의해 허용되는 SSH 포트 포워딩 유형을 구성합니다.

spec.options.cert_extensions items#

필드 타입 설명
mode string or integer Mode는 사용할 확장 유형입니다 -- 현재 critical-option은 지원되지 않습니다. 0은 "extension"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
name string Name은 인증서 확장에 사용될 키를 지정합니다.
type string or integer Type은 확장할 인증서 유형을 나타내며 현재는 ssh만 지원됩니다. 0은 "ssh"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
value string Value는 인증서 확장에 사용될 값을 지정합니다.

spec.options.idp#

필드 타입 설명
saml object SAML은 Teleport SAML IdP에 대한 액세스와 관련된 옵션입니다.

spec.options.idp.saml#

필드 타입 설명
enabled boolean Enabled는 이 옵션이 Teleport SAML IdP에 대한 액세스를 허용하는 경우 true로 설정됩니다.

spec.options.record_session#

필드 타입 설명
default string Default는 서비스의 기본값을 나타냅니다.
desktop boolean Desktop은 데스크톱 세션을 기록해야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
ssh string SSH는 SSH 세션에 사용되는 세션 모드를 나타냅니다.

spec.options.ssh_port_forwarding#

필드 타입 설명
local object 로컬 포트 포워딩을 허용합니다.
remote object 원격 포트 포워딩을 허용합니다.

spec.options.ssh_port_forwarding.local#

필드 타입 설명
enabled boolean

spec.options.ssh_port_forwarding.remote#

필드 타입 설명
enabled boolean

resources.teleport.dev/v6#

apiVersion: resources.teleport.dev/v6

필드 타입 설명
apiVersion string APIVersion은 이 객체 표현의 버전화된 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind string Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 유추할 수 있습니다. 업데이트할 수 없습니다. CamelCase 형식입니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata object
spec object Teleport의 역할 리소스 정의 v6

위 v5 섹션의 모든 spec, spec.allow, spec.deny, spec.options 필드는 v6 apiVersion에도 동일하게 적용됩니다.

TeleportRole

원문 보기
요약

이 가이드는 Teleport Kubernetes 오퍼레이터를 설치한 후 적용할 수 있는 TeleportRole 리소스의 필드에 대한 종합 참조 문서입니다. apiVersion: resources.teleport.dev/v5

이 가이드는 Teleport Kubernetes 오퍼레이터를 설치한 후 적용할 수 있는 TeleportRole 리소스의 필드에 대한 종합 참조 문서입니다.

resources.teleport.dev/v5#

apiVersion: resources.teleport.dev/v5

필드 타입 설명
apiVersion string APIVersion은 이 객체 표현의 버전화된 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind string Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 유추할 수 있습니다. 업데이트할 수 없습니다. CamelCase 형식입니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata object
spec object Teleport의 역할 리소스 정의 v5

spec#

필드 타입 설명
allow object Allow는 액세스를 허용하기 위해 평가되는 조건 집합입니다.
deny object Deny는 액세스를 거부하기 위해 평가되는 조건 집합입니다. Deny는 allow보다 우선합니다.
options object Options는 에이전트 포워딩과 같은 OpenSSH 옵션을 위한 것입니다.

spec.allow#

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

spec.allow.account_assignments items#

필드 타입 설명
account string
permission_set string

spec.allow.db_permissions items#

필드 타입 설명
match object Match는 권한이 부여되기 위해 일치해야 하는 객체 레이블 목록입니다.
permissions []string Permission은 부여될 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ...

spec.allow.github_permissions items#

필드 타입 설명
orgs []string

spec.allow.impersonate#

필드 타입 설명
roles []string Roles는 이 역할이 가장할 수 있는 리소스 목록입니다.
users []string Users는 이 역할이 가장할 수 있는 리소스 목록으로, 빈 목록이거나 와일드카드 패턴일 수 있습니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.allow.join_sessions items#

필드 타입 설명
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책에 허용되는 참여자 모드 목록입니다.
name string Name은 정책의 이름입니다.
roles []string Roles는 세션에 참여할 수 있는 역할 목록입니다.

spec.allow.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스의 Kubernetes API 그룹을 지정합니다. 와일드카드를 지원합니다.
kind string Kind는 Kubernetes 리소스 타입을 지정합니다.
name string Name은 리소스 이름입니다. 와일드카드를 지원합니다.
namespace string Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다.
verbs []string Verbs는 해당 리소스에 허용되는 Kubernetes 동사입니다.

spec.allow.mcp#

필드 타입 설명
tools []string Tools는 이 역할에 허용되거나 거부된 도구 목록을 정의합니다. 각 항목은 리터럴 문자열, glob 패턴(예: "prefix_*") 또는 정규식('^'으로 시작하고 '$'로 끝나야 함)일 수 있습니다. 목록이 비어 있으면 도구가 허용되지 않습니다.

spec.allow.request#

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

spec.allow.request.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.allow.request.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스 API 그룹을 지정합니다.
kind string kind는 Kubernetes 리소스 타입을 지정합니다.

spec.allow.request.reason#

필드 타입 설명
mode string Mode는 "required" 또는 "optional"일 수 있습니다. 빈 문자열은 "optional"로 처리됩니다. 역할의 요청 이유 모드가 "required"로 설정된 경우 이 역할에서 허용하는 역할 또는 리소스를 요청하는 모든 액세스 요청에 대해 이유가 필요합니다. 이 역할이 할당된 사용자에게만 적용됩니다.
prompt string Prompt는 요청된 역할 또는 다른 역할로 검색 가능한 리소스에 대해 사용자에게 표시되는 사용자 정의 메시지입니다. 프롬프트를 지정하는 요청된 역할 및 리소스에만 적용됩니다.

spec.allow.request.thresholds items#

필드 타입 설명
approve integer Approve는 상태 전환에 필요한 일치하는 승인 수입니다.
deny integer Deny는 상태 전환에 필요한 거부 수입니다.
filter string Filter는 이 임계값에 반영되는 검토를 결정하는 데 사용되는 선택적 조건자입니다.
name string Name은 임계값의 선택적 사람이 읽을 수 있는 이름입니다.

spec.allow.require_session_join items#

필드 타입 설명
count integer Count는 이 정책이 충족되기 위해 일치해야 하는 사람의 수입니다.
filter string Filter는 이 정책에 반영되는 사용자를 결정하는 조건자입니다.
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책을 충족하는 데 사용할 수 있는 모드 목록입니다.
name string Name은 정책의 이름입니다.
on_leave string OnLeave는 라이브 세션에 대한 정책이 더 이상 충족되지 않을 때 사용되는 동작입니다.

spec.allow.review_requests#

필드 타입 설명
claims_to_roles []object ClaimsToRoles는 클레임(트레이트)에서 Teleport 역할로의 매핑을 지정합니다.
preview_as_roles []string PreviewAsRoles는 검토자가 요청된 리소스의 호스트 이름 및 레이블과 같은 세부 정보를 보기 위해 리소스 액세스 요청을 볼 때 적용되어야 하는 추가 역할 목록입니다.
roles []string Roles는 검토될 수 있는 역할의 이름입니다.
where string Where는 검토 가능한 요청을 추가로 제한하는 선택적 조건자입니다.

spec.allow.review_requests.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.allow.rules items#

필드 타입 설명
actions []string Actions는 이 규칙이 일치할 때 취할 선택적 작업을 지정합니다.
resources []string Resources는 리소스 목록입니다.
verbs []string Verbs는 동사 목록입니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.allow.spiffe items#

필드 타입 설명
dns_sans []string DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 각 요청된 DNS SAN은 구성된 모든 매처와 비교되며 하나라도 일치하면 조건이 충족된 것으로 간주됩니다. 매처는 기본적으로 '*'를 0개 이상의 임의 문자를 나타내는 데 사용합니다. '^'를 앞에 붙이고 '$'를 끝에 붙이면 Go regex 구문을 사용하는 매칭으로 전환됩니다. 예: *.example.com은 foo.example.com과 일치합니다.
ip_sans []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 regex 구문을 사용하는 매칭으로 전환됩니다. 예: - /svc/foo//bar는 /svc/foo/baz/bar와 일치 - ^/svc/foo/.*/bar$는 /svc/foo/baz/bar와 일치

spec.deny#

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

spec.deny.account_assignments items#

필드 타입 설명
account string
permission_set string

spec.deny.db_permissions items#

필드 타입 설명
match object Match는 권한이 부여되기 위해 일치해야 하는 객체 레이블 목록입니다.
permissions []string Permission은 부여될 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ...

spec.deny.github_permissions items#

필드 타입 설명
orgs []string

spec.deny.impersonate#

필드 타입 설명
roles []string Roles는 이 역할이 가장할 수 있는 리소스 목록입니다.
users []string Users는 이 역할이 가장할 수 있는 리소스 목록으로, 빈 목록이거나 와일드카드 패턴일 수 있습니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.deny.join_sessions items#

필드 타입 설명
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책에 허용되는 참여자 모드 목록입니다.
name string Name은 정책의 이름입니다.
roles []string Roles는 세션에 참여할 수 있는 역할 목록입니다.

spec.deny.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스의 Kubernetes API 그룹을 지정합니다. 와일드카드를 지원합니다.
kind string Kind는 Kubernetes 리소스 타입을 지정합니다.
name string Name은 리소스 이름입니다. 와일드카드를 지원합니다.
namespace string Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다.
verbs []string Verbs는 해당 리소스에 허용되는 Kubernetes 동사입니다.

spec.deny.mcp#

필드 타입 설명
tools []string Tools는 이 역할에 허용되거나 거부된 도구 목록을 정의합니다. 각 항목은 리터럴 문자열, glob 패턴(예: "prefix_*") 또는 정규식('^'으로 시작하고 '$'로 끝나야 함)일 수 있습니다. 목록이 비어 있으면 도구가 허용되지 않습니다.

spec.deny.request#

필드 타입 설명
annotations object Annotations는 생성 시 보류 중인 액세스 요청에 프로그래밍 방식으로 추가될 주석 모음입니다. 이 주석은 플러그인에 추가 정보를 전파하는 메커니즘으로 사용됩니다. 이러한 주석은 변수 보간 구문을 지원하므로 {{external.trait_name}} 스타일 대체를 통해 외부 ID 공급자의 클레임을 플러그인으로 전달하는 메커니즘도 제공합니다.
claims_to_roles []object ClaimsToRoles는 클레임(트레이트)에서 Teleport 역할로의 매핑을 지정합니다.
kubernetes_resources []object kubernetes_resources는 선택적으로 요청자가 특정 종류의 kube 리소스만 요청하도록 강제할 수 있습니다.
max_duration string MaxDuration은 액세스가 허용되는 시간입니다. 0인 경우 기본 기간이 사용됩니다.
reason object Reason은 사용자가 제공하는 액세스 이유에 대한 설정을 정의합니다.
roles []string Roles는 요청 규칙과 일치할 역할의 이름입니다.
search_as_roles []string SearchAsRoles는 리소스 액세스 요청의 일부로 사용자가 리소스를 검색하는 동안 적용되어야 하는 추가 역할 목록입니다.
suggested_reviewers []string SuggestedReviewers는 검토자 제안 목록입니다. Teleport 사용자 이름일 수 있지만 필수는 아닙니다.
thresholds []object Thresholds는 임계값 목록으로, 검토가 상태 전환을 트리거하려면 하나 이상이 충족되어야 합니다. 임계값이 제공되지 않으면 승인 및 거부에 대한 기본 임계값은 1입니다.

spec.deny.request.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.deny.request.kubernetes_resources items#

필드 타입 설명
api_group string APIGroup은 Kubernetes 리소스 API 그룹을 지정합니다.
kind string kind는 Kubernetes 리소스 타입을 지정합니다.

spec.deny.request.reason#

필드 타입 설명
mode string Mode는 "required" 또는 "optional"일 수 있습니다. 빈 문자열은 "optional"로 처리됩니다.
prompt string Prompt는 요청된 역할 또는 다른 역할로 검색 가능한 리소스에 대해 사용자에게 표시되는 사용자 정의 메시지입니다.

spec.deny.request.thresholds items#

필드 타입 설명
approve integer Approve는 상태 전환에 필요한 일치하는 승인 수입니다.
deny integer Deny는 상태 전환에 필요한 거부 수입니다.
filter string Filter는 이 임계값에 반영되는 검토를 결정하는 데 사용되는 선택적 조건자입니다.
name string Name은 임계값의 선택적 사람이 읽을 수 있는 이름입니다.

spec.deny.require_session_join items#

필드 타입 설명
count integer Count는 이 정책이 충족되기 위해 일치해야 하는 사람의 수입니다.
filter string Filter는 이 정책에 반영되는 사용자를 결정하는 조건자입니다.
kinds []string Kinds는 이 정책이 적용되는 세션 종류입니다.
modes []string Modes는 이 정책을 충족하는 데 사용할 수 있는 모드 목록입니다.
name string Name은 정책의 이름입니다.
on_leave string OnLeave는 라이브 세션에 대한 정책이 더 이상 충족되지 않을 때 사용되는 동작입니다.

spec.deny.review_requests#

필드 타입 설명
claims_to_roles []object ClaimsToRoles는 클레임(트레이트)에서 Teleport 역할로의 매핑을 지정합니다.
preview_as_roles []string PreviewAsRoles는 검토자가 리소스 액세스 요청을 볼 때 적용되어야 하는 추가 역할 목록입니다.
roles []string Roles는 검토될 수 있는 역할의 이름입니다.
where string Where는 검토 가능한 요청을 추가로 제한하는 선택적 조건자입니다.

spec.deny.review_requests.claims_to_roles items#

필드 타입 설명
claim string Claim은 클레임 이름입니다.
roles []string Roles는 매칭할 정적 Teleport 역할 목록입니다.
value string Value는 매칭할 클레임 값입니다.

spec.deny.rules items#

필드 타입 설명
actions []string Actions는 이 규칙이 일치할 때 취할 선택적 작업을 지정합니다.
resources []string Resources는 리소스 목록입니다.
verbs []string Verbs는 동사 목록입니다.
where string Where는 선택적 고급 매처를 지정합니다.

spec.deny.spiffe items#

필드 타입 설명
dns_sans []string DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 각 요청된 DNS SAN은 구성된 모든 매처와 비교되며 하나라도 일치하면 조건이 충족된 것으로 간주됩니다.
ip_sans []string IPSANs는 SPIFFE ID IP SAN에 대한 매처를 지정합니다. CIDR 표기법을 사용하여 지정해야 하며 IPv4 및 IPv6를 지원합니다.
path string Path는 SPIFFE ID 경로에 대한 매처를 지정합니다. 트러스트 도메인을 포함하지 않아야 하며 선행 슬래시로 시작해야 합니다.

spec.options#

필드 타입 설명
cert_extensions []object CertExtensions는 키/값을 지정합니다.
cert_format string CertificateFormat은 이전 버전의 OpenSSH와의 호환성을 위한 사용자 인증서 형식을 정의합니다.
client_idle_timeout string ClientIdleTimeout은 유휴 시간 초과 시 클라이언트 연결 해제 동작을 설정합니다. 0으로 설정하면 연결을 해제하지 않음을 의미하고, 그렇지 않으면 유휴 기간으로 설정됩니다.
create_db_user boolean CreateDatabaseUser는 자동 데이터베이스 사용자 생성을 활성화합니다.
create_db_user_mode string or integer CreateDatabaseUserMode는 off로 설정되지 않은 경우 데이터베이스에서 자동으로 사용자를 생성할 수 있습니다. 0은 "unspecified", 1은 "off", 2는 "keep", 3은 "best_effort_drop"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
create_desktop_user boolean CreateDesktopUser는 Windows 데스크톱에서 자동으로 사용자를 생성할 수 있습니다.
create_host_user boolean 더 이상 사용되지 않음: CreateHostUserMode를 사용하세요.
create_host_user_default_shell string CreateHostUserDefaultShell은 새로 프로비저닝된 호스트 사용자의 기본 셸을 구성하는 데 사용됩니다.
create_host_user_mode string or integer CreateHostUserMode는 off로 설정되지 않은 경우 호스트에서 자동으로 사용자를 생성할 수 있습니다. 0은 "unspecified"; 1은 "off"; 2는 "drop"(v15 이상에서 제거됨), 3은 "keep"; 4는 "insecure-drop"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
desktop_clipboard boolean DesktopClipboard는 사용자의 워크스테이션과 원격 데스크톱 간에 클립보드 공유가 허용되는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
desktop_directory_sharing boolean DesktopDirectorySharing은 사용자의 워크스테이션과 원격 데스크톱 간에 디렉터리 공유가 허용되는지 여부를 나타냅니다. 명시적으로 true로 설정되지 않는 한 기본값은 false입니다.
device_trust_mode string DeviceTrustMode는 역할과 연관된 리소스에 사용되는 장치 인증 모드입니다. DeviceTrust.Mode를 참조하세요.
disconnect_expired_cert boolean DisconnectExpiredCert는 만료된 인증서에서 클라이언트 연결을 해제합니다.
enhanced_recording []string BPF는 BPF 기반 세션 레코더에 기록할 이벤트를 정의합니다.
forward_agent boolean ForwardAgent는 SSH 에이전트 포워딩입니다.
idp object IDP는 Teleport 내에서 IdP에 액세스하는 것과 관련된 옵션 집합입니다. Teleport Enterprise가 필요합니다.
lock string Lock은 역할에 적용될 잠금 모드(strict
max_connections integer MaxConnections는 사용자가 보유할 수 있는 최대 동시 연결 수를 정의합니다.
max_kubernetes_connections integer MaxKubernetesConnections는 사용자가 보유할 수 있는 최대 동시 Kubernetes 세션 수를 정의합니다.
max_session_ttl string MaxSessionTTL은 SSH 세션이 지속될 수 있는 기간을 정의합니다.
max_sessions integer MaxSessions는 연결당 최대 동시 세션 수를 정의합니다.
mfa_verification_interval string MFAVerificationInterval은 연속 MFA 검증 사이에 경과할 수 있는 최대 기간을 선택적으로 정의합니다. 이 변수는 tsh proxy * 파생물을 사용할 때 재인증 없이 연장된 세션을 방지하여 사용자가 주기적으로 ID를 확인하도록 하는 데 사용됩니다. 세션에 MFA가 필요한 경우에만 유효합니다. 설정되지 않은 경우 max_session_ttl이 기본값입니다.
permit_x11_forwarding boolean PermitX11Forwarding은 X11 포워딩 사용을 인증합니다.
pin_source_ip boolean PinSourceIP는 인증서 생성 및 사용에 동일한 클라이언트 IP를 강제합니다.
port_forwarding boolean 더 이상 사용되지 않음: SSHPortForwarding을 사용하세요.
record_session object RecordDesktopSession은 데스크톱 액세스 세션을 기록해야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
request_access string RequestAccess는 요청 전략(optional
request_prompt string RequestPrompt는 사용자에게 무엇을 요청해야 하는지 알려주는 선택적 메시지입니다.
require_session_mfa string or integer RequireMFAType은 이 사용자에게 강제되는 MFA 요구사항 유형입니다. 0은 "OFF", 1은 "SESSION", 2는 "SESSION_AND_HARDWARE_KEY", 3은 "HARDWARE_KEY_TOUCH", 4는 "HARDWARE_KEY_PIN", 5는 "HARDWARE_KEY_TOUCH_AND_PIN"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
ssh_file_copy boolean SSHFileCopy는 SCP 또는 SFTP를 통한 원격 파일 작업이 SSH 세션을 통해 허용되는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
ssh_port_forwarding object SSHPortForwarding은 역할에 의해 허용되는 SSH 포트 포워딩 유형을 구성합니다.

spec.options.cert_extensions items#

필드 타입 설명
mode string or integer Mode는 사용할 확장 유형입니다 -- 현재 critical-option은 지원되지 않습니다. 0은 "extension"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
name string Name은 인증서 확장에 사용될 키를 지정합니다.
type string or integer Type은 확장할 인증서 유형을 나타내며 현재는 ssh만 지원됩니다. 0은 "ssh"입니다. 각 옵션의 문자열 또는 정수 표현을 사용할 수 있습니다.
value string Value는 인증서 확장에 사용될 값을 지정합니다.

spec.options.idp#

필드 타입 설명
saml object SAML은 Teleport SAML IdP에 대한 액세스와 관련된 옵션입니다.

spec.options.idp.saml#

필드 타입 설명
enabled boolean Enabled는 이 옵션이 Teleport SAML IdP에 대한 액세스를 허용하는 경우 true로 설정됩니다.

spec.options.record_session#

필드 타입 설명
default string Default는 서비스의 기본값을 나타냅니다.
desktop boolean Desktop은 데스크톱 세션을 기록해야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다.
ssh string SSH는 SSH 세션에 사용되는 세션 모드를 나타냅니다.

spec.options.ssh_port_forwarding#

필드 타입 설명
local object 로컬 포트 포워딩을 허용합니다.
remote object 원격 포트 포워딩을 허용합니다.

spec.options.ssh_port_forwarding.local#

필드 타입 설명
enabled boolean

spec.options.ssh_port_forwarding.remote#

필드 타입 설명
enabled boolean

resources.teleport.dev/v6#

apiVersion: resources.teleport.dev/v6

필드 타입 설명
apiVersion string APIVersion은 이 객체 표현의 버전화된 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind string Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 유추할 수 있습니다. 업데이트할 수 없습니다. CamelCase 형식입니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata object
spec object Teleport의 역할 리소스 정의 v6

위 v5 섹션의 모든 spec, spec.allow, spec.deny, spec.options 필드는 v6 apiVersion에도 동일하게 적용됩니다.