RBAC(Role Based Access Control)
- 역할을 기반으로 한, 자원 접근에 대한 통제를 의미합니다.
아래와 같이 RBAC를 사용할 경우, team 구성원이 바뀌어 user를 변경할 때 각 자원에 접근하는 권한은 그대로 두고 user만 각각에 맞는 권한으로 바꿔주기만 하면 되어서 유지보수가 편합니다.
IAM
- 아래와 같이 policy에 특정 service나 resource를 변경할 수 있는 권한은 policy에 있습니다. 때문에 identity(user, role)에 policy를 붙여줘야만 policy에 해당하는 권한을 가질 수 있게 됩니다.
Kubernetes
- 반면, kubernetes에서 쓰이는 RBAC 방식은 entity에 권한(role)을 부여하기 위해 role binding이란 자원을 생성해줘야 합니다.
entity(user, group, service account)는 role에 정의된 rule을 기반으로 resource에 접근할 수 있는 권한을 얻습니다.
참고