○ 개요
RBAC (Role-Based Access Control)는 ‘역할 기반 접근 제어’를 의미하며, 사용자의 역할(Role)에 따라 시스템 자원에 대한 접근 권한을 부여하는 보안 모델입니다. 이 모델은 기업이나 조직에서 보안성과 효율성을 동시에 확보할 수 있게 해주는 대표적인 접근 제어 방식입니다.
○ RBAC의 핵심 개념
RBAC는 다음의 세 가지 핵심 요소로 구성됩니다:
- 사용자(User): 시스템에 접근하는 주체. 예: 직원, 관리자, 외부 파트너 등.
- 역할(Role): 하나 이상의 권한을 집합으로 구성한 추상 개념. 예: 인사팀, 개발자, 시스템 관리자.
- 권한(Permission): 특정 자원에 대한 접근 또는 작업을 허용하는 세부적인 행위. 예: 읽기, 쓰기, 수정, 삭제.
이 구조는 사용자가 직접 권한을 가지는 것이 아니라 역할을 부여받고, 그 역할에 포함된 권한을 간접적으로 부여받는 방식입니다.
○ RBAC의 주요 특징
- 보안성 강화: 최소 권한 원칙(Least Privilege)을 적용하여 불필요한 권한 남용을 방지합니다.
- 관리 효율성: 개별 사용자마다 권한을 일일이 설정할 필요 없이 역할만 관리하면 되므로, 유지보수가 수월합니다.
- 확장성 및 유연성: 역할 변경만으로 대규모 사용자 권한 조정이 가능합니다.
- 감사 추적 용이: 어떤 역할이 어떤 자원에 접근했는지 쉽게 추적 가능합니다.
○ RBAC의 유형
- RBAC은 실제 운영 환경에 따라 세분화된 모델로 활용될 수 있습니다:
- 기본 RBAC (Flat Role-Based Access Control): 단순한 역할 구조로 사용자를 역할에 연결합니다.
- 계층적 RBAC (Hierarchical RBAC): 상위 역할이 하위 역할의 권한을 상속받는 구조. 예: 팀장은 팀원의 권한을 포함함.
- 제약 기반 RBAC (Constrained RBAC): 시간, 장소, 컨텍스트 등 특정 조건에 따라 권한 사용을 제한합니다.
- 정책 기반 RBAC: 규칙(Policy)이나 조건(Condition)에 따라 역할 또는 권한 부여를 자동화합니다.
○ RBAC과 다른 접근 제어 모델과의 비교
| 모델 | 설명 | 특징 |
| DAC (Discretionary Access Control) | 소유자가 접근 권한을 부여 | 유연하나 보안에 취약 |
| MAC (Mandatory Access Control) | 시스템에 의해 강제적으로 권한 부여 | 보안은 강력하나 유연성이 떨어짐 |
| RBAC | 역할 기반으로 권한 할당 | 보안성과 관리 효율을 동시에 만족 |
- RBAC은 DAC의 유연성과 MAC의 통제를 절충한 실용적 모델로, 특히 조직 내 사용자 계층이 명확한 환경에 적합합니다.
○ RBAC이 사용되는 사례
- 기업 IT 인프라 보안: AD(Active Directory) 환경에서 부서별 역할에 따른 접근 제어
- 병원 및 의료 정보 시스템: 의사, 간호사, 행정직원 등 직군별로 의료 기록 접근 제한
- 클라우드 서비스: AWS IAM이나 Azure RBAC에서 리소스에 대한 역할 기반 접근 제어
- ERP 시스템: 모듈별 기능 접근 권한을 역할 기반으로 관리
○ RBAC 도입 시 고려사항
- 정확한 역할 정의: 역할을 너무 세분화하면 관리가 복잡해지고, 너무 넓게 정의하면 보안 취약점이 생깁니다.
- 권한 검토 및 감사 프로세스 구축: 주기적인 권한 검토가 중요합니다.
- 직무 변경 반영 체계 수립: 조직 내 이동, 퇴사, 승진 시 권한 재조정 자동화 필요
○ RBAC의 한계와 보완
- 동적 상황 인식 부족: 사용자의 현재 행위나 환경을 고려하지 못함
- 역할 설계의 난이도: 초기 설계가 잘못되면 권한 남용 가능성 존재
이러한 한계를 극복하기 위해 ABAC (Attribute-Based Access Control)이나 PBAC (Policy-Based Access Control)과 혼합하여 사용하는 경우도 많습니다.
○ ABAC (Attribute-Based Access Control)
- ABAC는 속성 기반 접근 제어로, ‘속성(Attribute)’에 따라 접근을 허용하거나 거부하는 방식입니다.
🔹 핵심 개념
- 주체(subject), 객체(object), 환경(environment), **행위(action)**에 각각 속성을 부여하고, 이 속성들을 기반으로 정책이 평가됨.
- 예: 사용자의 직급, 부서, 근무 위치, 요청 시간대 등
🔹 특징
- 매우 세밀하고 유연한 권한 관리 가능
- 상황(Context)을 고려한 접근 제어가 가능함
- 보안 정책이 복잡해질 수 있음 (정책 수가 많아짐)
○ PBAC (Policy-Based Access Control)
- PBAC는 정책 기반 접근 제어로, 사전에 정의된 정책(Policy)에 따라 권한을 판단합니다.
🔹 핵심 개념
- 정책은 주로 조건문 형태로 구성되며, 조건이 충족되면 접근 허용
- ABAC과 유사하나, 더 비즈니스 규칙 중심의 구조
- 예: “영업팀 직원은 업무 시간에만 고객 데이터에 접근할 수 있다”
🔹 특징
- 비즈니스 규칙 기반으로 접근 통제 설계
- 관리자가 이해하기 쉬운 정책으로 표현 가능
- RBAC/ABAC을 확장하거나 통합하는 데 유용
○ 비교 : RBAC vs ABAC vs PBAC
| 모델 | 기준 | 유연성 | 관리 용이성 | 대표 활용 |
| RBAC | 역할(Role) | 중간 | 쉬움 | 기업 내부 시스템, 정형화된 조직 |
| ABAC | 속성(Attribute) | 매우 높음 | 어려움 | 클라우드, 복잡한 권한 시나리오 |
| PBAC | 정책(Policy) | 높음 | 중간 | 보안이 중요한 금융/의료, 규제 환경 |
'개념 정리 > IT 인프라' 카테고리의 다른 글
| [IT 용어] WBS(Work Breakdown Structure, 작업 분류 체계) (2) | 2025.07.03 |
|---|---|
| [IT 용어] Storage vs Database (3) | 2025.06.23 |
| [IT 용어] 제안 요청서 (Request For Proposal, RFP) (2) | 2025.06.17 |
| [IT 용어] 네트워크 보안 그룹 (NSG, Network Security Group) & 인바운드/아웃바운드 트래픽 (1) | 2025.06.16 |
| [IT 용어] 공동 책임 모델 (Shared Responsibility Model) (1) | 2025.06.13 |