InfoGrab DocsInfoGrab Docs

Teleport Kubernetes 접근 제어

Teleport Kubernetes 서비스가 Kubernetes 접근 관리에 RBAC를 적용하는 방법

이 가이드는 Teleport가 보호하는 Kubernetes 클러스터에 대한 접근을 관리하기 위해 Teleport 역할이 제공하는 필드를 나열합니다. Kubernetes 서비스는 Kubernetes API 서버에 대한 요청을 가로채고 사용자의 Teleport 역할에 따라 각 요청을 수정합니다. 로컬 minikube 클러스터를 사용하여 Kubernetes로 Teleport 역할을 사용하는 방법의 예시는 RBAC 방법 가이드 를 참조하세요. Kubernetes 접근을 관리하는 역할 필드 # 이 섹션에서는 Kubernetes 클러스터에 대한 접근을 구성하는 Teleport 역할 내 필드를 설명합니다. Kubernetes 클러스터에 대한 접근을 관리하려면 Teleport 역할이 spec.allow 섹션에 다음 필드를 포함해야 합니다: kubernetes_labels kubernetes_resources kubernetes_groups kubernetes_users 다음은 Kubernetes 클러스터에 대한 접근을 제한하는 Teleport 역할의 예시입니다: kind: role metadata: name: kube-access version: v8 spec: allow: kubernetes_labels: region: '*' platform: minikube kubernetes_resources: - kind: pods namespace: production name: '^webapp-[a-z0-9-]+$' api_group: '' - kind: pods namespace: development name: '*' api_group: '' - kind: deployments namespace: development name: '*' api_group: apps kubernetes_groups: - developers kubernetes_users: - minikube deny: {} kubernetes_labels # Kubernetes 클러스터를 Teleport에 등록할 때 라벨을 추가할 수 있습니다. 역할의 kubernetes_labels 필드를 사용하여 서로 다른 라벨을 가진 Kubernetes 클러스터에 대한 사용자의 접근을 제한할 수 있습니다. kind: role metadata: name: kube-access version: v8 spec: allow: kubernetes_labels: region: '*' environment: development # ... deny: {} kubernetes_labels 필드의 값은 라벨 키 에서 하나 이상의 라벨 값 (즉, 문자열 또는 목록)으로의 매핑입니다. Kubernetes 서비스가 kubernetes_labels 를 평가하는 방식 # 라벨의 키와 값이 모두 와일드카드, * 인 경우, Teleport Kubernetes 서비스는 모든 라벨을 가진 Kubernetes 클러스터에 대한 접근을 사용자에게 허용합니다: spec: allow: kubernetes_labels: '*': '*' # ..