RBAC
Role-Based Access Control (RBAC) is a security model that restricts system access based on the roles of individual users within an organization.
Role-Based Access Control (RBAC)는 조직 내 개인 사용자의 역할을 기반으로 시스템 접근을 제한하는 보안 모델입니다. 사용자에게 직접 권한을 할당하는 대신, 권한이 역할에 할당되고 사용자가 해당 역할에 할당됩니다. 이 계층적 접근 방식은 특히 크거나 복잡한 환경에서 접근 관리를 단순화합니다. RBAC의 핵심 구성 요소에는 Users, Roles, Permissions, 그리고 때로는 Objects/Resources가 포함됩니다. Users는 시스템과 상호 작용하는 개인입니다. Permissions는 리소스에 대해 사용자가 수행할 수 있는 특정 작업(예: 'read', 'write', 'delete')을 정의합니다. Roles는 직무 기능 또는 책임을 나타내는 권한 모음입니다(예: 'Administrator', 'Editor', 'Viewer'). 핵심 원칙은 사용자가 할당된 모든 역할과 관련된 권한을 얻는다는 것입니다. 이 모델은 최소 권한 원칙을 촉진하여 사용자가 직무 기능에 필요한 접근 권한만 갖도록 보장하며, 이를 통해 공격 표면과 우발적 또는 악의적인 데이터 수정 또는 삭제 위험을 줄입니다. RBAC는 확장성과 적응성이 뛰어나 사용자 온보딩 및 오프보딩을 효율적으로 처리하고 조직 구조 변경 시 접근 정책을 쉽게 수정할 수 있습니다.
graph LR
Center["RBAC"]:::main
Rel_identity_and_access_management_iam["identity-and-access-management-iam"]:::related -.-> Center
click Rel_identity_and_access_management_iam "/terms/identity-and-access-management-iam"
Rel_access_control_mechanisms["access-control-mechanisms"]:::related -.-> Center
click Rel_access_control_mechanisms "/terms/access-control-mechanisms"
Rel_authorization["authorization"]:::related -.-> Center
click Rel_authorization "/terms/authorization"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5살도 이해할 수 있게 설명
건물에서 다른 사람들에게 다른 열쇠를 주는 것과 같습니다. 청소부는 청소 용품실 열쇠를 받고, 관리자는 사무실 열쇠를 받고, 모든 사람은 정문 열쇠를 받지만, 갈 필요가 없는 장소에는 가지 못합니다.
🤓 Expert Deep Dive
RBAC models can be implemented with varying degrees of complexity, from flat role assignments to hierarchical or matrix-based structures. Hierarchical RBAC (HRBAC) allows roles to inherit permissions from other roles, enabling more granular control and reducing redundancy. For instance, a 'Senior Editor' role might inherit all permissions of an 'Editor' role plus additional publishing capabilities. The separation of duties is a critical security benefit, as it prevents a single user from having excessive control. Challenges in RBAC implementation include role explosion (too many roles), role engineering (defining appropriate roles and permissions), and managing role activation/deactivation, especially in dynamic environments. Formal verification methods can be employed to analyze the security properties of RBAC policies, ensuring consistency and preventing unintended privilege escalation. The integration of RBAC with identity and access management (IAM) systems is crucial for centralized control and auditing.