본문 바로가기
Information System Security

6-3. Role-Based Access Control (RBAC)

by Hangii 2024. 10. 24.

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

Access Control Matrix of RBAC

  • 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

댓글