Kubernetes 그룹과 AWS CLI를 사용해 액세스 항목 생성

Kubernetes 그룹과 AWS CLI를 사용해 액세스 항목 생성

AWS CLI로 Kubernetes 그룹을 사용하고 수동 RBAC 구성을 요구하는 Amazon EKS 액세스 항목을 생성하는 방법을 설명합니다.

출처: 문서

본문

참고: 대부분의 사용 사례에서는 이 페이지에 설명된 Kubernetes 그룹 방식 대신 EKS 액세스 정책을 사용할 것을 권장합니다. EKS 액세스 정책은 수동 RBAC 구성 없이도 액세스를 관리할 수 있는 더 간단하고 AWS와 잘 통합된 방법을 제공합니다. Kubernetes 그룹 방식은 EKS 액세스 정책이 제공하는 것보다 더 세분화된 제어가 필요할 때만 사용하세요.

개요

액세스 항목은 IAM ID(사용자와 역할)가 Kubernetes 클러스터에 액세스하는 방식을 정의합니다. Kubernetes 그룹 방식은 표준 Kubernetes RBAC 그룹을 통해 IAM 사용자나 역할에 EKS 클러스터 액세스 권한을 부여합니다. 이 방법은 Kubernetes RBAC 리소스(Role, RoleBinding, ClusterRole, ClusterRoleBinding)를 생성하고 관리해야 하며, 고도로 사용자 지정된 권한 집합, 복잡한 인증 요구 사항이 필요하거나 하이브리드 Kubernetes 환경 전반에 걸쳐 일관된 액세스 제어 패턴을 유지하려 할 때 권장됩니다.

이 주제는 Amazon EC2 인스턴스가 EKS 클러스터에 가입하기 위해 사용하는 IAM ID에 대한 액세스 항목 생성은 다루지 않습니다.

전제 조건

  • 클러스터의 인증 모드가 액세스 항목을 사용하도록 구성되어 있어야 합니다. 자세한 내용은 "액세스 항목을 사용하도록 인증 모드 변경"을 참고하세요.
  • AWS CLI를 설치하고 구성합니다. 설치 방법은 AWS Command Line Interface 사용 설명서의 "Installing"을 참고하세요.
  • Kubernetes RBAC에 대한 이해를 권장합니다. 자세한 내용은 Kubernetes 문서의 "RBAC 인증 사용"을 참고하세요.

1단계: 액세스 항목 정의

  1. 권한을 부여할 IAM ID(사용자 또는 역할)의 ARN을 찾습니다.
  2. 각 IAM ID는 EKS 액세스 항목을 하나만 가질 수 있습니다.
  3. 이 IAM ID와 연결할 Kubernetes 그룹을 결정합니다.
  4. 이 그룹을 참조하는 Kubernetes Role/ClusterRole 및 RoleBinding/ClusterRoleBinding 리소스를 생성하거나 기존 항목을 사용해야 합니다.
  5. 자동 생성된 사용자 이름이 액세스 항목에 적절한지, 아니면 사용자 이름을 수동으로 지정해야 하는지 결정합니다. AWS는 IAM ID를 기반으로 이 값을 자동 생성합니다. 사용자 지정 사용자 이름을 설정할 수 있으며, 이 값은 Kubernetes 로그에 표시됩니다. 자세한 내용은 "EKS 액세스 항목의 사용자 지정 사용자 이름 설정"을 참고하세요.

2단계: Kubernetes 그룹과 함께 액세스 항목 생성

액세스 항목을 계획한 후 AWS CLI로 적절한 Kubernetes 그룹과 함께 생성합니다.

aws eks create-access-entry --cluster-name  --principal-arn  --type STANDARD --kubernetes-groups

다음을 바꾸세요:

  • ``를 EKS 클러스터 이름으로
  • ``를 IAM 사용자 또는 역할의 ARN으로
  • ``를 쉼표로 구분된 Kubernetes 그룹 목록(예: "system:developers,system:readers")으로

모든 구성 옵션은 CLI 참조를 확인하세요.

3단계: Kubernetes RBAC 구성

IAM 보안 주체가 클러스터의 Kubernetes 객체에 액세스하려면 Kubernetes 역할 기반 액세스 제어(RBAC) 객체를 생성하고 관리해야 합니다.

  • 권한을 정의하는 Kubernetes Role 또는 ClusterRole 객체를 생성합니다.
  • 그룹 이름을 kind: Group의 subject로 지정하는 Kubernetes RoleBinding 또는 ClusterRoleBinding 객체를 클러스터에 생성합니다.

Kubernetes에서 그룹과 권한을 구성하는 방법에 대한 자세한 내용은 Kubernetes 문서의 "RBAC 인증 사용"을 참고하세요.

다음 단계

  • IAM ID로 kubectl을 사용할 수 있도록 kubeconfig를 생성합니다.

더 알아보기 (Learn more)