RBAC(Role-Based Access Control, 역할 기반 액세스 제어)은 '역할 기반 보안'이라고도 불리는 액세스 제어 방식입니다. 이 방식은 조직 내에서 사용자가 맡은 역할(role)을 기준으로 최종 사용자에게 권한을 부여합니다. RBAC는 세분화된(fine-grained) 제어를 지원하며, 개별적으로 권한을 하나하나 할당하는 방식보다 오류 발생 가능성이 낮고 관리하기 쉬운 단순하고 통제 가능한 액세스 관리 방법을 제공합니다.
RBAC의 기본 개념
역할 기반 액세스 제어는 명확하게 정의된 역할에 따라 사용자의 접근 권한을 생성하고 제한함으로써 보안성 있게 접근을 관리하는 개념입니다. 조직은 RBAC를 활용하여 각 사용자에게 어떤 접근 권한이 필요한지, 어떤 권한을 부여하거나 회수해야 하는지를 판단하는 견고하고 사전에 정의·승인된 액세스 정책을 수립합니다.
조직 내 '역할'이란 비슷한 유형의 사용자들에게 자주 할당되는 권한들을 묶어놓은 것으로, 하나 또는 여러 애플리케이션에 대한 일련의 접근 권한 집합을 의미합니다. 역할이 한 번 정의되면 조직은 단순화되고 자동화된 방식으로 권한을 효율적으로 부여할 수 있습니다. 이러한 접근 권한은 시스템 간, 플랫폼 간, 소프트웨어 간에 적용될 수 있으며, 온프레미스(on-premise), 클라우드 또는 두 환경 모두에서 유지될 수 있습니다.
RBAC는 이러한 역할을 활용하여 공통적인 접근 권한을 식별하고 그룹화합니다. 덕분에 신원(identity)과 관련된 접근 위험을 손쉽게 완화하고, 조직 전반의 업무 효율성을 높일 수 있습니다.
최소 권한 원칙과의 결합
역할 기반 액세스 제어는 일반적으로 최소 권한 원칙(principle of least privilege)과 함께 사용됩니다. 즉, 정의된 역할에는 해당 업무나 요구 사항을 수행하는 데 필요한 최소한의 접근 권한만 포함시키는 것입니다.
클라우드 환경에서의 RBAC
역할 기반 액세스 제어 방식은 조직 내 사용자의 역할에 따라 클라우드 컴퓨팅 리소스(또는 리소스 그룹)에 대한 접근을 허용합니다. 각 역할의 구성원에게 자신의 업무를 수행하는 데 필요한 만큼의 유연성과 권한만 부여하면, 조직 전체의 공격 표면(attack surface)과 사이버 공격에 대한 취약성 수준을 줄일 수 있습니다.
RBAC의 3가지 핵심 규칙
RBAC 방식은 보안 시스템에 대한 접근을 규율하는 세 가지 기본 규칙을 기반으로 작동합니다.
1. 역할 할당(Role Assignment)
모든 트랜잭션이나 작업은 사용자가 적절한 역할을 가정(assume)했을 때만 수행될 수 있습니다. 여기서 '작업(operation)'이란 RBAC로 보호되는 시스템 또는 네트워크 객체와 관련하여 수행되는 일련의 행위를 의미합니다. 역할은 독립적인 제3자에 의해 할당되거나, 해당 작업을 수행하려는 사용자가 직접 선택할 수 있습니다.
2. 역할 승인(Role Authorization)
역할 승인의 목적은 사용자가 적절한 승인을 받은 역할만을 가정하도록 보장하는 것입니다. 사용자가 특정 역할을 가정하려면 반드시 관리자의 승인을 받아야 합니다.
3. 트랜잭션 승인(Transaction Authorization)
트랜잭션(작업)은 해당 거래를 완료하려는 사용자가 적절한 역할을 보유하고 있는 경우에만 수행될 수 있습니다.