액세스 정책과 AWS CLI를 사용해 IAM 역할 또는 사용자용 액세스 항목 생성
액세스 정책과 AWS CLI를 사용해 IAM 역할 또는 사용자용 액세스 항목 생성
AWS 관리형 EKS 액세스 정책을 사용하여 IAM ID에 Kubernetes 클러스터 액세스 및 관리를 위한 표준화된 권한을 부여하는 Amazon EKS 액세스 항목을 생성하는 방법을 설명합니다.
출처: 문서
본문
개요
Amazon EKS의 액세스 항목은 IAM ID(사용자와 역할)가 Kubernetes 클러스터에 어떻게 액세스하고 상호작용할 수 있는지를 정의합니다. EKS 액세스 정책으로 액세스 항목을 생성하면 다음을 할 수 있습니다.
- 특정 IAM 사용자나 역할에 EKS 클러스터 액세스 권한을 부여
- 표준화되고 미리 정의된 권한 집합을 제공하는 AWS 관리형 EKS 액세스 정책으로 권한 제어
- 권한 범위를 특정 네임스페이스 또는 클러스터 전체로 제한
aws-authConfigMap을 수정하거나 Kubernetes RBAC 리소스를 만들지 않고도 액세스 관리를 단순화- 보안 모범 사례를 유지하면서 일반적인 사용 사례를 다루는 AWS 통합 방식의 Kubernetes 액세스 제어 사용
이 접근 방식은 수동 Kubernetes RBAC 구성 없이 AWS 관리형·표준화된 권한을 제공하므로 대부분의 사용 사례에서 권장됩니다. EKS 액세스 정책은 Kubernetes RBAC 리소스를 수동으로 구성할 필요를 없애고, 일반적인 사용 사례를 다루는 미리 정의된 권한 집합을 제공합니다.
전제 조건
- 클러스터의 인증 모드가 액세스 항목을 사용하도록 구성되어 있어야 합니다. 자세한 내용은 "액세스 항목을 사용하도록 인증 모드 변경"을 참고하세요.
- AWS CLI를 설치하고 구성합니다. 설치 방법은 AWS Command Line Interface 사용 설명서의 "Installing"을 참고하세요.
1단계: 액세스 항목 정의
- 권한을 부여할 IAM ID(사용자 또는 역할)의 ARN을 찾습니다.
- 각 IAM ID는 EKS 액세스 항목을 하나만 가질 수 있습니다.
- Amazon EKS 액세스 정책 권한을 특정 Kubernetes 네임스페이스에만 적용할지, 아니면 클러스터 전체에 적용할지 결정합니다.
- 권한을 특정 네임스페이스로 제한하려면 네임스페이스 이름을 기록해 둡니다.
- IAM ID에 사용할 EKS 액세스 정책을 선택합니다. 이 정책은 클러스터 내(in-cluster) 권한을 부여합니다. 정책의 ARN을 기록해 둡니다. 정책 목록은 "사용 가능한 액세스 정책"을 참고하세요.
- 자동 생성된 사용자 이름이 액세스 항목에 적절한지, 아니면 사용자 이름을 수동으로 지정해야 하는지 결정합니다. AWS는 IAM ID를 기반으로 이 값을 자동 생성합니다. 사용자 지정 사용자 이름을 설정할 수 있으며, 이 값은 Kubernetes 로그에 표시됩니다. 자세한 내용은 "EKS 액세스 항목의 사용자 지정 사용자 이름 설정"을 참고하세요.
2단계: 액세스 항목 생성
액세스 항목을 계획한 후 AWS CLI로 생성합니다. 다음 예제는 대부분의 사용 사례를 다룹니다. 모든 구성 옵션은 CLI 참조를 확인하세요. 액세스 정책은 다음 단계에서 연결합니다.
aws eks create-access-entry --cluster-name --principal-arn --type STANDARD
3단계: 액세스 정책 연결
정책을 지정한 Kubernetes 네임스페이스로 제한할지에 따라 명령이 달라집니다. 액세스 정책의 ARN이 필요합니다. 사용 가능한 액세스 정책을 확인하세요.
네임스페이스 범위 없이 정책 생성:
aws eks associate-access-policy --cluster-name --principal-arn --access-scope type=cluster --policy-arn
네임스페이스 범위로 생성:
aws eks associate-access-policy --cluster-name --principal-arn \
--access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn
다음 단계
- IAM ID로 kubectl을 사용할 수 있도록 kubeconfig를 생성합니다.