RBAC와 ABAC 의 특징 비교: 정의 및 사용 사례

RBAC와 ABAC 의 특징 비교: 정의 및 사용 사례

전 세계 수천 곳의 기업이 Okta를 통해 시간과 비용을 절감하고 있습니다. 아이덴티티가 기업에게 어떤 영향을 미칠 수 있는지 알아보세요.

RBAC와 ABAC 의 특징 비교: 정의 및 사용 사례

업계 최고의 분석가들이 Okta와 Auth0를 아이덴티티 분야의 리더로 연속 선정하고 있는 이유를 알아보세요.

아이덴티티 관리 테크놀로지는 중요한 디지털 자산을 보호합니다. 그렇다면 어떤 형태의 보호가 필요할까요?

RBAC(Role-Based Access Control)와 ABAC(Attribute-Based Access Control)의 차이점을 알면 현명한 결정을 내릴 수 있습니다.

RBAC와 ABAC의 가장 큰 차이점은 액세스 권한을 부여하는 방식에 있습니다. RBAC 프로토콜에서는 역할에 따라 액세스 권한을 부여할 수 있습니다. ABAC 프로토콜에서는 사용자 특성, 객체 특성, 작업 유형 등에 따라 액세스 권한을 결정할 수 있습니다.

RBAC(Role-Based Access Control)란?

누군가 여러분의 컴퓨터 시스템에 로그인한다고 합시다. 이 사람은 어떤 작업을 할 수 있을까요? RBAC 프로토콜에서는 이 사람의 역할에 따라 결정됩니다.

RBAC에서 말하는 역할이란, 보통 다음과 같은 특성을 공유하는 사용자 그룹을 지칭합니다.

  • 부서
  • 위치
  • 연공서열 
  • 담당 업무
【図解】ロールベースのアクセスコントロール

역할이 정의되면 다음에 대한 권한을 할당할 수 있습니다.

  • 액세스. 무엇에 접근할 수 있는가?
  • 운영. 무엇을 읽고, 무엇을 작성할 수 있는가? 파일을 생성 또는 삭제할 수 있는가?
  • 세션. 시스템에 얼마나 오래 머무를 수 있는가? 로그인은 언제 작동하고, 언제 만료되는가?

모든 RBAC 시스템은 이렇게 작동합니다. 그러나 NIST(National Institute of Standards and Technology)는 약간의 유연성이 더 필요한 경우에 대비해 RBAC의 네 가지 하위 유형을 정의하고 있습니다.

  • 균일적 RBAC: 모든 직원이 권한을 정의하는 역할을 한 가지 이상 맡고 있지만, 두 가지 이상의 역할을 수행하는 직원도 있습니다.
  • 계층적 RBAC: 연공서열은 역할 간의 협업 방식을 정의합니다. 고위 경영진은 자체 권한 뿐만 아니라, 부하 직원이 획득한 권한도 갖습니다.
  • 제한적 RBAC: 업무의 분리가 추가되고 여러 사람이 하나의 작업을 함께 수행합니다. 이는 보안을 보장하고 사기 행위를 방지하는 데 도움이 됩니다.
  • 대칭적 RBAC: 역할 권한이 수시로 검토되며, 이 결과에 따라 권한이 변경됩니다.

이러한 역할은 상호 기반적이며 보안 수준별로 정렬할 수 있습니다.

  • 레벨 1, 균일적 RBAC: 가장 단순한 RBAC 유형으로, 직원들은 역할에 따라 권한을 얻습니다.
  • 레벨 2, 계층적 RBAC: 균일적 RBAC 규칙을 기반으로 하며, 역할의 계층 구조가 추가되었습니다.
  • 레벨 3, 제한적 RBAC: 계층적 RBAC를 기반으로 하며, 직무 분리가 추가되었습니다.
  • 레벨 4, 대칭적 RBAC: 제한적 RBAC 모델을 기반으로 하며, 권한 검토가 추가되었습니다. 

ABAC(Attribute-Based Access Control)란? 

누군가 여러분의 컴퓨터 시스템에 로그인한다고 합시다. 이 사람은 어떤 작업을 할 수 있을까요? ABAC 프로토콜에서는 사용자, 리소스 속성 또는 환경에 따라 결정됩니다.

ABAC를 사용하는 시스템의 관리자는 다음에 따라 권한을 설정할 수 있습니다.

  • 사용자. 사람의 직급과 일반적인 작업, 또는 연공서열에 따라 수행 가능한 작업이 결정될 수 있습니다.
  • 리소스 속성. 파일 유형, 만든 사람, 문서의 중요도에 따라 액세스 권한이 결정될 수 있습니다.
  • 환경. 파일에 액세스하고 있는 위치, 시간대 또는 날짜에 따라 액세스 권한이 결정될 수 있습니다.
属性ベースのアクセスコントロールの解説図

이와 같은 시스템에서는 관리자가 많은 부분을 미묘하게 제어할 수 있습니다. 문서를 안전하게 유지하기 위해 연동하는 다양한 속성들을 기반으로 권한을 설정할 수 있습니다. 이론적으로는 해당 사용자가 로그인을 한 위치나 수행하려는 작업, 또는 요일에 따라 같은 사용자에게 다른 권한을 부여할 수도 있습니다.

ABAC의 요소들은 조율된 방식으로 함께 작동합니다.

  • 주체: 누가 업무를 수행하려고 하는가? 
  • 객체: 사용자가 네트워크 내의 어떤 파일을 사용하려고 하는가?
  • 운영. 해당 파일로 무엇을 하려고 하는가?

관계는 if/then 문으로 정의됩니다. 예를 들면 다음과 같습니다.

  • 회계 팀에 소속된 사용자라면 회계 파일에 액세스할 수 있습니다. 
  • 관리자라면 파일에 대한 읽기/쓰기를 수행할 수 있습니다. 
  • 회사 정책에 "토요일 휴무"로 지정되어 있는 경우, 토요일에는 누구도 파일에 액세스할 수 없습니다.

RBAC와 ABAC 의 특징: 장단점 비교

RBAC와 ABAC 모두 제어 및 액세스를 중요하게 생각합니다. 두 접근 방식 모두 시스템을 보호하지만, 각각 장점과 단점이 명확합니다.

ABAC의 장점

ABAC의 단점

높은 수준의 제어
관리자는 다수의 변수를 정의, 개선 및 관리하여 높은 수준의 제어를 보장할 수 있습니다. 자산을 보호하기 위한 매우 구체적이고 세분화된 규칙을 수립할 수 있습니다. 

시간 제약
특히 프로젝트를 시작할 때는 변수 정의와 규칙 구성에 엄청난 노력이 필요합니다. 

 

전문성
연구원들이 지적했듯이, 적절한 ABAC 규칙은 정확한 구현으로 이어집니다. 처음부터 시스템을 잘못 설정하게 되면 오류 수정에 많은 시간이 소요될 수 있습니다. 

 

RBAC의 장점

RBAC의 단점

단순성
RBAC 시스템 내의 규칙은 간단하고 실행이 쉽습니다. 작업이 빠르게 이루어지며 처리 성능에 대한 요구치가 낮습니다. 

역할 폭발
시스템을 보다 세분화하기 위해 역할을 더 추가하는 관리자들도 있습니다. 이로 인해 관리해야 할 규칙이 수 백 개 내지 수 천 개에 달하는 이른바 "1 역할 폭발 1 "로 이어질 수 있습니다. 

 

아이덴티티 관리 시나리오 5가지

여기 나온 사례들은 RBAC 시스템이 가장 적합한 경우와 ABAC 시스템이 더 나은 경우를 이해하는 데 도움이 될 수 있습니다. 두 가지를 함께 사용하는 것이 효과적인 경우도 있기 때문에 이에 대한 사례도 추가했습니다.

다음과 같이 작업 그룹의 유형에 따라 RBAC와 ABAC 중 어느 것이 더 적합한지 검토해야 합니다.

 

1. 소규모 작업 그룹. RBAC가 최상의 선택입니다. 회사 규모가 작고 파일 수가 적을 때는 작업을 역할별로 정의하는 것이 좋습니다.

예를 들어 직원이 15명에 불과한 건설 회사라면 RBAC 시스템이 효율적이고 구축도 용이합니다.

 

2. 지역이 서로 다른 작업 그룹. ABAC를 선택해도 좋습니다. 직원 유형, 위치 및 업무 시간별로 액세스 권한을 정의할 수 있습니다. 지점에서 특정 시간대의 영업 시간 동안만 액세스를 허용할 수 있습니다.

 

3. 시간이 정해진 작업 그룹. ABAC를 우선적으로 선택합니다. 일부 중요한 문서나 시스템은 근무 시간 외에 액세스할 수 없습니다. ABAC 시스템에서는 시간 기반 규칙을 허용합니다.

 

4. 단순하게 구성된 작업 그룹. RBAC가 최상의 선택입니다.. 회사의 규모가 크더라도 액세스 권한은 수행하는 업무에 따라 결정됩니다.

예를 들어, 진료실의 접수원은 읽기/쓰기 일정에 액세스할 수 있지만 의료 검사 결과나 청구 정보는 열람할 필요가 없습니다. RBAC 시스템은 이 경우에 적합합니다.

 

5. 창의적인 기업. 창의적인 기업은 주로 고유한 방식으로 파일을 사용하기 때문에 ABAC가 가장 적합합니다. 특정 문서의 경우 모든 사람이 봐야 하는 경우도 있고, 소수만 봐야 하는 경우도 있습니다. 따라서 역할이 아니라 문서별로 액세스 권한을 변경해야 합니다.

예를 들어, 아티스트와 작가 등 창의적인 업무를 담당하는 직원이 다른 직원이 쉽게 배포할 수 있는 파일을 생성합니다. 그러나 청구 부서 직원 및 계정 담당 임원이 이러한 파일을 확인해야 하는 경우가 있습니다. 그리고 마케팅 팀이 이러한 파일을 공유하고 싶어할 수 있습니다.

문서를 열람해야 하는 사람과 문서를 처리하는 방식이 복잡한 경우에는 ABAC를 사용하는 것이 가장 좋습니다.

 

RBAC와 ABAC 중 어느 것도 필요한 사용 사례를 모두 아우르는 완벽한 솔루션이 될 수는 없습니다. 그렇기 때문에 대부분의 조직이 RBAC를 통해 상위 수준의 액세스를 수행한 다음 ABAC를 통해 해당 구조 내에서 세분화된 제어를 수행하는 하이브리드 시스템을 사용하는 것입니다.

예를 들어, RBAC 시스템을 사용하면 신입 직원에게 중요한 서버를 숨길 수 있습니다. 그런 다음 ABAC 시스템을 사용해 액세스 권한을 가진 사용자가 문서를 변경하는 방식을 제어할 수 있습니다.

연구원들은 RBAC와 ABAC를 혼용하면 관리자가 두 시스템의 장점을 활용할 수 있다고 말합니다. RBAC는 중요한 파일에 대한 기밀 보호를 제공하고, ABAC는 동적인 활동을 허용합니다. 이 둘을 혼용하면 양측의 장점이 결합됩니다. 

Okta를 통해 현명한 결정을 내려보세요.

조직에 가장 적합한 아이덴티티 관리 모델이 무엇인지 확실하지 않더라도 괜찮습니다.

Okta는 세분화된 권한 및 사용자 액세스 인증 요소를 사용해 액세스 및 권한 인증에 대한 안전한 경로를 구축하도록 도와드립니다. Okta가 여러분의 조직에게 어떤 도움이 되는지 알아보세요.

참고 자료

RBAC(Role-Based Access Control)를 위한 NIST 모델: 통일된 표준. (2007년 7월). NIST(National Institute of Standards and Technology).

RBAC와 ABAC의 정책 엔지니어링. (2018년 11월). 데이터베이스에서부터 사이버 보안까지.

RBAC(Role-Based Access Control)에 속성 추가. (2010년 6월). IEEE 컴퓨터.

최소 권한을 구현하기 위한 역할 기반 ABAC 모델. (2019년 2월) ICSCA 2019: 2019년 제8회 소프트웨어 및 컴퓨터 응용 국제 컨퍼런스의 진행 상황.