인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
TeleportRole
이 가이드는 Teleport Kubernetes operator를 설치한 후 적용할 수 있는 TeleportRole
리소스의 필드에 대한 포괄적인 참조입니다.
resources.teleport.dev/v5
apiVersion: resources.teleport.dev/v5
Field | Type | Description |
---|---|---|
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
Field | Type | Description |
---|---|---|
allow | object | Allow는 액세스를 부여하기 위해 평가되는 조건의 집합입니다. |
deny | object | Deny는 액세스를 거부하기 위해 평가되는 조건의 집합입니다. Deny는 allow보다 우선합니다. |
options | object | Options는 에이전트 포워딩과 같은 OpenSSH 옵션을 위한 것입니다. |
spec.allow
Field | Type | Description |
---|---|---|
account_assignments | []object | AccountAssignments는 이 조건에 영향을 받는 계정 할당 목록을 보유합니다. |
app_labels | object | AppLabels는 RBAC 시스템의 일부로 사용되는 레이블의 맵입니다. |
app_labels_expression | string | AppLabelsExpression은 Apps에 대한 액세스를 허용/거부하기 위해 사용되는 술어 표현입니다. |
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 서비스 계정 목록입니다. |
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 시스템 로그인의 목록입니다. |
node_labels | object | NodeLabels는 노드에 대한 액세스를 동적으로 부여하는 데 사용되는 노드 레이블의 맵입니다. |
node_labels_expression | string | NodeLabelsExpression은 SSH 노드에 대한 액세스를 허용/거부하기 위해 사용되는 술어 표현입니다. |
request | object | |
require_session_join | []object | RequireSessionJoin은 세션을 시작하는 데 필요한 사용자를 위한 정책을 지정합니다. |
review_requests | object | ReviewRequests는 액세스 검토 제출을 위한 조건을 정의합니다. |
rules | []object | Rules는 규칙 및 해당 액세스 수준의 목록입니다. Rules는 액세스 제어를 위한 높은 수준의 구성 요소입니다. |
spiffe | []object | SPIFFE는 역할 보유자가 SPIFFE SVID를 생성할 수 있는 권한을 부여하거나 거부하는 데 사용됩니다. |
windows_desktop_labels | object | WindowsDesktopLabels는 Windows 데스크톱에 대한 액세스를 허용/거부하는 RBAC 시스템에서 사용됩니다. |
windows_desktop_labels_expression | string | WindowsDesktopLabelsExpression은 Windows 데스크톱에 대한 액세스를 허용/거부하기 위해 사용되는 술어 표현입니다. |
windows_desktop_logins | []string | 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는 생성 시 대기 중인 액세스 요청에 프로그램적으로 추가될 주석의 모음입니다. 이 주석은 플러그인에 추가 정보를 전파하는 메커니즘으로 작용합니다. 이러한 주석은 변수 치환 구문을 지원하므로 외부 신원 공급자로부터 클레임을 플러그인으로 전달하는 메커니즘도 제공합니다, {{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 | []string | Roles는 일치하는 정적 텔레포트 역할 목록입니다. |
value | string | Value는 일치하는 클레임 값입니다. |
spec.allow.request.kubernetes_resources 항목
필드 | 유형 | 설명 |
---|---|---|
kind | string | kind는 Kubernetes 리소스 유형을 지정합니다. |
spec.allow.request.thresholds 항목
필드 | 유형 | 설명 |
---|---|---|
approve | integer | Approve는 상태 전환에 필요한 일치하는 승인 수입니다. |
deny | integer | Deny는 상태 전환에 필요한 거부 수입니다. |
filter | string | Filter는 이 임계값에 포함되는 검토를 결정하기 위해 사용하는 선택적 조건입니다. |
name | string | Name은 임계값의 선택적 사람이 읽을 수 있는 이름입니다. |
spec.allow.require_session_join 항목
필드 | 유형 | 설명 |
---|---|---|
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는 클레임(특성)에서 텔레포트 역할로의 매핑을 지정합니다. |
preview_as_roles | []string | PreviewAsRoles는 리소스 액세스 요청을 검토 중일 때 검토자에게 적용해야 하는 추가 역할 목록입니다. |
roles | []string | Roles는 검토할 수 있는 역할의 이름입니다. |
where | string | Where는 검토 가능한 요청을 추가로 제한하는 선택적 조건입니다. |
spec.allow.review_requests.claims_to_roles 항목
필드 | 유형 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치하는 정적 텔레포트 역할 목록입니다. |
value | string | Value는 일치하는 클레임 값입니다. |
spec.allow.rules 항목
필드 | 유형 | 설명 |
---|---|---|
actions | []string | Actions는 이 규칙이 일치할 때 취해지는 선택적 동작을 지정합니다. |
resources | []string | Resources는 리소스 목록입니다. |
verbs | []string | Verbs는 동사 목록입니다. |
where | string | Where는 선택적 고급 매처를 지정합니다. |
spec.allow.spiffe 항목
필드 | 유형 | 설명 |
---|---|---|
dns_sans | []string | DNSSANs는 SPIFFE ID DNS SANs에 대한 매처를 지정합니다. 요청된 DNS SAN은 구성된 모든 매처와 비교되며, 일치하는 것이 있다면 조건이 충족된 것으로 간주됩니다. 기본적으로 매처는 '_'를 사용하여 모든 문자의 0개 이상을 표시할 수 있습니다. '^'를 앞에 붙이고 '$'를 뒤에 붙이면 Go 정규 표현식 구문을 사용하여 일치하도록 전환할 수 있습니다. 예: _.example.com은 foo.example.com과 일치합니다. |
ip_sans | []string | IPSANs는 SPIFFE ID IP SANs에 대한 매처를 지정합니다. 요청된 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 | []object | AccountAssignments는 이 조건에 의해 영향을 받는 계정 할당 목록을 포함합니다. |
app_labels | object | AppLabels는 RBAC 시스템의 일부로 사용되는 레이블의 맵입니다. |
app_labels_expression | string | AppLabelsExpression은 Apps에 대한 접근을 허용/거부하기 위해 사용되는 술어 표현입니다. |
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 서비스 계정 목록입니다. |
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_labels | object | KubernetesLabels는 RBAC에 사용되는 쿠버네티스 클러스터 레이블의 맵입니다. |
kubernetes_labels_expression | string | KubernetesLabelsExpression은 쿠버네티스 클러스터에 대한 접근을 허용/거부하는 데 사용되는 술어 표현입니다. |
kubernetes_resources | []object | KubernetesResources는 이 역할이 접근할 수 있도록 부여하는 Kubernetes 리소스입니다. |
kubernetes_users | []string | KubeUsers는 허용할 쿠버네티스 사용자입니다. |
logins | []string | Logins는 *nix 시스템 로그인 목록입니다. |
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 데스크탑을 위해 허용/거부되는 데스크탑 로그인 이름 목록입니다. |
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는 생성 시 대기 중인 액세스 요청에 프로그램적으로 추가될 주석 모음입니다. 이러한 주석은 플러그인에 추가 정보를 전파하는 메커니즘으로 작용합니다. 이러한 주석은 변수 보간 구문을 지원하므로 외부 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.deny.request.claims_to_roles 항목
필드 | 유형 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치하는 정적 Teleport 역할의 목록입니다. |
value | string | Value는 일치하는 클레임 값입니다. |
spec.deny.request.kubernetes_resources 항목
필드 | 유형 | 설명 |
---|---|---|
kind | string | kind는 Kubernetes 리소스 유형을 지정합니다. |
spec.deny.request.thresholds 항목
필드 | 유형 | 설명 |
---|---|---|
approve | integer | Approve는 상태 전환을 위해 필요한 일치하는 승인 수입니다. |
deny | integer | Deny는 상태 전환을 위해 필요한 거부 수입니다. |
filter | string | Filter는 이 임계값을 충족하는 리뷰를 결정하는 데 사용하는 선택적 술어입니다. |
name | string | Name은 임계값의 선택적 사람이 읽을 수 있는 이름입니다. |
spec.deny.require_session_join 항목
필드 | 유형 | 설명 |
---|---|---|
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 항목
필드 | 유형 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치하는 정적 Teleport 역할의 목록입니다. |
value | string | Value는 일치하는 클레임 값입니다. |
spec.deny.rules 항목
필드 | 유형 | 설명 |
---|---|---|
actions | []string | Actions는 이 규칙이 일치할 때 취해지는 선택적 행동을 지정합니다. |
resources | []string | Resources는 리소스 목록입니다. |
verbs | []string | Verbs는 동사의 목록입니다. |
where | string | Where는 선택적 고급 매처를 지정합니다. |
spec.deny.spiffe 항목
필드 | 유형 | 설명 |
---|---|---|
dns_sans | []string | DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 요청된 각 DNS SAN은 구성된 모든 매처와 비교되며, 일치하는 경우 조건이 충족된 것으로 간주됩니다. 매처는 기본적으로 '_'를 사용하여 아무 문자나 0개 이상의 문자로 나타낼 수 있습니다. '^'로 시작하고 '$'로 끝나면 Go 정규 표현식 구문을 사용하여 일치하도록 전환됩니다. 예: _.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 정규 표현식 구문을 사용하여 일치하도록 전환됩니다. 예: - /svc/foo//bar는 /svc/foo/baz/bar와 일치합니다. - ^/svc/foo/.*/bar$는 /svc/foo/baz/bar와 일치합니다. |
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는 꺼지지 않은 경우 데이터베이스에서 사용자가 자동으로 생성될 수 있도록 합니다. 0은 "지정되지 않음", 1은 "꺼짐", 2는 "유지", 3은 "최선의 노력 떨어뜨리기"입니다. 각각의 옵션은 문자열 또는 정수 표현으로 사용될 수 있습니다. |
| 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는 꺼지지 않은 경우 호스트에서 사용자가 자동으로 생성될 수 있도록 합니다. 0은 "지정되지 않음"; 1은 "꺼짐"; 2는 "제거" (v15 이상에서 제거됨); 3은 "유지"; 4는 "불안전-제거"입니다. 각각의 옵션은 문자열 또는 정수 표현으로 사용될 수 있습니다. |
| 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은 역할에 적용될 잠금 모드(엄격 | 최선의 노력)를 지정합니다. |
| 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와 파생된 세션에서 재인증 없이 이러한 세션이 길어지는 것을 방지하는 데 보안을 강화합니다. MFA가 필요한 세션에서만 효과적입니다. 설정하지 않으면 기본값은 max_session_ttl
입니다. |
| permit_x11_forwarding | boolean | PermitX11Forwarding은 X11 포워딩 사용을 허가합니다. |
| pin_source_ip | boolean | PinSourceIP는 인증서 생성 및 사용을 위한 동일한 클라이언트 IP를 강제합니다. |
| port_forwarding | boolean | PortForwarding은 인증서에 "permit-port-forwarding"이 포함될지 여부를 정의합니다. 설정되지 않으면 PortForwarding은 "yes"입니다. 이는 포인터입니다. |
| record_session | object | RecordDesktopSession은 데스크톱 액세스 세션이 기록되어야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다. |
| request_access | string | RequestAccess는 요청 전략(선택적 | 노트 | 항상)을 정의하며, 선택적이 기본값입니다. |
| request_prompt | string | RequestPrompt는 사용자가 무엇을 요청해야 하는지를 알려주는 선택적 메시지입니다. |
| require_session_mfa | string or integer | RequireMFAType은 이 사용자에 대해 집행되는 MFA 요구 사항의 유형입니다. 0은 "꺼짐", 1은 "세션", 2는 "세션및하드웨어키", 3은 "하드웨어키터치", 4는 "하드웨어키PIN", 5는 "하드웨어키터치및_PIN"입니다. 각각의 옵션은 문자열 또는 정수 표현으로 사용될 수 있습니다. |
| ssh_file_copy | boolean | SSHFileCopy는 SSH 세션을 통해 SCP 또는 SFTP로 원격 파일 작업이 허용되는지를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다. |
spec.options.cert_extensions 항목
Field | Type | Description |
---|---|---|
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
Field | Type | Description |
---|---|---|
saml | object | SAML은 Teleport SAML IdP와 관련된 옵션입니다. |
spec.options.idp.saml
Field | Type | Description |
---|---|---|
enabled | boolean | enabled가 true로 설정되어 있으면 이 옵션이 Teleport SAML IdP에 대한 액세스를 허용합니다. |
spec.options.record_session
Field | Type | Description |
---|---|---|
default | string | default는 서비스의 기본 값을 나타냅니다. |
desktop | boolean | desktop은 데스크톱 세션을 기록해야 하는지 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다. |
ssh | string | ssh는 SSH 세션에서 사용되는 세션 모드를 나타냅니다. |
resources.teleport.dev/v6
apiVersion: resources.teleport.dev/v6
Field | Type | Description |
---|---|---|
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 |
spec
Field | Type | Description |
---|---|---|
allow | object | allow는 액세스를 부여하기 위해 평가되는 조건 집합입니다. |
deny | object | deny는 액세스를 거부하기 위해 평가되는 조건 집합입니다. deny는 allow보다 우선합니다. |
options | object | options는 에이전트 포워딩과 같은 OpenSSH 옵션을 위한 것입니다. |
spec.allow
Field | Type | Description |
---|---|---|
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 아이덴티티의 목록입니다. |
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 서비스 계정의 목록입니다. |
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_labels | object | KubernetesLabels는 RBAC에 사용되는 쿠버네티스 클러스터 레이블의 맵입니다. |
kubernetes_labels_expression | string | KubernetesLabelsExpression은 쿠버네티스 클러스터에 대한 액세스를 허용/거부하기 위해 사용되는 술어 표현입니다. |
kubernetes_resources | []object | KubernetesResources는 이 역할이 액세스를 부여하는 쿠버네티스 리소스입니다. |
kubernetes_users | []string | KubeUsers는 대행할 수 있는 선택적 쿠버네티스 사용자입니다. |
logins | []string | Logins는 *nix 시스템 로그인의 목록입니다. |
node_labels | object | NodeLabels는 노드에 대한 액세스를 동적으로 부여하는 데 사용되는 노드 레이블의 맵입니다. |
node_labels_expression | string | NodeLabelsExpression은 SSH 노드에 대한 액세스를 허용/거부하기 위해 사용되는 술어 표현입니다. |
request | object | |
require_session_join | []object | RequireSessionJoin은 세션을 시작하기 위해 필요한 사용자에 대한 정책을 지정합니다. |
review_requests | object | ReviewRequests는 액세스 리뷰 제출 조건을 정의합니다. |
rules | []object | Rules는 규칙과 그 액세스 수준의 목록입니다. Rules는 액세스 제어에 사용되는 고수준 구문입니다. |
spiffe | []object | SPIFFE는 역할 보유자가 SPIFFE SVID를 생성하는 것을 허용하거나 거부하는 데 사용됩니다. |
windows_desktop_labels | object | WindowsDesktopLabels는 Windows 데스크톱에 대한 액세스를 허용/거부하기 위해 RBAC 시스템에서 사용됩니다. |
windows_desktop_labels_expression | string | WindowsDesktopLabelsExpression은 Windows 데스크톱에 대한 액세스를 허용/거부하기 위해 사용되는 술어 표현입니다. |
windows_desktop_logins | []string | WindowsDesktopLogins는 Windows 데스크톱에 대해 허용되거나 거부되는 데스크톱 로그인 이름의 목록입니다. |
spec.allow.account_assignments 항목
필드 | 유형 | 설명 |
---|---|---|
account | string | |
permission_set | string |
spec.allow.db_permissions 항목
필드 | 유형 | 설명 |
---|---|---|
match | object | 매치는 권한이 부여되기 위해 일치해야 하는 객체 레이블의 목록입니다. |
permissions | []string | Permissions는 부여될 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ... |
spec.allow.impersonate
필드 | 유형 | 설명 |
---|---|---|
roles | []string | Roles는 이 역할이 속할 수 있는 리소스 목록입니다. |
users | []string | Users는 이 역할이 속할 수 있는 리소스 목록이며, 빈 목록이거나 와일드카드 패턴일 수 있습니다. |
where | string | Where는 선택적 고급 매처를 지정합니다. |
spec.allow.join_sessions 항목
필드 | 유형 | 설명 |
---|---|---|
kinds | []string | Kinds는 이 정책이 적용되는 세션 종류입니다. |
modes | []string | Modes는 이 정책에 허용된 참가자 모드 목록입니다. |
name | string | Name은 정책의 이름입니다. |
roles | []string | Roles는 세션에 조인할 수 있는 역할 목록입니다. |
spec.allow.kubernetes_resources 항목
필드 | 유형 | 설명 |
---|---|---|
kind | string | Kind는 Kubernetes 리소스 유형을 지정합니다. |
name | string | Name은 리소스 이름입니다. 와일드카드를 지원합니다. |
namespace | string | Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다. |
verbs | []string | Verbs는 다음 리소스에 대한 허용된 Kubernetes 동사입니다. |
spec.allow.request
필드 | 유형 | 설명 |
---|---|---|
annotations | object | Annotations는 생성 시 보류 중인 액세스 요청에 프로그래밍 방식으로 추가될 주석 모음입니다. 이 주석은 추가 정보를 플러그인에 전파하는 메커니즘으로 작용합니다. 이러한 주석은 변수 보간 구문을 지원하므로 {{external.trait_name}} 스타일의 치환을 통해 외부 ID 공급자로부터 플러그인으로 클레임을 전달하는 메커니즘을 제공합니다. |
claims_to_roles | []object | ClaimsToRoles는 클레임(특성)과 텔레포트 역할 간의 매핑을 지정합니다. |
kubernetes_resources | []object | kubernetes_resources는 선택적으로 요청자가 특정 종류의 Kube 리소스만 요청하도록 강제할 수 있습니다. 예: 사용자는 "kube_cluster" 또는 "namespace"와 같은 하위 리소스에 대한 요청을 할 수 있습니다. 이 필드는 사용자가 "kube_cluster"를 요청하지 못하도록 정의할 수 있습니다. |
max_duration | string | MaxDuration는 액세스가 부여될 시간의 양입니다. 이 값이 0이면 기본 기간이 사용됩니다. |
roles | []string | Roles는 요청 규칙과 일치하는 역할의 이름입니다. |
search_as_roles | []string | SearchAsRoles는 사용자가 리소스 액세스 요청의 일환으로 리소스를 검색할 때 적용되어야 하는 추가 역할 목록이며, 모든 리소스 액세스 요청의 일부로 요청될 기본 역할을 정의합니다. |
suggested_reviewers | []string | SuggestedReviewers는 리뷰어 제안 목록입니다. 이는 텔레포트 사용자 이름일 수 있지만 필수는 아닙니다. |
thresholds | []object | Thresholds는 리뷰를 트리거하기 위해 충족해야 할 임계값 목록입니다. 임계값이 제공되지 않으면 기본적으로 승인 및 거부에 대해 1의 임계값이 사용됩니다. |
spec.allow.request.claims_to_roles 항목
필드 | 유형 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치시킬 정적 텔레포트 역할의 목록입니다. |
value | string | Value는 일치시킬 클레임 값입니다. |
spec.allow.request.kubernetes_resources 항목
필드 | 유형 | 설명 |
---|---|---|
kind | string | kind는 Kubernetes 리소스 유형을 지정합니다. |
spec.allow.request.thresholds 항목
필드 | 유형 | 설명 |
---|---|---|
approve | integer | Approve는 상태 전환을 위한 일치하는 승인 수입니다. |
deny | integer | Deny는 상태 전환을 위한 거부 수입니다. |
filter | string | Filter는 이 임계값에 관한 리뷰가 포함될 수 있도록 하는 선택적 술어입니다. |
name | string | Name은 임계값의 선택적 인간 가독성 이름입니다. |
spec.allow.require_session_join 항목
필드 | 유형 | 설명 |
---|---|---|
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는 클레임(특성)에서 텔레포트 역할로의 매핑을 지정합니다. |
preview_as_roles | []string | PreviewAsRoles는 자원 접근 요청을 보는 동안 리뷰어에게 적용될 추가 역할의 목록입니다. |
roles | []string | Roles는 리뷰할 수 있는 역할의 이름입니다. |
where | string | Where는 리뷰 가능한 요청을 더욱 제한하는 선택적 술어입니다. |
spec.allow.review_requests.claims_to_roles 항목
필드 | 유형 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치시킬 정적 텔레포트 역할의 목록입니다. |
value | string | Value는 일치시킬 클레임 값입니다. |
spec.allow.rules 항목
필드 | 유형 | 설명 |
---|---|---|
actions | []string | Actions는 이 규칙이 일치할 때 수행되는 선택적 동작을 지정합니다. |
resources | []string | Resources는 리소스 목록입니다. |
verbs | []string | Verbs는 동사 목록입니다. |
where | string | Where는 선택적 고급 매처를 지정합니다. |
spec.allow.spiffe 항목
필드 | 유형 | 설명 |
---|---|---|
dns_sans | []string | DNSSANs는 SPIFFE ID DNS SAN에 대한 매처를 지정합니다. 요청된 각 DNS SAN은 구성된 모든 매처와 비교되며, 일치하는 것이 있으면 조건이 충족된 것으로 간주됩니다. 기본적으로 매처는 '_'를 사용하여 어떤 문자의 0개 이상을 나타낼 수 있도록 허용합니다. 대신 정규 표현식 구문을 사용하여 매칭하려면 '^'를 추가하고 '$'로 끝내십시오. 예: _.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개 이상을 나타낼 수 있도록 허용합니다. 대신 정규 표현식 구문을 사용하여 매칭하려면 '^'를 추가하고 '$'로 끝내십시오. 예: - /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은 Apps에 대한 액세스를 허용/거부하는 데 사용되는 술어 표현입니다. |
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 서비스 계정의 목록입니다. |
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 시스템 로그인의 목록입니다. |
node_labels | object | NodeLabels는 노드에 대한 액세스를 동적으로 부여하는 데 사용되는 노드 라벨의 맵입니다. |
node_labels_expression | string | NodeLabelsExpression은 SSH 노드에 대한 액세스를 허용/거부하는 데 사용되는 술어 표현입니다. |
request | object | |
require_session_join | []object | RequireSessionJoin은 세션 시작이 필요한 사용자를 위한 정책을 지정합니다. |
review_requests | object | ReviewRequests는 액세스 검토 제출 조건을 정의합니다. |
rules | []object | Rules는 규칙 및 액세스 수준의 목록입니다. 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 데스크톱에 허용/거부된 데스크톱 로그인 이름의 목록입니다. |
spec.deny.account_assignments 항목
필드 | 유형 | 설명 |
---|---|---|
account | string | |
permission_set | string |
spec.deny.db_permissions 항목
필드 | 유형 | 설명 |
---|---|---|
match | object | Match는 권한이 부여되기 위해 일치해야 하는 객체 레이블 목록입니다. |
permissions | []string | Permission은 부여할 권한의 문자열 표현 목록입니다. 예: SELECT, INSERT, UPDATE, ... |
spec.deny.impersonate
필드 | 유형 | 설명 |
---|---|---|
roles | []string | Roles는 이 역할이 허용된 자원 목록입니다. |
users | []string | Users는 이 역할이 허용된 자원 목록이며, 빈 목록이나 와일드카드 패턴이 될 수 있습니다. |
where | string | Where는 선택적 고급 매처를 지정합니다. |
spec.deny.join_sessions 항목
필드 | 유형 | 설명 |
---|---|---|
kinds | []string | Kinds는 이 정책이 적용되는 세션 유형입니다. |
modes | []string | Modes는 이 정책에 허용된 참여자 모드 목록입니다. |
name | string | Name은 정책의 이름입니다. |
roles | []string | Roles는 세션에 조인할 수 있는 역할 목록입니다. |
spec.deny.kubernetes_resources 항목
필드 | 유형 | 설명 |
---|---|---|
kind | string | Kind는 Kubernetes 리소스 유형을 지정합니다. |
name | string | Name은 리소스 이름입니다. 와일드카드를 지원합니다. |
namespace | string | Namespace는 리소스 네임스페이스입니다. 와일드카드를 지원합니다. |
verbs | []string | Verbs는 다음 리소스에 허용된 Kubernetes 동사입니다. |
spec.deny.request
필드 | 유형 | 설명 |
---|---|---|
annotations | object | Annotations는 생성될 때 보류 중인 Access Request에 프로그램적으로 추가될 주석을 모은 것입니다. 이 주석은 플러그인에 추가 정보를 전파하는 메커니즘 역할을 합니다. 이러한 주석은 변수 보간 구문을 지원하므로, 외부 ID 공급자로부터 클레임을 플러그인에 전달하는 메커니즘도 제공합니다. {{external.trait_name}} 스타일 치환을 통해 가능합니다. |
claims_to_roles | []object | ClaimsToRoles는 클레임(특성)과 텔레포트 역할 간의 매핑을 지정합니다. |
kubernetes_resources | []object | kubernetes_resources는 요청자가 특정 종류의 kube 리소스만 요청하도록 할 수 있습니다. 예: 사용자는 "kube_cluster" 또는 그 하위 리소스인 "namespaces"에 요청할 수 있습니다. 이 필드는 사용자가 "kube_cluster"를 요청하지 못하도록 하고, 하위 리소스를 요청하도록 강제할 수 있도록 정의될 수 있습니다. |
max_duration | string | MaxDuration은 액세스가 허용되는 시간입니다. 이 값이 0이면 기본 기간이 사용됩니다. |
roles | []string | Roles는 요청 규칙에 일치하는 역할의 이름입니다. |
search_as_roles | []string | SearchAsRoles는 리소스 접근 요청의 일부로 사용자가 리소스를 검색할 때 적용해야 하는 추가 역할 목록이며, 리소스 접근 요청의 일부로 요청될 기본 역할을 정의합니다. |
suggested_reviewers | []string | SuggestedReviewers는 검토자 제안 목록입니다. 이러한 사람들은 텔레포트 사용자 이름일 수 있지만, 필수는 아닙니다. |
thresholds | []object | Thresholds는 검토가 상태 전환을 트리거하기 위해 충족해야 하는 임계값 목록입니다. 임계값이 제공되지 않으면 승인 및 거부에 대한 기본 임계값 1이 사용됩니다. |
spec.deny.request.claims_to_roles 항목
필드 | 타입 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치하는 정적 텔레포트 역할의 목록입니다. |
value | string | Value는 일치하는 클레임 값입니다. |
spec.deny.request.kubernetes_resources 항목
필드 | 타입 | 설명 |
---|---|---|
kind | string | kind는 Kubernetes 리소스 유형을 지정합니다. |
spec.deny.request.thresholds 항목
필드 | 타입 | 설명 |
---|---|---|
approve | integer | Approve는 상태 전환을 위해 필요한 일치하는 승인 수입니다. |
deny | integer | Deny는 상태 전환을 위해 필요한 거부 수입니다. |
filter | string | Filter는 이 임계값에 대한 계산을 결정할 때 사용되는 선택적 조건입니다. |
name | string | Name은 임계값에 대한 선택적 사람이 읽을 수 있는 이름입니다. |
spec.deny.require_session_join 항목
필드 | 타입 | 설명 |
---|---|---|
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는 클레임(특징)에서 텔레포트 역할로의 매핑을 지정합니다. |
preview_as_roles | []string | PreviewAsRoles는 리뷰어가 리소스 액세스 요청을 볼 때 적용되는 추가 역할의 목록입니다. 이는 요청된 리소스의 호스트 이름 및 레이블과 같은 세부 정보를 표시하는 데 사용됩니다. |
roles | []string | Roles는 검토될 수 있는 역할의 이름입니다. |
where | string | Where는 검토 가능한 요청을 더 제한하는 선택적 조건입니다. |
spec.deny.review_requests.claims_to_roles 항목
필드 | 타입 | 설명 |
---|---|---|
claim | string | Claim은 클레임 이름입니다. |
roles | []string | Roles는 일치하는 정적 텔레포트 역할의 목록입니다. |
value | string | Value는 일치하는 클레임 값입니다. |
spec.deny.rules 항목
필드 | 타입 | 설명 |
---|---|---|
actions | []string | Actions는 이 규칙이 일치할 때 수행되는 선택적 작업을 지정합니다. |
resources | []string | Resources는 리소스 목록입니다. |
verbs | []string | Verbs는 동사 목록입니다. |
where | string | Where는 선택적 고급 매처를 지정합니다. |
spec.deny.spiffe 항목
필드 | 타입 | 설명 |
---|---|---|
dns_sans | []string | DNSSANs는 SPIFFE ID DNS SANs에 대한 매처를 지정합니다. 각 요청된 DNS SAN은 구성된 모든 매처와 비교되며, 일치하는 경우 조건이 충족된 것으로 간주됩니다. 매처는 기본적으로 '_'를 사용하여 임의의 문자의 개수를 나타내도록 허용합니다. '^'를 추가하고 '$'를 붙여 Go 정규 표현식 구문을 사용하여 매칭으로 전환할 수 있습니다. 예: _.example.com은 foo.example.com과 일치합니다. |
ip_sans | []string | IPSANs는 SPIFFE ID IP SANs에 대한 매처를 지정합니다. 각 요청된 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 경로에 대한 매처를 지정합니다. 신뢰 도메인을 포함하지 않아야 하며 선행 슬래시로 시작해야 합니다. 매처는 기본적으로 ''를 사용하여 임의의 문자의 개수를 나타내도록 허용합니다. '^'를 추가하고 '$'를 붙여 Go 정규 표현식 구문을 사용하여 매칭으로 전환할 수 있습니다. 예: - /svc/foo//bar는 /svc/foo/baz/bar와 일치합니다. - ^/svc/foo/.*/bar$는 /svc/foo/baz/bar와 일치합니다. |
spec.options
| Field | Type | Description |
| ------------------------------ | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ------------------------------------------ |
| 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는 꺼지지 않은 경우 데이터베이스에서 사용자를 자동으로 생성할 수 있도록 허용합니다. 0은 "지정되지 않음", 1은 "꺼짐", 2는 "유지", 3은 "최선의 노력으로 삭제"입니다. 각 옵션의 문자열 또는 정수 표현일 수 있습니다. |
| 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는 꺼지지 않은 경우 호스트에서 사용자를 자동으로 생성할 수 있도록 허용합니다. 0은 "지정되지 않음", 1은 "꺼짐", 2는 "삭제"(v15 이상에서 제거됨), 3은 "유지", 4는 "불안전 삭제"입니다. 각 옵션의 문자열 또는 정수 표현일 수 있습니다. |
| 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은 역할에 적용될 잠금 모드(엄격 | 최선의 노력)를 지정합니다. |
| 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 *
파생 제품을 사용할 때 재인증 없이 프로세스가 안전하게 장기화되는 것을 방지합니다. MFA가 필요한 세션에서만 효과적입니다. 설정되지 않은 경우 기본값은 max_session_ttl
입니다. |
| permit_x11_forwarding | boolean | PermitX11Forwarding은 X11 포워딩 사용을 허가합니다. |
| pin_source_ip | boolean | PinSourceIP는 인증서 생성 및 사용을 위해 동일한 클라이언트 IP를 강제합니다. |
| port_forwarding | boolean | PortForwarding은 인증서에 "permit-port-forwarding"이 포함될 것인지 정의합니다. 설정되지 않은 경우 PortForwarding은 "yes"입니다. |
| record_session | object | RecordDesktopSession은 데스크탑 접근 세션이 기록되어야 하는지를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다. |
| request_access | string | RequestAccess는 요청 전략(선택적 | 알림 | 항상)을 정의합니다. 기본값은 선택적입니다. |
| request_prompt | string | RequestPrompt는 사용자가 무엇을 요청해야 하는지 알려주는 선택적 메시지입니다. |
| require_session_mfa | string or integer | RequireMFAType은 이 사용자에게 적용되는 MFA 요구 사항의 유형입니다. 0은 "꺼짐", 1은 "세션", 2는 "세션 및 하드웨어 키", 3은 "하드웨어 키 터치", 4는 "하드웨어 키 PIN", 5는 "하드웨어 키 터치 및 PIN"입니다. 각 옵션의 문자열 또는 정수 표현일 수 있습니다. |
| ssh_file_copy | boolean | SSHFileCopy는 SSH 세션을 통해 SCP 또는 SFTP에 의한 원격 파일 작업이 허용되는지를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본값은 true입니다. |
spec.options.cert_extensions 항목
필드 | 유형 | 설명 |
---|---|---|
mode | 문자열 또는 정수 | 모드는 사용될 확장의 유형입니다 -- 현재 critical-option은 지원되지 않습니다. 0은 "extension"입니다. 각 옵션의 문자열 또는 정수 표현일 수 있습니다. |
name | 문자열 | 이름은 인증서 확장에서 사용될 키를 지정합니다. |
type | 문자열 또는 정수 | 유형은 확장되는 인증서 유형을 나타내며, 현재 ssh만 지원됩니다. 0은 "ssh"입니다. 각 옵션의 문자열 또는 정수 표현일 수 있습니다. |
value | 문자열 | 값은 인증서 확장에서 사용될 값을 지정합니다. |
spec.options.idp
필드 | 유형 | 설명 |
---|---|---|
saml | object | SAML은 Teleport SAML IdP와 관련된 옵션입니다. |
spec.options.idp.saml
필드 | 유형 | 설명 |
---|---|---|
enabled | 부울 | enabled는 이 옵션이 Teleport SAML IdP에 대한 접근을 허용하면 true로 설정됩니다. |
spec.options.record_session
필드 | 유형 | 설명 |
---|---|---|
default | 문자열 | 기본은 서비스의 기본 값을 나타냅니다. |
desktop | 부울 | desktop은 데스크탑 세션이 기록되어야 하는지 여부를 나타냅니다. 명시적으로 false로 설정되지 않는 한 기본적으로 true입니다. |
ssh | 문자열 | SSH는 SSH 세션에서 사용되는 세션 모드를 나타냅니다. |