• 카테고리

    질문 & 답변
  • 세부 분야

    보안

  • 해결 여부

    해결됨

IAM 사용자별 EKS 접근 권한 추가 방법

24.03.08 19:16 작성 24.03.08 19:17 수정 조회수 310

1

안녕하세요. 강의를 듣다보니 궁금하여 문의드립니다.

현업에서 IAM role에 따라서 EKS 접근 권한을 제한하여 동작을 시키고 싶을때 어떻게 하면 될까요?

 

PL 에게는 EKS 모든 권리를 주고

developer에게는 EKS 특정 pod 만 생성할수 있고 수정할수 있는 권한을 주고

operator에게는 pod를 읽을수 있는 권한만 주려고할때 어떻게해야할지 모르겠네요.

 

찾아본 바로는 IRSA와 RBAC을 절적히 사용하면 된다고하는데 잘모르겠네요.

 

만약에 권한을 주는 것도 level 0, level 1, level 2 같이 권한으로 디자인하고 PL은 level 2 권한을 주고

sub PL, develope는 level 1 권한을 주고 operator와 tester는 level 0를 주어 권한을 제한할수도 있을까요?

 

IAM role을 가져올때 이 사람이 PL인지 아니면 sub PL인지 developer인지 구분할수 있는 방법이 있을까요?

 

강의 들어도 잘 모르겠네요. ㅜㅜ

답변 1

답변을 작성해보세요.

0

안녕하세요.

먼저, 두 가지 관점으로 살펴봐야될 것 같습니다.

  1. 서비스(pod)가 역할을 부여받을 때 권한 제어

  2. 사용자가 EKS Cluster에 접근 할 때 권한 제어

강의에서도 말씀드렸다시피 Kubernetes에 대한 내용을 다루지는 않고 있지만,

1번 내용에 대해서는 IAM으로만 관리가 가능하기에 설명을 드렸었습니다.(그게 IRSA, EKS Pod Identity 입니다.)

현재 말씀하신 내용은 1번의 내용은 아닌 것 같기에 제외하겠습니다.(물론 IRSA, EKS Pod Identity를 통해서 쓸 수 없는건 아니지만, 정상적인 케이스는 아닌걸로 보입니다.)

 

결국, 2번 내용인 사용자 -> EKS Cluster 접근에 대한 질문으로 보입니다.

결론부터 말씀드리면, 해당 내용은 강의에 포함되지 않은게 맞습니다. 해당 내용을 이해하려면 Kubernetes의 권한 체계에 대해서 알아야 하기 때문입니다.

그래도 간단히 설명드려보면, 아마 말씀하신 내용은 아래 링크인 것 같습니다.
https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html

예전에 유일하게 지원하던 방식으로 AWS IAM 보안주체와 EKS의 aws-auth라는 ConfigMap을 통해 권한을 부여하는 방식입니다. 다만, 이 방식은 AWS IAM 뿐만 아니라 EKS에 대한 이해도 필요하기 때문에 사용하기 쉽지는 않습니다.

 

그렇기에, 23년 12월에 출시한 EKS Cluster Access Management 라는 기능을 검토해보시길 추천드립니다.

기존엔 클러스터를 처음 생성한 사용자의 권한을 회수할 수 없었는데 콘솔에서 이를 확인하고 제거하는 것도 가능하고, 다양한 기본 권한조건키를 제공해서 EKS의 권한이 아니더라도 어느 정도 제어할 수 있습니다.

사진으로 보여드리면,

image클러스터의 Access에 가면, ConfigMap으로 기본 설정되어 있는 것을 볼 수 있습니다. "Manage access" 버튼을 누르고,

image위와 같이 사용 방법을 변경 가능합니다.(주의하실 점은 위로 올라갈 순 있지만, 다시 내려올 순 없습니다. 그러니 처음 적용은 EKS API and ConfigMap으로 하시고, 완벽히 마이그레이션이 완료되면 EKS API로 변경하시길 추천드립니다.)

image변경 후 잠시동안 Updating 상태로 변경되고, 완료되면 아래와 같이 설정을 할 수 있습니다.

image기존 ConfigMap 모드에서는 보이지 않던 클러스터 생성 보안주체도 보이고, 제거가 가능합니다.(사용사례가 더욱 다양해질 수 있게 변경 됐습니다.)

image"Create access entry" 버튼을 누르시고 필요한 정보를 입력하신 후에,

image필요한 정책과 접근 범위를 설정하시면 손 쉽게 사용자에게 권한을 부여하고 관리할 수 있습니다.

추가로, 문서는 아래 링크 참고 부탁드립니다.
https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html

답변을 달고 보니, 이 정도는 강의에서 커버해도 괜찮겠다는 생각도 들었습니다. 추가 여부 검토해보겠습니다.

감사합니다.

SpeedGogo님의 프로필

SpeedGogo

질문자

2024.03.11

감사합니다. 훌륭한 방법인것같습니다. 한번 트라이해보도록 하겠습니다.