基于角色访问控制的UML 表示

news/2025/2/15 10:45:30/

Michael E. Shin、Gail-Joon Ahn 著,UMLChina 译

摘要

在基于角色访问控制(role-based access control,RBAC)中,权限和角色相关,用户被当作相应角色的成员而获得角色的权限。RBAC 背后的首要动机是为了简化管理。已经有文章介绍了一些基于角色系统的开发框架,但目前很少有文章使用系统开发者或软件工程师易于理解的方式来阐述RBAC。统一建模语言(UML)是一种通用的可视化建模语言,我们可以使用它阐述、可视化和文档化软件系统的组成部分。本文使用UML 表示RBAC模型,缩短了安全模型和系统开发之间的鸿沟。我们使用三种视图表述RBAC 模型:静态视图、功能视图、动态视图。另外,我们简短地讨论了将来的方向。

1 介绍

在RBAC 中,权限和角色相关,用户(user)被当作相应角色(role)的成员而获得角色的权限(permission)。

这大大简化了权限的管理。角色针对组织中的各种功能创建,用户依据他们的责任和资历被指派角色。用户被指派的角色可以容易地从一个跳到另一个。用户对信息的访问在指派角色的基础上被管制。自从RBAC 被广泛接受,许多安全领域的研究者和安全系统开发者已经花了很多时间来开发基于角色的系统。一些文章介绍了一些基于角色系统的开发框架 [2, 11 , 12 ]。这些以前的工作有一些很难被开发人员理解,因为它们太抽象、太形式,另外一些则是关注面向应用或专门领域框架的具体解决方案。这些框架都不足够为系统开发者给出一份合理的蓝图。

我们的主要目标是缩短安全模型和系统开发之间的鸿沟。本文使用通用的可视化建模语言UML 来表示RBAC模型。我们选择UML 的原因是它已经成为建模的标准语言。我们的表示包括RBAC 模型的静态视图、功能视图、动态视图。

本文按以下方式组织:在第2 部分,我们描述一种广为人知的基于角色访问控制模型,通常称为RBAC96。

第3 部分简短介绍UML。第4 部分用UML 表示RBAC96 模型。第5 部分给出结论。

2. RBAC 模型

作为有希望取代传统自主式访问控制(DAC)和强制式访问控制(MAC) [3,4, 6, 9]的替代者, RBAC 目前已经得到了很大的关注。RBAC 的策略基于角色,可以使用映射组织结构的方式来阐述安全策略。Sandhu 等发布了称为 RBAC96 的RBAC 通用模型家族[9]。图1 展示了家族中最通用的模型。关于在开发这个模型家族时所作设计决定的一些动机和讨论可参见[9]。

图1 RBAC 模型

图1 显示了 (regular)管制对数据和资源的访问的角色和权限。直观上,一个用户是一个人或一个自治的agent,一个角色是一项在组织中的工作功能或工作头衔。而权限是对系统中一个或多个object 的特定访问模式的许可或执行某些动作的特权。角色以偏序关系≥组织,如果x≥y 那么角色x 就继承了角色y 的权限。x 的成员也意味着是y 的成员。每次会话( session)把一个用户和可能的许多角色联系起来。用户建立一次会话,激活一些他或她是成员(直接获得或通过角色继承的方式间接获得)的角色子集。RBAC 模型有以下组成部分,这些组成部分从以上的讨论中形式化。 


http://www.ppmy.cn/news/1572221.html

相关文章

PMP冲刺每日一题(8)

试题1 您已经被委派为某项目的项目经理,权职范围明确界定,限于产品总装线的设计及建设阶段。客户组的一位成员向项目部门主管要求在项目安装阶段完成一项小工作。项目部门主管请客户询问项目经理。对这一请求的答复应包括∶ A、经修订的资源计划 B、经项…

语言大模型基础概念 一(先了解听说过的名词都是什么)

SFT(监督微调)和RLHF(基于人类反馈的强化学习)的区别 STF(Supervised Fine-Tuning)和RLHF(Reinforcement Learning from Human Feedback)是两种不同的模型训练方法,分别…

Lua闭包的使用以及需要注意的问题

1. 闭包的基本概念 在 Lua 中,闭包是一个函数值,它包含了函数本身以及该函数所创建时的环境。闭包允许函数访问其外部函数作用域中的变量,即使外部函数已经执行完毕。 2.闭包的简单使用 代码:在下面的代码中,create…

SGI STL内存池源代码解析----allocate内存分配函数

allocate 函数是 SGI STL 中 二级空间配置器 的核心函数之一,负责根据请求的内存大小分配内存。它的设计非常精巧,结合了 自由链表(free list) 和 内存池 技术,以高效地管理小块内存(小于等于 128 字节&…

Cocos Creator 3.8 版本开发 2D 游戏常用组件和方法

Cocos Creator 3.8 版本开发 2D 游戏常用组件和方法 一、常用组件 1. Node(节点) 功能:Cocos Creator 中的所有元素都基于 Node(节点)对象,包括精灵、标签、按钮等。每个节点可以包含多个子节点。常用方…

2.7 静态方法/构造函数Mock

静态方法/构造函数Mock 在单元测试中,静态方法和构造函数的Mock是相对复杂的需求,因为Mockito的核心设计基于对象实例的模拟。然而,通过扩展工具或特定技巧,可以实现对这些场景的处理。本章详解两种主流方案:PowerMoc…

性格测评小程序04题库管理

目录 1 创建数据源1.1 题库表1.2 选项表 2 搭建管理后台2.1 搭建题库功能2.2 搭建选项功能2.3 题库和选项联动 3 最终效果总结 我们现在性格测评的算法是通过40个题目来测评用户属于哪一个分类,为此后台需要有可以设置题目和选项的功能,本篇我们介绍一下…

github - 使用

注册账户以及创建仓库 要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/。 之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。 Git…