
*
enable_cluster_creator_admin_permissions = true
클러스터 내부에서 이 옵션 넣어서 저 코드는 굳이 필요가 없다
그런데 이건 terraform(k8s provider)로 접근 가능해도
AWS 콘솔 EKS 화면에서 k8s resource 보려면 별도 IAM 권한이 필요했다
Terraform CLI
↓
k8s provider
↓
Kubernetes API Server
Browser
↓
AWS Console Backend
↓
AWS IAM 인증
↓
EKS Access API
↓
Kubernetes API Proxy
[0]
IAM 주체를 k8s RBAC 권한에 매핑하는 새로운 방법
- 예전에는 aws-auth ConfigMap을 직접 수정했는데
- 지금은 AWS API 레벨에서 관리하게 바뀐 것
-
[1]
EKS 권한은 2단계다
1. AWS 인증 (IAM)
2. k8s 권한 (RBAC)
IAM 통과해도 RBAC 없으면
kubectl get pods
→ Forbidden
즉 AWS는 누군지만 알고, k8s는 뭘 할수 있는지를 따로 관리
-> 이 둘을 연결해야 함
-
[2]
이전 방식인 aws-auth ConfigMAp
kube-system/aws-auth ConfigMap
여기에
mapRoles:
- rolearn: arn:aws:iam::123:role/dev
groups:
- system:masters
문제 : kubectl로 직접 수정 / Terraform 관리 어려움 / 실수 시 클러스터 잠김
-
[3]
그래서 나온게 Access API (AWS가 만든 새 리소스)
-> EKS Access Entry
-> EKS Access Policy Attachment
즉 IAM <-> RBAC 매핑을 AWS API로 관리
-
[4]
EKS Access Entry (Princiapl)
클러스터에 접근할 IAM 주체 등록
- IAM User
- IAM Role
- SSO Principal
Terraform
Principal ARN -> Cluster Access 등록
출입증 발급
-
[5]
EKS Access Policy Attachment = 뭘 할 수 있나?
- AmazonEKSClusterAdminPolicy
- AmazonEKSAdminPolicy
- AmazonEKSEditPolicy
- AmazonEKSViewPolicy
즉 RBAC 권한 템플릿
-
[6]
IAM (AWS 인증)
↓
Access Entry (신원 등록)
↓
Access Policy (권한 매핑)
↓
Kubernetes RBAC
↓
API Server 권한 허용'[2] 250909~ 클라우드 > [b] 12월 : Terraform + Ansible' 카테고리의 다른 글
| [51] EKS console view가 proxy 쓰는 이유 (0) | 2026.02.17 |
|---|---|
| [50] ECS Role VS EKS Role (0) | 2026.02.17 |
| [48] cluster_enpoint_public_access (0) | 2026.02.16 |
| [47] cluster_ca_certificate (0) | 2026.02.16 |
| [46] deployment 이미지 (0) | 2026.02.16 |