IRSA
-
[EKS] IRSA를 활용하여 pod에 IAM 할당하기 #2k8s 2020. 7. 27. 00:36
지난 포스트에서 쿠버네티스 노드에 IAM을 부여할 경우 (해당 노드에) 배포되어 있는 모든 파드가 동일한 권한을 갖게 되며 이는 보안상 적절하지 않다고 얘기했습니다. (그림으로 표현하자면 아래와 같을 겁니다.) 지난 포스트에서는 IRSA가 대략적으로 어떻게 동작하는지 설명하였으니 오늘은 실습 위주의 포스트를 작성하려고 합니다. 아래 그림과 같이 파드 A, 파드 B를 동일한 노드에 배포하고 파드 A만 S3에 접근 가능한 환경을 구성해보려고 합니다. - Requirements 아래 2개의 패키지를 로컬에 설치 후 명령어가 정상적으로 수행될 수 있게끔 설정해야 합니다. (이 부분은 생략합니다.) eksctl aws-cli - EKS 클러스터 생성 테스트를 위한 test-cluster를 생성 $ eksctl c..
-
[EKS] IRSA를 활용하여 pod에 IAM 할당하기 #1k8s 2020. 7. 11. 04:11
AWS에서 쿠버네티스를 운영하다보면 파드가 S3나 DynamoDB와 같은 AWS 리소스를 이용해야 하는 경우가 종종 생깁니다. 쿠버네티스를 사용하지 않는 환경이라면 필요한 IAM 정책을 정의하고 EC2 인스터스에서 이 정책을 사용할 수 있게끔 할당해주면 간단히 해결되지만 IAM 정책은 인스턴스 단위로 사용할 수 밖에 없어 보안적인 측면에서 지켜야 하는 Principle of Least Privilege를 어길 수 있습니다. 예를 들어 flask 파드와 로그 수집을 위한 fluentbit 파드가 한 워커 노드에 올라가는 경우 kinesis를 통해 데이터 파이프라인을 구축하였다면 fluentbit는 kinesis로 데이터 전송을 해야 하므로 이와 관련된 IAM 권한이 필요할 겁니다. 만약 이 권한을 워커 노..