DAC이나 MAC은 user ID와 접근권한의 관계를 정의한 것에 비해, RBAC은 role과 접근권한의 관계를 정의한다.
- DAC이나 MAC은 user-resource간의 직접 연결로 표현할 수 있었지만, RBAC은 user와 resource 사이에 role layer가 존재한다. 즉, user-role과 role-resource를 표현한, 2-layer 접근제어 방식이다.
- 이 때, user-role 연결은 비교적 자주 변경되지만, role-resource의 연결성은 자주 변경되지 않는다는 특징을 가진다.
- RBAC에서 주로 (# user) > (# roles)이다.
Access Control Matrix
- user-object대신 role-object의 관계를 표시한다.
Principle of Least Privilege
- 시스템 관리자로서, 어떤 role을 생성할 때는 해당 role이 필요한 최소한의 접근 권한만을 할당해야한다.
- 또한 각 유저는 필요한 최소한의 role만을 가져야 한다.
- RBAC 모델은 기본적으로 이렇게 생겼는데, 이 때 session이란 user와 role 사이의 매핑으로, 전체 role 중 user에게 부여된 부분집합을 말한다.
- RBAC 모델은 hierarchy를 가지는데, 당연하겠지만 더 상위의 job function이 더 많은 권한을 가진다.
- RBAC 모델은 몇 가지 constraint를 가진다.
- Mutually exclusive roles: 하나의 유저는 오직 하나의 role만을 가질 수 있다. (이 role은 steady할수도, 아니면 하나의 session에만 적용되는 dynamic한 특성을 가질 수도 있음.)
- Cardinality: Maximum number를 뜻한다. 예를 들어, maximum number of users to be assigned to a certain role, etc.
- Prerequisite roles: 어떤 유저의 role을 정의하려면, 사전에 정의된 role들이 필요함. 예를 들어, 다음과 같은 위계 구조에서 Project Lead role의 prerequisite는 production engineer과 quality engineer이다.
'Information System Security' 카테고리의 다른 글
6-4. Attribute-based access control (ABAC) (0) | 2024.10.24 |
---|---|
6-2. Discretionary Access Control (DAC) (0) | 2024.10.23 |
6-1. Access Control - basics (0) | 2024.10.23 |
5. Authentication (1) (0) | 2024.10.19 |
댓글