经典的基于RBAC的权限设计
基于RBAC(Role-Based Access Control,基于角色的访问控制)的权限设计是一种广泛应用的权限管理模型,它以角色为中心,通过角色与权限的关联,实现用户对资源的访问控制。NIST定义了四种RBAC模型:RBAC0、RBAC1、RBAC2和RBAC3,它们在RBAC0的基础上逐步增加了继承关系和责任分离等特性。 1. **RBAC0模型**:这是RBAC的基础模型,包含用户、角色、目标、操作和权限五个基本元素。用户通过被赋予角色来获取权限,会话是用户与激活角色的映射。RBAC0的核心特点是权限不直接赋予用户,而是赋予角色,增强了系统的灵活性。 2. **RBAC1模型**:引入了角色间的继承关系,分为一般继承和受限继承。一般继承允许角色间的多继承,而受限继承则要求角色继承关系形成一棵树。这种继承关系简化了权限的管理和分配。 3. **RBAC2模型**:添加了责任分离(Separation of Duty,SoD)关系,分为静态和动态两种。静态SoD是在权限分配或角色赋给用户时强制执行的规则,而动态SoD则在用户激活角色时生效。这些约束强化了安全性和合规性。 4. **RBAC3模型**:结合了RBAC1和RBAC2的特点,同时支持角色继承和责任分离,提供更复杂的权限控制策略。 在权限设计中,通常涉及以下几个关键步骤: - **配置资源和操作**:定义资源(如文件、菜单、功能等)及其可执行的操作(如读、写、删除等),并提供统一的接口进行管理。 - **数据库ER图**:通过实体关系图(Entity Relationship Diagram)来描述各个对象间的关系,例如:OrgBean代表组织结构,Role表示角色,Permission表示权限,Resource表示资源,Operation表示操作。 - **分析设计**:权限系统通常由组织结构、角色、权限、资源和操作五部分组成。权限是资源和操作的聚合,角色和权限可以有自包含关系,以支持权限继承。资源可能呈现树形结构,以反映组织层次。 权限管理的核心流程包括: 1. **创建权限**:由系统设计者(Creator)确定每个子系统或模块应有的权限,定义权限与资源的关系。 2. **分配权限**:管理员(Administrator)根据需求将权限与具体的资源实例关联,创建操作(Operator),构建权限模型,如创建角色、用户组,分配角色给用户或用户组等。 3. **使用权限**:用户(User)根据被分配的权限来访问和操作系统资源。 通过这样的设计,权限系统能够实现权限的集中管理,简化权限分配,确保权限使用的安全性和合规性,同时提供了一种灵活的权限控制机制,适应不同规模和复杂性的信息系统。在实际应用中,还需要考虑权限的撤销、更新、审计等功能,以满足不断变化的业务需求和安全政策。
- 约翰的布鞋2012-07-30不是很详细。
- 粉丝: 0
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助