brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jan 25. 2024

AWS 46탄-5. EKS Pod Identity 기능

EKS 클러스터앱의 IAM 권한 단순화할수 있는  Amazon EKS Pod Identity에 대해 알아봅시다.

IRSA로 사용하는 방법이네요~



<1> Amazon EKS Pod Identity 란?

<2> EKS Pod가 AWS 리소스 접근 권한을 주는 방법 3가지

<3> EKS Pod Identity 기능 적용을 위한 사전 조건

<4> EKS Pod Identity 기능 적용

<5> 정리




<1> Amazon EKS Pod Identity 란?


EKS는 클러스터 외부의  AWS서비스와 연결하는데 필요한 Pod의 IAM 권한 연결하도록  Amazon Pod Identity 도입함.

Pod Identity는 IRSA사용한다.

OIDC (OpenID Connect) 공급자를 참조하지 않는다.= 여러 EKS클러스터에서 IAM 역할 사용이 가능해짐.





<2> EKS Pod가 AWS 리소스 접근 권한을 주는 방법 3가지



1

Node EC2에 IAM role을 부여하는 방법

이경우 해당 Node에 있는 모든 Pod가 권한을 가진다.

보안에 취약한 방법이다.



2

Access-Key를 Pod에서 사용하는 SDK나 CLI에 설정하는 방법.

보안에 취약한다. Access-Key 관리가 필요하다.



3

IRSA사용하는 방법.


IRSA는 IAM Role for Service Account

쿠버네티스의 서비스 어카운트를 사용하여  Pod의 권한을 IAM Role로 제어할 수 있다.

특정 Pod만 node 밖에 있는   AWS 서비스를 사용할 수 있게 해 준다.

특정 Pod에만 권한을 주므로 보안적인 측면에서 적합하다.

네임스페이스 별로 각각 다른 서비스 어카운트를 만들어 해당 Pod에 각각 다른 IAM Role을 부여할 수 있다.





<3> EKS Pod Identity 기능 적용을 위한 사전 조건



1

node에서 Agent를 Daemon Set으로 실행해야 함


2

Agent를 실행하기 위해 EKS Pod Identity Agent라는 새로운 추가 기능(Add-on)을 제공함.

클러스터에  EKS Pod Identity Agent 애드온이 미리 설치되어 있어야 한다.

addon 설치는 eksctl이나 테라폼으로도 가능하다.


3

addon  설치법?

EKS 대시보드 > EKS 클러스터 > Add-ons > Get  more add-ons  > Amazon EKS Pod Identity Agent  클릭해 설치한다.




<4> EKS Pod Identity 기능 적용


1

Pod에 연결할 IAM Role 생성

예) S3접근 정책 , Role 생성



2

생성된 IAM Role에 신뢰 관계 정책 설정 = pods.eks.amazonaws.com으로 보안주체를 등록



3

IAM role과 쿠버네티스 서비스 어커운트 연결 

EKS클러스터 > Access탭 > Pod Identity association선택

쿠버네티스 네임스페이스와 서비스 어카운트를 드롭 다운 메뉴에서 선택가능하다.


4

확인?

Pod Identity association 목록에서 적용 되었는지 확인하자.





<5> 정리


1

AWS IAM권한을 획득하도록 쿠버네티스 애플리케이션 구성하는 방법을 간소화 하는 새로운 기능인 EKS Pod Identity 기능 생김.



2

클러스터에  EKS Pod Identity Agent 애드온이 미리 설치되어 있어야 한다.





같이 보면 좋을 자료

https://brunch.co.kr/@topasvga/3303






다음

https://brunch.co.kr/@topasvga/3623


감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari