이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
액세스 정책 및 AWS CLI를 사용하여 IAM 역할 또는 사용자에 대한 액세스 항목 생성
AWS 관리형 EKS 액세스 정책을 사용하여 IAM 자격 증명에 Kubernetes 클러스터에 액세스 및 관리할 수 있는 표준화된 권한을 부여하는 Amazon EKS 액세스 항목을 생성합니다.
개요
Amazon EKS의 액세스 항목은 IAM 자격 증명(사용자 및 역할)이 Kubernetes 클러스터에 액세스하고 상호 작용하는 방식을 정의합니다. EKS 액세스 정책을 사용하여 액세스 항목을 생성하면 다음 작업이 가능합니다.
-
특정 IAM 사용자 또는 역할에 EKS 클러스터 액세스 권한 부여
-
표준화 및 사전 정의된 권한 세트를 제공하는 AWS 관리형 EKS 액세스 정책을 사용하여 권한 제어
-
특정 네임스페이스 또는 클러스터 전체에 대한 권한 범위 지정
-
aws-auth
ConfigMap을 수정하거나 Kubernetes RBAC 리소스를 생성하지 않고도 액세스 관리 간소화 -
보안 모범 사례를 유지하면서 일반적인 사용 사례를 다루는 Kubernetes 액세스 제어에 AWS 통합 접근 방식 사용
이 접근 방식은 수동 Kubernetes RBAC 구성 없이 표준화된 AWS 관리형 권한을 제공하므로 대부분의 사용 사례에 권장됩니다. EKS 액세스 정책을 사용하면 Kubernetes RBAC 리소스를 수동으로 구성할 필요가 없으며 일반적인 사용 사례를 포괄하는 사전 정의된 권한 세트가 제공됩니다.
사전 조건
-
액세스 항목을 활성화하도록 클러스터의 인증 모드를 구성해야 합니다. 자세한 내용은 액세스 항목을 사용하도록 인증 모드 변경 섹션을 참조하세요.
-
AWS 명령줄 인터페이스 사용 설명서의 설치에 설명된 대로 AWS CLI를 설치 및 구성합니다.
1단계: 액세스 항목 정의
-
권한을 부여하려는 사용자 또는 역할과 같은 IAM 자격 증명의 ARN을 찾습니다.
-
각 IAM 자격 증명에는 하나의 EKS 액세스 항목만 있을 수 있습니다.
-
-
Amazon EKS 액세스 정책 권한을 특정 Kubernetes 네임스페이스에만 적용할지 또는 전체 클러스터에 적용할지 여부를 결정합니다.
-
권한을 특정 네임스페이스로 제한하려면 네임스페이스 이름을 기록해 둡니다.
-
-
IAM 자격 증명에 사용할 EKS 액세스 정책을 선택합니다. 이 정책은 클러스터 내 권한을 부여합니다. 정책의 ARN을 기록합니다.
-
정책 목록은 사용 가능한 액세스 정책을 참조하세요.
-
-
자동 생성된 사용자 이름이 액세스 항목에 적합한지 또는 사용자 이름을 수동으로 지정해야 하는지 결정합니다.
-
AWS는 IAM 자격 증명을 기반으로 이 값을 자동 생성합니다. 사용자 지정 사용자 이름을 설정할 수 있습니다. 이는 Kubernetes 로그에 표시됩니다.
-
자세한 내용은 EKS 액세스 항목에 대한 사용자 지정 사용자 이름 설정 섹션을 참조하세요.
-
2단계: 액세스 항목 생성
액세스 항목을 계획한 후에는 AWS CLI를 사용하여 생성합니다.
다음은 가장 많이 사용되는 사례의 예시입니다. 모든 구성 옵션에 대한 CLI 참조를 확인합니다.
다음 단계에서 액세스 정책을 연결합니다.
aws eks create-access-entry --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --type STANDARD
3단계: 액세스 정책 연결
명령은 정책을 지정된 Kubernetes 네임스페이스로 제한할지 여부에 따라 달라집니다.
액세스 정책의 ARN이 필요합니다. 사용 가능한 액세스 정책을 검토합니다.
네임스페이스 범위를 포함하지 않고 정책 생성
aws eks associate-access-policy --cluster-name <cluster-name> --principal-arn <iam-identity-arn> --policy-arn <access-policy-arn>
네임스페이스 범위를 포함하고 생성
aws eks associate-access-policy --cluster-name <cluster-name> --principal-arn <iam-identity-arn> \ --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn <access-policy-arn>