RBAC

개요

Role Based Access Control.
역할 기반 접근 제어

무엇이 무엇에서 무슨 짓을 할 수 있는가?
어떤 역할을 어떤 것에 부여하여 어떤 것을 허용해준다.
이런 개념인데, 처음에는 막연히 어렵기만 하다.
그런데 막상 해보면 엄청 어렵지는 않다.

클라우드 환경에서는 매우 보편화된 인증 인가 방식이다.

정처기에서도 나오는 개념인데,
권한 정책에 대한 비교로서 나온다.
정확하게 rbac는 권한을 관리하는 방식에 대한 개념이므로, 접근 권한 관리 주체에 대한 개념이 dac와 mac와 대치되는 개념은 아니다.

쿠버 RBAC를 정리하다가 분리한 문서로, 추후 작성이 필요하다.

ABAC

rbac에서 확장되는 개념으로 속성 기반 접근 제어를 할 수 있다.
사용자가, 혹은 해당 자원이 가진 속성 따라 일일히 권한을 부여하는 것이다.

rbac와는 조금 다른 접근법이라 이 접근 법을 채택하기도 한다.
rbac는 많은 유저에게 그룹별 역할을 부여하는 게 가능하다.
근데 결국 각 유저가 가진 속성이 중요한 게 아닌가 하는 생각이 드는 것이다.
또 유저마다 세분화하다보면 한 유저가 한 역할을 가지게 되는 경우도 있다.

쿠버네티스에서는 과거 버전에서 주로 사용됐다.

여기에 일단 관리자가 많은 역할들을 만들고 나서, 이걸 또 일일히 유저에게 할당해야 하는 번거로움이 있다.
그렇다면 애초에 유저들이 어떤 속성들을 가지고 있는 환경일 때, 해당 속성들을 이용해도 되지 않겠냐는 것이 ABAC의 핵심이다.
가령 어떤 유저는 관리자라는 그룹에 속하는 속성을 가지고 있다면, 이 속성을 기반으로 접근 제어를 하는 것이다.
rbac였다면 일단 관리자 그룹에 해당하는 역할을 만들고, 이 역할을 그룹에 부여하는 작업이 추가적이었을 것이다.

관련 문서

이름 noteType created

참고