[AWS] IAM Role로 EKS Cluster 액세스

Jeongtae Kim·2023년 9월 13일
0

AWS

목록 보기
12/13
post-thumbnail

EKS Cluster는 Cluster를 생성한 IAM User나 Role만이 액세스 할 수 있습니다. 다른 IAM User나 Role이 접근하면 다음과 같이 에러가 발생하게 됩니다.

그러나 매번 IAM User한테서 Access Key를 발급하여 적용하는 것은 매우 귀찮은 일입니다. 그리고 EC2에 부착된 IAM Role을 사용하는 것이 보안적으로 더 나은 선택일 것입니다. 오늘은 EC2에 부착된 IAM Role로 EKS Cluster에 액세스 할 수 있도록 변경해봅시다.

0. 실습 환경 구축

Node Group이 생성된 환경에서 시작해야 합니다. 또한, 처음 한 번은 EKS Cluster을 생성한 User의 Access Key가 적용되어야 합니다.
https://velog.io/@arcokim/AWS-EKS-Node-Group

1. aws-auth configmap 변경

과정은 매우 간단합니다. 먼저, aws-auth라는 configmap 수정 화면으로 접속합니다. 참고로, aws-auth는 IAM의 Role, User, 또는 Group을 EKS 클러스터 내부의 RBAC에서 사용할 수 있는 Group으로 mapping 해주는 역할을 합니다.
참고 글 : https://channel.io/ko/blog/tech-aws-cross-accounts-irsa

kubectl edit configmap -n kube-system aws-auth

다음과 같은 화면이 나오면 mapRoles에 다음과 같은 내용을 추가합니다.

mapRoles: |
  - rolearn: arn:aws:iam::(Account_ID):role/(IAM_Role_Name)
    username: admin
    groups:
    - system:masters

IAM Role에 system:masters 를 부여하면 Kubernetes API 서버에 대해 무제한 액세스를 허용할 수 있습니다. 이제 저장을 하고 나와 EKS Cluster를 생성한 User의 Access Key 정보를 삭제하겠습니다.

rm ~/.aws/credentials

이제 EC2에 부착된 IAM Role을 사용하여도 EKS Cluster에 액세스 할 수 있습니다.

오늘의 글은 여기까지입니다. 감사합니다!

profile
유용할지도 모른다.

1개의 댓글

comment-user-thumbnail
2023년 12월 6일

이해가 안가네요..어떻게 aws configure 설정도 없이 aws-auth에 롤만 추가했다고해서 aws sts get-caller-identity값이 출력이 되나요??? 꼭 답변 부탁드려요 odark@naver.com

답글 달기