10장 build와 deploy 권한을 하나의 관리자 role로 합치지 않는다
build job은 ECR authorization token과 특정 repository push가 필요하다. deploy job은 cluster 정보를 읽고 EKS Kubernetes API에 제한된 작업을 수행한다. cluster 생성 role은 VPC·IAM·EKS를 만들 수 있으므로 pipeline의 일상 deploy role로 쓰지 않는다.
권한을 세 개로 나눈다.
| Role | 맡는 주체 | 허용 예 | 금지 예 |
|---|---|---|---|
| bootstrap | platform admin | cluster·OIDC·role 생성 | 일상 app deploy |
| build | CI build job | ECR push·scan read | EKS admin |
| deploy | 승인된 deploy job | cluster describe·namespace 배포 | IAM 변경·다른 namespace |
IAM permission만 줄이면 충분하지 않다. role trust policy에서 repository, branch 또는 protected environment를 제한한다. AWS 권한과 Kubernetes RBAC는 직렬 gate다. IAM role이 cluster에 인증되어도 Access Entry·access policy·RoleBinding이 허용하지 않으면 resource를 바꾸지 못해야 한다.