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

  • 2
  • 0
  • 约5.46千字
  • 约 8页
  • 2017-08-11 发布于重庆
  • 举报
基于角色访问控制的UML表示

基于角色访问控制的UML表示 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模型有以下组成部分,这些组成部分从以上的讨论中形式化。 一个用户可以成为很多角色的成员,一个角色可以有许多用户。类似地,一个角色可以有多个权限,同一个权限可以被指派给多个角色。每个会话把一个用户和可能的许多角色联系起来。一个用户在激发他或她所属角色的某些子集时,建立了一个会话。用户可用的权限是当前会话激发的所有角色权限的并集。每个会话和单个用户关联。这个关联在会话的生命期间保持常数。一个用户在同一时间可以打开多个会话,例如,在不同的工作站屏幕窗口各一个。每个会话可以有不同的活动角色。会话的概念相当于传统的访问控制中主体(subject)的标记。一个主体是一个访问控制单位,一个用户在同一时间可以拥有多个不同活动权限的主体(或会话)。 3. UML概览 UML是通用的可视化建模语言,我们可以使用它阐述、可视化和文档化软件系统的组成部分。现在UML已经是软件工程的标准语言。UML包括用例建模,静态建模和动态建模。在用例建模中,通过用例和执行者阐述系统的功能需求。用例由执行者引发,描述了执行者和系统之间的交互。静态建模提供系统的结构视图信息,在这个视图中,通过类、类属性和与其他类的关系( relationship)表示。关系包括关联(association)、泛化/特化(generalization/specialization)、聚合。动态建模表现系统的行为视图。它可以通过对象协作图、顺序图或状态图来描述。对象协作图和顺序图用来描述对象和其他对象在执行用例时的协作。依赖于状态的对象使用状态图来描述 [5]。 本文中,我们使用类图、用例图和对象协作图分别作

文档评论(0)

1亿VIP精品文档

相关文档