InfoGrab Docs

Teleport Kubernetes 접근 제어

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

이 가이드는 Teleport Kubernetes 서비스가 Teleport 사용자가 Kubernetes 클러스터와 상호 작용할 때 역할 기반 접근 제어를 적용하는 방법을 설명합니다. Kubernetes 서비스는 Kubernetes API 서버에 대한 요청을 가로채고 사용자의 Teleport 역할에 따라 각 요청을 수정합니다. 이 가이드에서는 Teleport에 연결한 Kubernetes 클러스터에 대한 접근을 관리하기 위해 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 # Teleport에 Kubernetes 클러스터를 등록할 때 레이블을 추가할 수 있습니다. 역할의 kubernetes_labels 필드를 사용하여 사용자의 다양한 레이블을 가진 Kubernetes 클러스터에 대한 접근을 제한할 수 있습니다. kind: role metadata: name: kube-access version: v8 spec: allow: kubernetes_labels: region: '*' environment: development # ... deny: {} kubernetes_labels 필드의 값은 레이블 키 에서 하나 이상의 레이블 값 (즉, 문자열 또는 목록)으로 의 매핑입니다. Kubernetes 서비스가 kubernetes_labels 를 평가하는 방법 # 레이블의 키와 값이 모두 와일드카드 *