역할 기반 접근 제어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
역할 기반 접근 제어(RBAC)는 사용자가 수행할 수 있는 작업을 역할에 할당하는 방식으로 컴퓨터 시스템 또는 네트워크 리소스에 대한 접근을 제어하는 방법이다. RBAC는 주체, 역할, 권한, 세션, 주체 할당, 권한 할당, 역할 계층의 규칙을 기반으로 설계되며, 조직 내 직무에 대한 역할을 생성하고, 특정 작업을 수행할 수 있는 권한을 역할에 할당하여 개별 사용자 권한 관리를 단순화한다. RBAC는 격자 기반 접근 제어(LBAC)를 생성하거나 시뮬레이션할 수 있으며, 핵심 RBAC, 계층적 RBAC, 제약 RBAC의 세 가지 수준으로 표준화되었다. RBAC는 유연한 접근 제어 기술로, 접근 제어 목록(ACL)과 비교하여 역할 분할(SoD) 요구 사항에 적합하며, ABAC 및 ReBAC와 같은 발전된 모델로 이어졌다. RBAC는 단일 시스템 또는 애플리케이션 내에서 사용자 권한을 관리하는 데 널리 사용되며, 기업의 효율성을 높이는 경제적 가치를 제공한다.
더 읽어볼만한 페이지
- 접근 제어 - 오므론
오므론은 1933년 설립된 일본의 글로벌 기업으로, 센서, 제어 장치, 의료기기 등 다양한 전자 부품 및 시스템을 생산·판매하며, 특히 전자 혈압계 분야에서 세계적인 선두주자이다. - 접근 제어 - 허가 (컴퓨터 과학)
허가는 컴퓨터 과학에서 접근 제어 정책에 따라 자원에 대한 접근 권한을 부여하는 과정으로, 시스템 보안과 규정 준수를 위해 최소 권한의 원칙에 기반하여 관리되며, 역할 기반 접근 제어와 속성 기반 접근 제어 등의 모델이 사용된다. - 컴퓨터 보안 - 얼굴 인식 시스템
얼굴 인식 시스템은 디지털 이미지나 비디오에서 사람 얼굴을 감지하고 식별하는 기술로, 다양한 알고리즘 발전을 거쳐 보안, 신원 확인 등에 활용되지만, 편향성, 개인 정보 침해, 기술적 한계와 같은 윤리적 문제도 야기한다. - 컴퓨터 보안 - 워터마크
워터마크는 종이 제조 시 두께 차이를 이용해 만들어지는 표식으로, 위조 방지를 위해 지폐나 여권 등에 사용되며 댄디 롤 등의 제작 기법을 통해 만들어지고 컴퓨터 프린터 인쇄 기술로도 활용된다.
역할 기반 접근 제어 | |
---|---|
개요 | |
명칭 | 역할 기반 접근 제어 |
영어 명칭 | Role-Based Access Control (RBAC) |
특징 | |
주요 특징 | 시스템 접근을 승인된 사용자로 제한하는 접근 제어 방법 |
접근 권한 | 개별 사용자가 아닌 역할에 할당 |
역할 기반 | 사용자의 역할에 따라 시스템 자원에 대한 접근 권한을 관리 |
권한 부여 | 역할에 권한을 부여하고, 사용자는 특정 역할을 부여받아 해당 권한 획득 |
장점 | 관리 효율성 향상 보안 강화 유연한 권한 관리 |
역사 | |
초기 연구 | 1992년 Ferraiolo와 Kuhn에 의해 개념 정립 |
모델 개발 | 1996년 Sandhu 등이 RBAC 모델 제시 |
모델 | |
RBAC0 | 기본 모델, 역할, 사용자, 권한, 역할 할당 관계 정의 |
RBAC1 | 역할 계층 구조 도입, 상위 역할은 하위 역할의 권한 상속 |
RBAC2 | 역할에 대한 제약 조건 추가, 상호 배타적인 역할 지정 가능 |
RBAC3 | RBAC1과 RBAC2 결합 |
표준 | |
NIST 표준 | NIST에서 RBAC 표준 정의 (NIST RBAC 모델) |
활용 분야 | |
일반 시스템 | 기업 정보 시스템, 의료 시스템, 금융 시스템 등 다양한 분야에서 활용 |
클라우드 컴퓨팅 | 클라우드 환경에서의 접근 제어 |
운영체제 | 운영체제 자체의 접근 제어 메커니즘 |
장점 및 단점 | |
장점 | 중앙 집중식 관리 용이 권한 변경 용이 감사 추적 용이 역할 기반으로 사용자의 접근 권한을 효율적으로 관리 |
단점 | 초기 설정 및 역할 정의에 시간 소요 복잡한 시스템에서는 역할 설계가 어려울 수 있음 |
구현 | |
구현 방법 | 운영 체제 내장 DBMS 내장 미들웨어 활용 애플리케이션 레벨에서 구현 |
추가 정보 | |
관련 기술 | ABAC MAC DAC |
2. 디자인
역할 기반 접근 제어(RBAC) 시스템은 조직 내 다양한 직무에 대한 역할을 생성하고, 각 역할에 특정 작업을 수행할 수 있는 권한을 할당하는 방식으로 설계된다. 사용자는 역할 할당을 통해서만 권한을 획득하며, 이를 통해 개별 사용자 권한 관리가 단순화된다.
RBAC는 접근 제어 목록(ACL)과 다르게, 데이터 객체가 아닌 작업 자체에 접근 권한을 설정한다. 예를 들어, RBAC는 특정 시스템 파일에 대한 쓰기 권한뿐만 아니라, "은행 계좌 개설" 또는 "혈당 검사 결과 기록"과 같이 조직 내에서 의미 있는 작업에 대한 권한을 정의할 수 있다.
RBAC는 임의 접근 제어(DAC)[27] 및 강제 접근 제어(MAC)[28]를 시뮬레이션할 수 있을 정도로 유연하며, 격자 기반 접근 제어(LBAC) 또한 포함하는 상위 집합으로 간주될 수 있다. RBAC가 개발되기 전까지는 MAC과 DAC만이 접근 제어 방법으로 사용되었으며, 90년대 후반의 연구에서는 RBAC가 이 둘 중 어느 쪽에도 분류되지 않는다고 밝히고 있다.
사용자 권한 관리를 RBAC로 수행하는 것은 베스트 프랙티스로 단일 시스템이나 애플리케이션에서 널리 사용되는 기법이다. 마이크로소프트의 액티브 디렉터리, SELinux, FreeBSD, Solaris, Oracle DBMS, PostgreSQL 8.1, SAP R/3 등에서 RBAC가 어떤 형태로든 구현되어 있다.
2. 1. 기본 규칙
역할 기반 접근 제어(RBAC) 모델 설계를 위한 기본 규칙은 다음과 같다.RBAC에는 세 가지 주요 규칙이 있다.
# 역할 할당: 주체는 역할이 선택되었거나 할당된 경우에만 권한을 행사할 수 있다.
# 역할 권한 부여: 주체의 활성 역할은 해당 주체에 대해 권한이 부여되어야 한다. 이 규칙은 사용자가 권한이 부여된 역할만 수행할 수 있도록 보장한다.
# 권한 권한 부여: 주체는 권한이 해당 주체의 활성 역할에 대해 권한이 부여된 경우에만 권한을 행사할 수 있다. 이 규칙은 사용자가 권한이 부여된 권한만 행사할 수 있도록 보장한다.
추가적인 제약 조건도 적용될 수 있으며, 역할은 상위 역할이 하위 역할이 소유한 권한을 포괄하는 계층 구조로 결합될 수 있다.
RBAC 모델을 정의할 때 사용되는 약어는 다음과 같다.
약어 | 설명 |
---|---|
S | 주체 (사람 또는 자동화된 에이전트) |
R | 역할 (권한 수준을 정의하는 직무 기능 또는 직함) |
P | 권한 (리소스에 대한 접근 방식의 승인) |
SE | 세션 (S, R 및/또는 P를 포함하는 매핑) |
SA | 주체 할당 |
PA | 권한 할당 |
RH | 부분적으로 정렬된 역할 계층 (≥로도 표기하며, x ≥ y는 x가 y의 권한을 상속함을 의미) |
다음과 같은 관계가 성립한다.
- 주체는 여러 역할을 가질 수 있다.
- 역할은 여러 주체를 가질 수 있다.
- 역할은 많은 권한을 가질 수 있다.
- 권한은 많은 역할에 할당될 수 있다.
집합론적 표기를 사용하면 다음과 같다.
- PA ⊆ P × R는 다대다 권한 대 역할 할당 관계이다.
- SA ⊆ S × R는 다대다 주체 대 역할 할당 관계이다.
- RH ⊆ R × R
제약 조건은 상반된 역할로부터 권한의 잠재적 상속에 대한 제한적인 규칙을 적용하여 적절한 직무 분리를 달성하는 데 사용될 수 있다. 예를 들어, 동일한 사람이 로그인 계정을 생성하고 계정 생성을 승인하는 것을 모두 허용해서는 안 된다.
2. 2. 구성 요소
RBAC 모델을 정의할 때 사용되는 구성 요소는 다음과 같다:- S = 주체(Subject) = 사람 또는 자동화된 에이전트[29]
- R = 역할(Role) = 권한 수준을 정의하는 직무 기능 또는 직함[29]
- P = 권한(Permissions) = 리소스에 대한 접근 방식의 승인[29]
- SE = 세션(Session) = S, R 및/또는 P를 포함하는 매핑[29]
- SA = 주체 할당(Subject Assignment)[29]
- PA = 권한 할당(Permission Assignment)[29]
- RH = 부분적으로 정렬된 역할 계층(Partially ordered Role Hierarchy). RH는 또한 ≥로 쓸 수 있다(표기법: x ≥ y는 x가 y의 권한을 상속함을 의미한다).[29]
그리고 다음의 관계를 가진다.
제약 조건은 상반되는 역할로부터 권한의 잠재적 상속에 대한 제한적인 규칙을 적용하여 적절한 직무 분리를 달성하는 데 사용될 수 있다.[29] 예를 들어, 동일한 사람이 로그인 계정을 생성하고 계정 생성을 승인하는 것을 모두 허용해서는 안 된다.[29]
집합론 표기법을 사용하면 다음과 같다:[29]
- 는 다대다 권한 대 역할 할당 관계이다.
- 는 다대다 주체 대 역할 할당 관계이다.
2. 3. 표준화된 수준 (NIST RBAC 모델)
NIST/ANSI/INCITS RBAC 표준(2004)은 다음 세 가지 수준의 RBAC를 정의한다.[5]# 핵심 RBAC
# 계층적 RBAC, 역할 간의 상속 지원 추가
# 제약 RBAC, 직무 분리 추가
3. 다른 모델과의 관계
RBAC는 임의적 접근 제어(DAC)나 강제적 접근 제어(MAC)를 구현할 수 있는 유연한 접근 제어 기술이다.[6][7] 그룹을 사용하는 DAC는 RBAC를 에뮬레이션할 수 있으며,[8] 역할 그래프가 부분 순서 집합이 아닌 트리로 제한되는 경우, MAC은 RBAC를 시뮬레이션할 수 있다.[9]
RBAC가 개발되기 이전에는 벨-라파둘라 (BLP) 모델이 MAC과 동일하게 여겨졌고, 파일 시스템 권한은 DAC와 동일하게 여겨졌다. 즉, 모델이 BLP가 아니면 DAC 모델로, 그 반대의 경우도 마찬가지로 간주되었다. 그러나 1990년대 후반 연구를 통해 RBAC는 어느 범주에도 속하지 않는다는 것이 밝혀졌다.[10][11]
컨텍스트 기반 접근 제어(CBAC)와 달리, RBAC는 메시지 컨텍스트(예: 연결의 소스)를 고려하지 않는다. RBAC는 대규모 엔터프라이즈 시스템에서 역할에 따른 접근 제어가 세분화되어야 할 때 발생하는 문제인 역할 폭발[12]을 초래한다는 비판을 받기도 한다.
RBAC 외에도, 다음과 같은 접근 제어 모델들이 존재한다.
- 엔터티-관계 기반 접근 제어(ERBAC): 데이터 인스턴스와 실행 주체의 연관성을 고려하여 접근을 제어한다.[15]
- 속성 기반 접근 제어(ABAC): 사용자, 자원, 행동, 상황 등의 속성을 고려하여 정책 기반으로 접근을 제어한다.
- 관계 기반 접근 제어(ReBAC): 주체와 자원 간의 관계를 기반으로 세분화된 권한을 허용한다.[19]
3. 1. 접근 제어 목록(ACL)과의 비교
접근 제어 목록 (ACL)은 기존의 임의 접근 제어(DAC) 시스템에서 하위 수준 데이터 객체에 대한 접근을 제어하는 데 사용된다.[16][17] RBAC는 작업에 권한을 할당하는 반면, ACL은 데이터 객체에 대한 접근 권한을 부여하거나 거부한다. 예를 들어, ACL은 특정 시스템 파일에 대한 쓰기 권한을 부여하거나 거부할 수 있지만, 해당 파일의 변경 방법을 지시하지는 않는다.RBAC는 역할 분할(SoD) 요구 사항에 적합하며, SoD의 기본 원칙은 개인이 이중 권한을 통해 보안 침해를 일으킬 수 없다는 것이다.
최소 RBAC 모델(''RBACm'')은 ACL에 그룹만 항목으로 허용되는 ''ACLg''와 동일하다.[18] 최신 SQL 구현에서 ACL은 그룹 계층 구조 및 상속을 관리하며, 이는 최신 RBAC 구현과 비교될 수 있다.
4. 잠재적 취약점
역할 기반 접근 제어 간섭은 비교적 새로운 보안 문제로, 동적 접근 수준을 가진 여러 사용자 계정이 암호화 키 불안정성을 초래하여 외부 사용자가 이 취약점을 악용해 무단 접근을 허용할 수 있다. 동적 가상화 환경 내의 키 공유 애플리케이션은 이 문제를 해결하는 데 어느 정도 성공을 거두었다.[24]
5. 활용 및 가용성
역할 기반 접근 제어(RBAC)를 사용하여 단일 시스템 또는 애플리케이션 내에서 사용자 권한(컴퓨터 권한)을 관리하는 것은 널리 사용되는 모범 사례이다. NIST를 위해 리서치 트라이앵글 연구소에서 준비한 2010년 보고서에 따르면, 기업을 위한 RBAC의 경제적 가치를 분석한 결과, 직원 생산성 저하 감소, 보다 효율적인 프로비저닝 및 효율적인 접근 제어 정책 관리를 통해 직원당 혜택이 있을 것으로 추정했다.[20]
다수의 시스템과 애플리케이션에 걸쳐 다양한 IT 인프라와 요구 사항을 가진 조직에서 충분한 역할을 관리하고 적절한 역할 멤버십을 할당하는 것은 역할과 권한의 계층적 생성이 없이는 매우 복잡해진다.[21] 최신 시스템은 엔터프라이즈 차원의 배포를 위한 RBAC의 한계를 해결하기 위해 구형 NIST RBAC 모델을 확장한다.[22] NIST 모델은 INCITS에 의해 ANSI/INCITS 359-2004로 표준으로 채택되었다. NIST 모델의 설계 선택 사항 중 일부에 대한 논의도 발표되었다.[23]
RBAC는 정책을 유연하게 설정할 수 있는 접근 제어 방법으로, 임의 접근 제어(DAC)[27] 및 강제 접근 제어(MAC)[28]를 시뮬레이션할 수 있다.
사용자 권한 관리를 RBAC로 수행하는 것은 베스트 프랙티스로 단일 시스템이나 애플리케이션에서 널리 사용되는 기법이다. 마이크로소프트의 액티브 디렉터리, SELinux, FreeBSD, Solaris, Oracle DBMS, PostgreSQL 8.1, SAP R/3 등에서 RBAC가 어떤 형태로든 구현되어 있다.
이종 혼합형 IT 기반을 가진 큰 조직에서는 롤을 계층화하지 않으면 RBAC를 전체적으로 운영하는 것이 매우 복잡하고 어려워진다. 이러한 대규모 권한 설정에 대한 전략은 [https://www.hitachi-id.com/resources/documents/beyond-roles-a-practical-approach-to-enterprise-user-provisioning Beyond Roles: A Practical Approach to Enterprise User Provisioning]에서 논의되고 있다. RBAC의 기업 전체로의 전개 문제를 해결하기 위해, NIST 모델[29]을 확장한 새로운 시스템도 있다.
참조
[1]
논문
Role-Based Access Control
http://csrc.nist.gov[...]
1992-10
[2]
논문
Role-Based Access Control Models
http://csrc.nist.gov[...]
1996-08
[3]
서적
2017 IEEE International Conference on Communications (ICC)
https://secplab.ppgi[...]
IEEE Press
2017
[4]
서적
National Computer Security Conference, 1993 (16th) Proceedings: Information Systems Security: User Choices
DIANE Publishing
1995
[5]
서적
Spatial Data on the Web: Modeling and Management
https://books.google[...]
Springer
[6]
논문
How to do discretionary access control using roles
1998-10
[7]
논문
Configuring role-based access control to enforce mandatory and discretionary access control policies
[8]
논문
A Verification Approach for Applied System Security
http://www.brucker.c[...]
[9]
서적
Proceedings of the third ACM workshop on Role-based access control
http://csrc.nist.gov[...]
[10]
웹사이트
Role Based Access Control – FAQs
http://csrc.nist.gov[...]
Computer Security Research Center
2016-11-21
[11]
논문
Role-Based Access Controls
http://csrc.nist.gov[...]
1992-10-13
[12]
논문
Role Explosion: Acknowledging the Problem
http://knight.segfau[...]
[13]
웹사이트
ERBAC – Enterprise Role-Based Access Control (computing) – AcronymFinder
http://www.acronymfi[...]
[14]
웹사이트
Dr. Bhavani Thuraisingham and Srinivasan Iyer (PPT)
http://www.utdallas.[...]
[15]
웹사이트
tapestry-security-jpa
http://www.tynamo.or[...]
[16]
서적
Proceedings of the second ACM workshop on Role-based access control - RBAC '97
http://csrc.nist.gov[...]
[17]
서적
Proceedings of the 11th ACM conference on Computer and communications security
http://portal.acm.or[...]
[18]
간행물
Comparing simple role based access control models and access control lists
http://citeseerx.ist[...]
1997
[19]
논문
Access control requirements for web 2.0 security and privacy
https://www.research[...]
2007
[20]
서적
Economic Analysis of Role-Based Access Control
http://csrc.nist.gov[...]
Research Triangle Institute
2002-03
[21]
웹사이트
Beyond Roles: A Practical Approach to Enterprise IAM
http://www.idsynch.c[...]
[22]
서적
Proceedings of the fifth ACM workshop on Role-based access control
2000-07
[23]
논문
RBAC Standard Rationale: comments on a Critique of the ANSI Standard on Role-Based Access Control
http://csrc.nist.gov[...]
2007-11
[24]
논문
Fault-tolerant adaptive mobile agent system using dynamic role based access control
2011
[25]
콘퍼런스
Role Based Access Control
http://csrc.nist.gov[...]
1992-10
[26]
논문
Role-Based Access Control Models
http://csrc.nist.gov[...]
IEEE Press
1996-08
[27]
콘퍼런스
How to do discretionary access control using roles
1998-10
[28]
콘퍼런스
Configuring role-based access control to enforce mandatory and discretionary access control policies
[29]
콘퍼런스
The NIST Model for Role Based Access Control: Toward a Unified Standard
2000-07
[30]
콘퍼런스
Role-Based Access Control
http://csrc.nist.gov[...]
1992-10
[31]
저널
http://csrc.nist.gov[...]
IEEE Press
1996-08
[32]
서적
http://csrc.nist.gov[...]
Research Triangle Institute
2010-12
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com