devnoong.log
article thumbnail
728x90

EKS 클러스터는 클러스터 접근 제어를 위해 IAM entity(사용자 또는 역할)중  ConfigMap에서 사용되는  aws-auth라는 role을 이용한다고 합니다.

 

기본적으로 클러스터를 생성하는데 사용된 IAM entity에는 컨트롤 플레인에서 클러스터 RBAC 구성의 system:masters 권한이 자동적으로 부여됩니다.

 

클러스터 접근 제어를 위해서 AWS Console credential을 클러스터에 추가하는 작업이 필요합니다.

 

1. 클러스터 자격 증명 확인하기

cat ~/.kube/config

eks-demo-yh 클러스터에 대한 자격증명 내용을 확인해볼 수 있습니다.

 

현재 사용 가능한 user에는 클러스터 생성자인 저만이 포함되어 있습니다.

클러스터를 생성한 사용자인 경우 클러스터에 대한 액세스 권한이 이미 있습니다.

 

클러스터를 생성한 사용자가 아닌 경우 다른 사용자에 대한 클러스터 액세스를 사용 설정하기 위해 나머지 단계를 완료해야 합니다. 

 

2. role ARN(Amazon Resource Number) 정의하기

 

현재 environment 에 접근할 수 있는 유저들을 rolearm으로 정의합니다.

rolearn=$(aws cloud9 describe-environment-memberships --environment-id=$C9_PID | jq -r '.memberships[].userArn')

3. identity 맵핑

앞서 만든 role 역할에 identity를 매핑하도록 하겠습니다.

eksctl create iamidentitymapping --cluster eks-demo-yh --arn ${rolearn} --group system:masters --username admin

 

생성 후 아래의 명령어를 통해 관련 정보를 확인 할 수 있습니다.

kubectl describe configmap -n kube-system aws-auth
728x90