GB/T25062-2010

信息安全技术鉴别与授权基于角色的访问控制模型与管理规范

Informationsecuritytechnology-Authenticationandauthorization-Role-basedaccesscontrolmodelandmanagementspecification

本文分享国家标准信息安全技术鉴别与授权基于角色的访问控制模型与管理规范的全文阅读和高清PDF的下载,信息安全技术鉴别与授权基于角色的访问控制模型与管理规范的编号:GB/T25062-2010。信息安全技术鉴别与授权基于角色的访问控制模型与管理规范共有36页,发布于2011-02-01
  • 中国标准分类号(CCS)L80
  • 国际标准分类号(ICS)35.240.40
  • 实施日期2011-02-01
  • 文件格式PDF
  • 文本页数36页
  • 文件大小1.50M

以图片形式预览信息安全技术鉴别与授权基于角色的访问控制模型与管理规范

信息安全技术鉴别与授权基于角色的访问控制模型与管理规范


国家标准 GB/T25062一2010 信息安全技术鉴别与授权 基于角色的访问控制模型与管理规范 nformation.seeurityteehmology一Authentieationamdauthrization- Rolc-baselaceesscontrulmodelandmanagementspecifieationm 2010-09-02发布 2011-02-01实施 国家质量监督检验检疫总局 发布 国家襟准化管委员会国家标准

GB/T25062一2010 目 次 前言 引言 范围 规范性引用文件 术语和定义 缩略语 -致性 RBAC参考模型 6.1 概述 核心RBAC 层次RBAC 6.4带约束的RBAc RBAC系统和管理功能规范 概述 核心RBAc 层次RBAc 静态职责分离关系 7.5动态职责分离 18 附录A(资料性附录功能规范概述 23 A.1概述 23 23 A.2核心RBAC的功能规范 214 A.3层次RBAC功能规范 214 A静态职责分离关系功能规花 25 A.动态职责分离关系功能规范 A.6功能规范包 26 附录B资料性附录组件原理 2 B.1概述 2 B.2核心RBAC 2 B.3层次RBAC 2 B.4静态职责分离关系 2 B.5动态职责分离 28 29 附录C资料性附录Z语言示例

GB/T25062一2010 前 言 本标准的附录A,附录B和附录C为资料性附录 本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口 本标准起草单位:科学院软件研究所,信息安全共性技术国家工程研究中心 本标准主要起草人:冯登国、徐震、翟征德、张敏、张凡、黄亮、庄勇 N
GB/T25062一2010 引 言 主流IT产品供应商开始在他们的数据库管理系统、安全管理系统、网络操作系统等产品中大量实 现基于角色的访问控制功能,然而却没有对其特征集达成一致 缺乏广为接受的模型,导致了对基于角 色的访问控制效用和含义理解的不规范性和不确定性 本标准参照ANSIINCITs359-2004,使用一个 参考模型来定义基于角色的访问控制的特征,并描述这些特征的功能规范,通过以上方法来解决这些不 规范与不确定的问题
GB/T25062一2010 信息安全技术鉴别与授权 基于角色的访问控制模型与管理规范 范围 本标准规定了基于角色的访问控制(RBAC)模型、RBAC系统和管理功能规范 本标准适用于信息系统中RBAC子系统的设计和实现,相关系统的测试和产品采购亦可参照使用 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款 凡是注日期的引用文件,其随后所有 的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究 是否可使用这些文件的最新版本 凡是不注日期的引用文件,其最新版本适用于本标准 ISO/IEC13568:2002信息技术Z形式规范注释语法、形式系统和语义学 术语和定义 下列术语和定义适用于本标准 组件component 这里是指四个RBAC特征集之一:核心RBAC、层次RBAC、静态职责分离关系、动态职责分离 关系 3.2 对象objeet 需要进行访问控制的系统资源,例如文件、打印机、终端、数据库记录等 3.3 操作operation 个程序的可执行映像,当被调用时为用户执行某些功能 ? 权限permissionm 对受RBAC保护的一个或多个对象执行某个操作的许可 角色role 组织语境中的一个工作职能.被授予角色的用户将具有相应的权威和责任 3.6 用户 Iser 人,机器、网络、自主智能代理等,进行资源或服务访问的实施主体 3.7 会话sessiom 从用户到其激活的角色集合的一个映射 3.8 职责分离separationofduty 限制用户获得存在利益冲突的权限集的约束,例如用户不能同时获得会计和审计的权限
GB/T25062一2010 缩略语 下列缩略语适用于本标准 RBAc 基于角色的访问控制(RoleBasedAccessControl 静态职责分离(StaticSeparationofDuty) SSD DsD 动态职责分离(DynamicSeparationofDuty USERs 用户集(UserseD) ROLES 角色集(RoleSet) OBJS 对象集(ObjectSet OPS 操作集(OperationSet) SESSIONS essionSet 会话集(Ses PRMS 权限集(PrivilegeManagementSet) ACL 访问控制列表(AccessControlList) 一致性 对于特定的应用,并非所有的RBAC特征都是必要的 因此,本标准提供了一种通过对功能组件 和同一功能组件内的特征进行选择,以组装构成所需要的RBAC特征的方法 本标准首先定义了一个 RBAC的特征核心集合,任何其他的特征包都必须包含这一核心特征集 在构建RBAC特征包时,角 色层次,静态约束(静态职责分离),动态约束(动态职责分离)是可选组件 RBAC参考模型 6.1概述 RBAC参考模型通过四个RBAC模型组件来进行定义 核心RBAc,角色层次RBAC,静态职 责分离关系、动态职责分离关系 核心RBAC定义了能够完整地实现一个RBAC系统所必需的元素,元素集和关系的最小集合,其 中包括最基本的用户/角色分配和权限/角色分配关系 此外,它还引人了角色激活的概念作为计算机 系统中用户会话的一个组成部分 核心RBAC对于任何RBAC系统而言都是必需的,其他RBAC组 件彼此相互独立并且可以被独立地实现 角色层次RBAC组件支持角色层次 角色层次从数学上讲是一个定义角色之间级别关系的偏序 高级别的角色获得低级别角色的权限,低级别角色获得高级别角色的用户成员 此外,层次RBAC还 引人了角色的授权用户和授权权限的概念 静态职责分离针对用户/角色分配定义了角色间的互斥关系 由于可能与角色继承产生不一致,静 态职责分离关系组件在没有角色层次和存在角色层次的情况下分别进行了定义 动态职责分离关系针对用户会话中可以激活的角色定义了互斥关系 每个模型组件都由下列子组件来定义 -些基本元素集 a b) -些基于上述基本元素集的RBAc关系; -些映射函数,在给定来自某个元素集的实例元素的情况下能够得到另一个元素集的某些实 c 例元素 RBAC参考模型给出了一种RBAC特征的分类,可以基于这些分类的特征构建一系列RBAC特征 包 本标准的主要目的不是试图定义RBAC特征的全集,而是致力于提供一组标准的术语来定义已有 的模型和商业产品中最主要的RBAC特征
GB/T25062一2010 6.2核心RBAC 核心RBAC的元素集和关系在图1中进行了定义 核心RBAC包含了5个基本的数据元素;用户 集(USERs)、角色集(ROLES)、对象集(OBs)、操作集(OPs)、权限集(PRMS) 权限被分配给角色 角色被分配给用户,这是RBAC的基本思想 角色命名了用户和权限之间的多对多的关系 此外,核 心RBAC中还包含了用户会话集,会话是从用户到该用户的角色集的某个激活角色子集的映射 角色是组织上下文中的一个工作职能,被授予了角色的用户将具有相应的权威和责任 权限是对 某个或某些受RBAC保护的对象执行操作的许可 操作是一个程序的可执行映像,被调用时能为用户 执行某些功能 操作和对象的类型依赖于具体系统,例如在 个文件系统中,操作可以包含读、写、执 行;在数据库管理系统中,操作包含seleet,insert,delete,update等 访问控制机制的核心功能是保护系统资源 与以前的访问控制模型一致,RBAC模型中的对象是 包含或接收信息的实体 对 个实现RBAC的系统,对象可以代表信息容器如操作系统中的文件和 目录或数据库中的表、视图、字段),或者诸如打印机、磁盘空间.cPU周期等可耗尽的系统资源 RBAC覆盖的对象包括所有在分配给角色的权限中出现的对象 RBAC中一个很重要的概念是角色的相关分配关系 图1中给出了用户分配关系(UA)和权限分 配关系(PA) 图中的箭头表示关系是多对多的例如,一个用户可以被分配给多个角色并且一个角色 可以被分配给多个用户) 这种安排带来了给角色分配权限和给角色分配用户时的灵活性和细粒度 如果没有这些,就有可能造成给用户分配过多的对资源的访问权限;能够更灵活地控制对资源的访问权 限也有助于最小特权原则的实施 用户/角色分 角色/似限分刚 UA RA 用户 角色 操作 客体 usERs RoLEs oPs) (oBs7 权限 PRMS 会话用户 会话角色 sesion_users) sessionroles 会话 SESSIONS 图1核心RBAc 用户在建立一个会话的时候可以激活他/她所被分配的角色的某个子集 一个会话只能与一个用 户关联,一个用户可能同时拥有多个会话 函数session_roles返回一个会话激活的角色函数s SesSIOn 在用户的会话中保持激活状态的角色的权限构成了用户的可用权限 以下为 w给出会请的用户 核心RBAC规范 USERs,ROLESs,OPS,OBJs分别代表;用户集,角色集、操作集、对象集; b)UAUSERs×ROLEs,一个多对多的映射,代表用户/角色分配关系 一想一个映射,给出分配了角色的用户wigm nedl_t46ers(r;RO儿ES edl_t4ers(r)= c assign USERs(u,r)eUA; e u d)PRMs2'ws\GB/T25062一2010 SESSIONS一2RLs 2s(s ,一个从会话s到其激活的角色集的映射,esiom_les k xsiom_m/e<(s rERO儿ES.ession rs(s),rEUA; omn_6e ! euail/_说sion-郎rms(.SEssIONs)-2nu,一个从会话、到它拥有的权限集的映射 aail_ssion_erms(s)=Ue reemmla()4ssignedl_ermission(r 层次RBAc 6.3.1导引 如图2所示层次RBAC引人了角色层次 角色层次通常被作为RBAC模型的重要部分,并且经 常在RBAC商业产品中得以实现 角色层次可以有效地反映组织内权威和责任的结构 角色层次定义了角色间的继承关系 继承通常是从权限的角度来说的,例如,如果角色r“继承” 角色r,角色'的所有权限都同时为角色r所拥有 在某些分布式RBAC实现中,角色层次是集中管 理的,而权限/角色分配却是非集中管理的 对这些系统,角色层次的管理主要是从用户成员包含关系 的角度进行的;如果角色r的所有用户都隐含地成为角色的用户,则称角色r“包含”角色r 这种 用户成员包含关系隐含了这样一个事实;角色r的用户将拥有角色"的所有权限 然而角色"和角色 !之间的权限继承关系并不对它们的用户分配做任何假设 本标准认可两种类型的角色层次一通用角色层次和受限角色层次 通用角色层次支持任意偏序关 系,从而支持角色之间的权限和用户成员的多重继承 受限角色层次通过施加限制来得到一个简单的 树结构(即;一个角色可以拥有一个或多个直接祖先,但只能有一个直接后代). 6.3.2通用角色层次 通用角色层次的规范在核心RBAC的基础上扩展如下内容 a)RHRO儿ES×ROMES是一个称为继承的角色之间的偏序关系,记作之 如果r之片,则角 色r拥有角色r的所有权限并且角色r的用户都将是角色r的用户; psERs b !4sers(r;ROLES 个在角色层次存在的情况下从角色到该角色的授 uthori这edl 权用户的映射,authorised_wers(r)={uEUSERSr'之”u,')EUA; 个在角色层次存在的情况下从角色到其授权 authorizedl_ermissios(r:ROLES 权限的映射,auhorized_/ermissions(r)=pPRMsr之'Ap,')PA 角色层次 (R) 用户/角色分配 角色/权限分配 RA UA 用户 角色 客体 操作 USERs (RoLEs> oBS Ops 权限 (PRMS) 会话用广 会话角色 sessionusers session_roles 会话 SESSIONS 图2层次RBAC 通用角色层次支持多重继承的概念,从而使得一个角色可以从两个或者更多其他角色继承权限或 用户成员 多重继承具有两个重要的性质 第一,多重继承使得可以通过从几个低级别的角色来构建 较高级别角色的方式来定义角色间的关系以反映组织和事务的结构 第二,多重继承使得可以一致地 对待用户/角色分配关系和角色/角色继承关系 用户也可以被包含在角色层次中,并且仍然用之来代 表用户/角色分配以及用户对角色权限的继承 在受限角色层次中,一个角色只能有一个直接后代 尽管受限角色层次不支持权限的多重继承,但 与层次RBAC比较却具有管理上的优势
GB/T25062一2010 如果r之r并且这两个角色之间不存在其他的角色即不存在不同于角色r和角色r的角色r,满 足r之r之r),则n是r的直接祖先,记作r>> 6.3.3受限角色层次 受到下述限制的通用角色层次:Vr,h月eRoLESsr>>rAr>>"之r,一, 角色层次可以用偏序图来表示 图中的节点代表角色,如果"是r的直接后代,则存在从r指向 !的有向箭头 在角色层次的偏序图上之片,当且仅当存在从",到与的有向路径 由于角色之间的 偏序关系是传递和反对称的,所以不存在有向回路 通常,角色层次图上的箭头与角色间的继承关系相 -致都是自上而下的,因此角色用户成员的继承是自上而下的,而角色权限的继承是自下而上的 6.4带约束的RBAc 概述 带约束的RBAC模型增加了职贵分商关系 职责分商关系可以被用来实施利益冲突(Camlhice.o nterest)策略(防止某个人或某些人同时对于不同的某些个人、某些集团或组织以及某种事物在忠诚度 和利害关系上发生矛盾的策略)以防止组织中用户的越权行为 作为一项安全原则,职责分离在工商业界和政府部门得到了广泛的应用,其目的是保证安全威胁只 有通过多个用户之间的串通勾结才能实现 具有不同技能和利益的工作人员分别被分配一项事务中不 同的任务,以保证欺诈行为和重大错误只有通过多个用户的勾结才可能发生 本标准支持静态和动态 的职责分离 6.4.2静态职责分离关系 在RBAC系统中,一个用户获得了相互冲突的角色的权限就会引起利益冲突 阻止这种利益冲突 个方法是静态职责分离,即对用户/角色分配施加约束 的 本标准中定义的静态约束主要是作用于角色,特别是用户/角色分配关系,也就是说,如果用户被分 一个角色,他她将不能被分配另" 从策略的角度,静态约束关系提供了一种有效 配了 一些特定的角色 的在RBAC元素集上实施职责分离和其他分离规则的有效手段 静态约束通常要限制那些可能会破 坏高层职责分离策略的管理操 作 以住的RBAC模型通常通过眼制一对角色上的用户分配来定义静态职责分离(一个用户不能同时 分配处于SSD关系下的两个角色) 尽管现实世界中确实存在这样的例子,这样定义的SSD在两个方 面限制性太强;sSD关系中角色集的成员数(只能为2)和角色集中角色的可能组合情况(每个用户最多 只能分配角色集中的一个角色) 在本标准中,静态职责分离通过两个参数定义 -个包含两个或更多 角色的角色集和一个大于1的值(用户拥有的角色中包含在该角色集中角色的数量小于这个阀值) 例如,一个组织可能要求任何一个用户不能被分配代表采购职能的4个角色中的3个 正如图3所示,静态职责分离可能存在于层次RRBAC中 在存在角色层次的情况下,必须注意不要让 用户成员的继承违反静态职责分离策略 为此,层次RBAC也被定义为继承静态职责分离约束 在角色 层次RBAC中,为了解决可能出现的不一致性,静态职责分离被定义为针对角色的授权用户的约束 角色层次 S R) 用户/角色分配 角色/权限分配 RA UA 用户 角色 操作 客体 OBIs) USERs ROLEs) OPS 权限 PRMS 会话用户 会话角色 sessionusers session_roles 会话 SESSIONS 图3层次RBAC下的静态职责分离
GB/T25062一2010 静态职责分离和层次RBAC下的静态职责分离分别定义如下: 静态职责分离 a SsD二(26儿.ss×N)由一组形如(rs,n)的对构成,其中r、是角色的集合,/是r、的子集,n之2 满足任何用户都不能同时被分配rs中的n个或者更多角色,V(s,n)sSSD,V1二八:l I之n一门easigned_eer rs(r)= b层次RBAC下的静态职责分离 在存在角色层次的情况下,静态职责分离基于角色的授权用户而不是直接分配了该角色的用 户进行重新定义,y(s,n)esSD,V1s:l|之用一之ne,auhorized4sers(r)= 6.4.3动态职责分离关系 静态职责分离关系和动态职责分离(DsD)关系的目的都是限制用户的可用权限,不过它们施加约 束的上下文不同 sSD定义并且施加约束到用户总的权限空间上,而DsD通过约束一个用户会话可以 激活的角色来限制用户的可用权限 DsD使用户可用以在不同的时间拥有不同的权限,从而进一步扩 展了对最小特权原则的支持 DsD能够保证权限的有效期不超过完成某项职责所需要的时间段,这通 常被称为信任的及时撤销 在没有DSD的情况下,动态的权限撤销是非常困难的,因此通常被忽略 SSD解决在给用户分配角色的时候可能存在的利益冲突问题 DSD允许用户同时拥有两个或者 更多这样的角色:这些角色在各自独立地被激活时不会产生安全威胁,而同时被激活时就可能会产生违 反安全策略的行为 动态职责分离被定义为针对用户会话激活的角色的约束,如图4所示 用户/角色分配 角色/权限分配 UA RA 用户 角色 操作 客体 USERs) ROLES (OPs7 oBISs 权限 PRMS 会话用户 会话角色 sesion_users scssionrolcs 会话 SEsSIOs DSD 图4动态职责分离关系 2LEs DSDC2" ×N由一组形如(rs,m)的对构成,其中r是角色的集合,n之2,满足没有任何主体 能激活rs中的n个或更多角色 2Mo儿Es ,nEN.(s.n)EDsD之n之2A|r|之”AVEsEssoNs.V八E2发s VrsE2 2Ro儿.Es Vrole_suubsetE2 ,VnEN,rs,nEDSD,ole_subsetGrs,ole_swubsetC ession_roles(s)之role_subsel RBAC系统和管理功能规范 7.1概述 RBAC功能规范描述了创建和维护RBAC元素集和RBAC关系的管理操作;进行管理查询的管理 查看函数;创建和维护用户会话的RBAC属性和进行访问控制决策的系统函数 本标准对这些函数进 行了足够细致的定义,以便支持一致性测试和保证的需要,同时给开发者提供了足够的设计灵活性以满 足用户的需求 RBAC功能规范使用的乙标记方法由1SO/IEC13568;2002定义 唯一的例外是模式表示如下 模式名(声明<谓词;;谓词 这里使用的大多数抽象数据类型和函数都来自RBAC参考模型,但在必要的时候,将会引人新的
GB/T25062一2010 抽象数据类型和函数 为了描述方便,这里首先需要引人符号NAME NAME是个元素为实体标识 的抽象数据类型,这些实体可能包含在RBAC系统之中或者之外角色、用户、会话等) 7.2核心RBAC 7.2.1核心RBAC管理函数 本条定义了核心RBAC的管理函数 a)AddUser 该命令创建一个新的用户 当要待创建用户尚不存在于USERS集合中时,该命令可用 命令执 行后,USERS被更新,新创建的用户不拥有任何的会话 下面的模式形式化地描述了AddUs Jser; AdladUJser ueer:NAME) USERS Ser USERs'=USERsUu4er)D b)DeleteUser 该命令从RBAC数据库中删除一个已经存在的用户 该命令可用当且仅当被删除的用户是 USERS数据集的一个成员 USERS数据集、UA数据集和assigned_users函数被更新 如果一个正 处在会话中的用户被删除,如何处理该用户的会话依赖于具体实现 实际RBAC系统可以等待该会话 结束或者强行终止它 下面的模式形式化地描述了DeleteUser: DeleteUseru4ser;NAME) 4serUUSERS [[VsesEssIoNs 4er=essio_4er(s)>DeleteSession(s) UA'=UA\(r:RoLESs”4er一 rs(ru4ser} assigned_4ers'=(r;ROLEs r(as.s1gnecl_4ser USERS'=UUSERS\'t4ser cAddRole 该命令创建一个新的角色 该命令可用当且仅当要创建的角色尚且不存在于RoLEs数据集 ROL.ES数据集,assigned_user、和assignedpermisssions函数被更新 初始时,新创建的角色没有分 配任何用户和权限 下面的模式形式化地描述了AddRole: .AdRole(role:NAME)< m/le任ROLEs ROLEs'=ROLESU{mle 4ssigned_4sers'=assigned_4sersUole一 assigned_ermissions'=assigned_xermissionsU{role一)少 d) DeleteRole 该命令从RBAC数据库中删除一个角色 该命令可用当且仅当被删除的角色是ROLES数据集的 成员 如果被删除的角色在某些会话中尚且是激活的,如何处理这些话是一个具体实现需要决定的问 题 实际RBAC系统可以等待这样的会话结束或强行终止它们或从会话中删除这个角色然后允许会 话继续执行 下面的模式形式化地描述了DeleteRole DleteRole(rmle:NAME)小 rmleEROLES >DeleeSession(s)] [VsESEssONs roleEession_oles()- UA'=UA\u:USERs >role assigned_4sers =assigned_4sers\{ole一xassigned_t4sers(role PA'=PA\op;OPs,obj:OBJs(op.obj)mle assigne_ermision、'=assiged_ermisions\{mle一assigned_ermissions(mle ROLEs'=ROLEs\{mle}D
GB/T25062一2010 AsigaUse 该命令给用户分配角色 该命令可用当且仅当该用户是USERs数据集的成员,该角色是ROLES 数据集的成员,并且该角色尚未分配给该用户 数据集UA和函数assignee users s被更新 下面模式 形式化地描述了该命令: ,mleMAME)< AsignUer(wer USERs;7oleEROLESs;(uer一roleUA ser UA'=UAU{ser一role 1edl4sers\rolexssignedl4se ned_6er、'=assign rs(ole)U assign6 ole(assigned_4sers(role U u4ser}D DeassignUser 该命令删除一个角色role到用户user的分配 该命令可用当且仅当user是USERS数据集的成 员,role是RoLES数据集的成员,并且角色role已经分配给了用户user 如果user正拥有某些会话并且role在这些会话中是激活的,如何处理这样的会话是一个具体实现 需要决定的问题 实际RBAC系统可以等待这样一个会话结束,或者强行终止它,或者取消激活该角 色 下面模式形式化地描述了该命令 DeassignUseru4ser,ole:NAME)< 4sereUISERS;oleROLES;(errole)eUA [Vs;sEssIoNs t4ser=ession_4ser(sAoleEsession_roles(s)DeleleSession(s)] UA'=UA\u4ser)role assigned_4sers'=4ssigned_4sers\rolexassigned_4sers(ulesU ole一(assignel_44sers(role)\'4ser) GrantPermission 该命令给一个角色分配对一个对象执行某个操作的权限 该命令可用当且仅当给定的(操作,对 象)代表了一项权限并且该角色是ROLES数据集的成员 在实际实现中,该命令可能实现为授予对应 于该角色的组以相应的权限,即修改对象的ACI 下面的模式形式化地定义了该命令 Gran1Permission(object,operatio,ole:NAME)< operation,bject)PERMs;oleEROLs PA'=PAU(operalfion,objet)role 4ssigned_ermission、'=4ssigned_ermisions\{olexassigned_ermissions(roles)U operation,objeect)} role(4ssignel_ermissios(role h RevokePermission 该命令从分配给角色的权限集中撤销对某个对象执行某个操作的权限 该命令可用当且仅当(操 作,对象)代表一项权限,并且该权限已经分配给了该角色 在实际的实现中,该命令可能实现为撤销对 应于该角色的组的权限,即修改对象的ACL 下面的模式形式化地描述了该命令 ReokePermision(operation,objecl,ole:NAME)< oeration,object)PERMs;oleROLES;((operation,bjet PA role PA'=PA\operation,objeet ole" assigned_ermission、'=assigned_ermissions\{mle一assigned_ermissions(mles)U mle一(assigned_/ermissions(m/e八operalion,objec/)少 7.2.2核心RBAC支持系统函数 本条定义了核心RBAC的支持系统函数 CreateSession a
GB/T25062一2010 该函数创建一个新的会话,以指定的用户作为会话拥有者,以指定的角色集作为激活角色集 该函 数可用当且仅当用户user是USERS数据集的成员并且激活角色集是用户分配的角色集的子集 在实 际RBAC实现中,会话的角色集可能对应于一些组 下面的模式形式化地描述了该函数 Sesio参数是一个由底层系统产生的用于标识会话的标 识符 pNMEs CyreateSessionu4ser:NAME;rs;2 ;session:NAME)< EUSERS;ar、二(r;ROLEsluse一r)EUA};wsion 乐SESSIONS .Ser SEssoONs'=sSESsIONSU esSio1" U SeSSio114SeSeSsio7nSe ,eSSio>4se essionoles'=sessionrolesUession一xrs》 b DeleteSession 该函数删除一个会话 该函数可用当且仅当会话标识符是SESsIONS数据集的成员 下面的模 式形式化地描述了该函数 DeleleSession.session:NAME) ESESsIONS ess1o7n session_4er'=session_4ser\session一ession_t4ser(session) ession_oles’'=essionrole八\session一sessionoles(.ssion SESSIONS =SESSIONS\session c) AddActiveRole 该函数为给定的用户会话增加一个激活角色 该函数可用当且仅当" 1该用户是USERs数据集的成员 2) 该角色是ROLES数据集的成员 3) 会话标识符是sEssIoNs数据集的成员; 该角色已经分配给了该用户; 4) 55) 该用户拥有该会话 在实现时,该角色可能对应于一个相应的组 下面的模式形式化地描述了该函数: AddActiveRole(u4er,esion,ole;NAME) 4erEUSERSs;esionESESSIONS;mleEROLES;essionE4ser_esions(u4ser) user一role)eUA;rmle任esion_roles(ession) wssion_role'=ession_oles\essionxession_roles(essionU ole')D ession(session_oles(session DropActiveRole d 该函数从给定用户会话中删除一个激活角色 该函数可用当且仅当该用户是USERS数据集的成 员,会话标识是SESSIONS数据集的成员,该用户是该会话的拥有者并且该角色是该会话的一个激活 角色 下面的模式形式化地描述了该函数 NAME ropActiceRole(user,ession,ml e 46erEUSERs;oleERoLES;essionESEssIoONs sessio7 sesessio21sser;ole" E session_rolessession ession_role、'=xsion_ml. U sessionsessio1_rolesession) D (sion_oles(esion\{role} sessio CheckAccess e 该函数决定一个给定的会话的主体是否允许对给定的对象执行某个给定的操作并返回一个布尔 值 该函数可用当且仅当会话标识符是SESSIONS数据集的成员,该对象是OBS数据集的成员,该
GB/T25062一2010 操作是OPS数据集的成员 会话的主体可以对该对象执行该操作当且仅当会话的某个激活角色拥有 对应的权限 实际实现可能使用在对象的ACL中的对应于激活角色的组和其相应的权限 下面的模 式形式化地描述了该函数 CheckAccess(ession,operalion,objee:NAME;7esull;BoOLEAN)< essioESESSIOS; ;operationEOPs;bjectEOBs resul=3r:ROLEs rEession_les(essionAoperation, ,object)一r)EPA)D 7.2.3核心RBAC查看函数 本条定义了核心RBAC的查看函数 AssignedUsers a 该函数返回被分配给了某个指定角色的用户 该函数可用当且仅当该角色是ROLES数据集的成 员 下面的模式形式化地描述了该函数 .2lsERs edUsers(ole:NAME;result;:2 s) Asig"n roleEROLES resul=u:USERS|uroleEUA》D b AssignedRoles 该函数返回分配给了一个给定用户的角色 该丽数可用当且仅当该用户是UsER数据集的成员 下面的模式形式化地描述了该函数 ;21'sERs)< AssignelRoles(u4er;NAME;result;2' 4erEUSERS resul=r;ROLEs u4err)EUA}D 7.2.4核心RBAc高级查看函数 本条定义了核心RBAC的高级查看函数 a)RolePermissions 该函数返回分配给一个给定角色的权限 该函数可用当且仅当该角色是ROLES数据集的成员 下面的模式形式化地描述了该函数 RolePermision(role:NAME;resull:2'rERwsy )< mleEROLES esul/=op:OPS;bj:OBJslop,obj)mle)EPA}D b) UserPermissions 该函数返回一个给定用户的权限 该函数可用当且仅当该用户是USERS数据集的成员 下面的 模式形式化地描述了该函数 2'g PpRMs) UerPermision(6er;NAME;esul/; 4erUSERs =(r;ROEs;op;OPS;obj:(OBsluserr)EUAAop,b)r)EPAop,b)D resuult SessionRoles 该函数返回给定会话的激活角色 该函数可用当且仅当该会话标识符是SESSIONS数据集的成 员 下面的模式形式化地描述了该函数: :2R ;NAME;resul lEs) SessionRoles(ession: SEsSIONS Nesio7 resul=xssion_roles(ession)D SessionPer d ermissions 该函数返回给定会话的权限,即该会话的激活角色拥有的权限 该函数可用当且仅当会话标识符 是SESSIONS数据集的成员 下面的模式形式化地描述了该函数 10
GB/T25062一2010 :2" ;NAME; rERMs) SessionPermissions(sion: ;resull NessioESESSIONS reSult =r;ROLES;op e OPS;bjEOBJS A(op,bj)) r) 么 |rEsession_rmles(ession PA" op,bj} RoleOperationsOnObject 该函数返回一个给定角色被允许的对给定对象执行的操作 该函数可用当且仅当该角色是 ROLES数据集的成员,该对象是OBS数据集的成员 下面的模式形式化地描述了该函数: RoleOperationsOmObjeec(mle:NAME;bj:NAME;resull:2rs)< mleEROLES objEOBJS rsul/=op;OPS(op,obmle)ePA f)UserOperationsOnObject 该函数返回给定用户被允许的针对给定对象执行的操作 该函数可用当且仅当该用户是USERS 数据集的成员,该对象是该oBs数据集的成员 下面模式形式化地描述了该函数 UserOperatiosOObjec(4ser :NAME;obj;NAME;7resull;20Ps) u4erEUSERS obiEOBJS resul!={r:ROLES;op:OPS|u4serEUAA(op,ob)))rEPAo}D 7.3层次RBAc 7.3.1通用角色层次 7.3.1.1通用角色层次管理函数 7.2.1中的函数在本条当中都是有效的,这里还定义了一些新的函数 a)AddInheritanee 该命令在两个已经存在的角色广_asc和,_desc之间建立直接继承关系r_asc>>r_desc 该命令可 用当且仅当r_asc和r_desc都是ROLES数据集的成员,厂_4se不是尸_desc的直接祖先,并且r_desc不 继承r_4sc(避免产生回路) 以下模式使用了下述记号 ==>> 该命令的形式化描述如下 Adlnherilance(r_44e,广_desc;NAME)< r_4scROLES;r_descROLES;一(r_a4sc>>厂_desc);一(r_desc之r_asc 之U(r,q;ROLEs|r之r_ascAr_desc之gr一 b)Deletelnheritance 该命令删除已经存在的直接继承关系r_asc>>r_desc 该命令可用当且仅当r_as和r_des是 ROLES数据集的成员,r_4se是_desc的直接祖先 在执行完该命令以后,新的继承关系是新的直接 继承关系的自反传递闭包 下面的模式形式化地描述了该命令: Delelelnherilance(r_4se,r_esc;NAME)< >> r_ascEROLEs;r_descEROLEs; ;r_asc r_dlese \(r_acr_dlesc) AddAscendant 该命令创建一个新角色r_asc,并作为现存角色r_desc的直接祖先插人到角色层次中去 该命令 可用当且仅当r_as不是ROLES的成员,r_desc是ROLES数据集的成员 注意可用性条件的验证是 在Addlnheritance中引用的模式AddRole和Addnher 中进行的 itance 11
GB/T25062一2010 ;NAME) AddAscendant(r_ase,r_desc .AldRole(r 广_4sc lescD AddInheriance(r_4sc,r_ dAddDescendant 该命令创建一个新的角色作为现存角色r_4sc的直接后代插人到角色层次中 该命令可用当且仅 当严desc不是RoLEs的成员"_4是RoLEs数据集的成员 注意可用性条件是在Addneeedant 中引用的AddRole和AddInheritance中验证的 dlesc:NAME) AdaDescendan(r_asc,r_G AldRole(rddesc AlalInherilance(rasc,广dlesc 7.3.1.2通用角色层次支持系统函数 本条扩展了7.2.2的函数CreateSession和AddActiveRole 7.2.2条的其余函数都保持有效 CreateSession a 该函数为指定用户的创建一个新会话该会话以指定的角色集作为其激活角色集 该函数可用当 且仅当 1)该用户是USERS数据集的成员 2) 指定的藏话角色集是该用户授权角色集的子集 注意.即使一个角色在一个会话中是微 活的,它的祖先和后代在该会话中未必激活 在实际的RBAc实现中,会话的激活角色 集可以实现为与这些角色对应的组 下面的模式形式化地描述了该函数 参数Session实际上是由底层系统产生的 ;2wE;ession:NAME)< CrealeSession4ser:NAME;ars:2 USERs;arsr,q;ROLEs r r};esion乐SEssIoNs e euAA4圣 u4ser Z5Ser SE:ssIoNs'=SsESssONsU{session ession_4ser'=ession_4serUsessionuser essio1_roles'=ession_olesUsession一ars b AddActiveRole 该丽数给指定的用户会话增加一个激活角色 该函数可用当且仅当 该用户是USERS数据集的成员, 2 该角色ROLES数据集的成员 3y 该会话标识符是SESsIONS数据集的成员; 4 该角色是该用户的授权角色 5)该用户拥有该会话 下面的模式形式化地描述了该函数: Role( :NAME)d AMdAciw seression,role: E USERs;sionm SESSIONS;oleROLES;4er=sion_er(ession) 4ser ;mle乐ession_roles(session) ser E authorized_4sers(role ession_roles=ession_roles\sessionessio_roles(es.sion Urole}}D session(session_roles(session 3 7.3.1. 通用角色层次查看函数 7.2.3所有的函数都可用 本条定义了如下查看函数 AuthorizedUsers a 该函数返回拥有给定角色的授权用户 该函数可用当且仅当给定角色是ROLES的成员 下面的 模式形式化地描述了该函数 12
GB/T25062一2010 AuuthorizedUJsers (nleNAME;enl.2)< ROLEs role resultauuthoriedlsers( mle) AuthorizedRoles b 该函数返回给定用户的授权角色 该函数可用当且仅当该用户是USERS数据集的成员 下面的 模式形式化地描述了该函数 p儿s AuthorizedRolesu4ser:NAME;resull:2" ) u4serEUSERS result 4,RoL.Esl(eer一判)eUAA4之)D =(rq: 7.3.1.4通用角色层次高级查看函数 本条扩展了7.2.4的RolePermissions和UserPermissions函数 该条其余函数都保持有效 RolePermissions a 该函数返回给定角色的所有权限 该函数可用当且仅当该角色是ROLES数据集的成员 下面模 式形式化地描述了该函数 2ERMs RolePermissio1sole:;NAME;esult;2 s) roleEROLES resul/=q:ROLES;op;OPS;obj:OBJSmle之Aop,obj)q)EPAop,bj UserPermissions b 该函数返回给定用户所有授权角色的权限 该函数可用当且仅当该用户是USERS数据集的成 员 下面的模式形式化地描述了该函数 ,2PERMs) UserPermission4ser:NAME;resul:2 ) 4erEUSERs resul/=r,q;ROLES;o/:OPs;bj;(OBJsu4ern)eUAA(q之r)A(op,obj))-r)e PA(op,obj) c)RoleOperationsOnObject 该函数返回角色针对给定对象可以执行的操作集,这些操作有可能是该角色直接分配的和继承来 的 该函数可用当且仅当该角色是ROLES数据集的成员,该对象是OBs的成员 下面的模式形式 化地描述了该函数 RoleOperationsOnOb6jeect(role;NAME;obj:NAME;resull;2'es)< mleEROLEs OBJS E ob resul=q:ROES;op;OPslole之qAop,objn)EP!Aop}D d U JserOperationsOnObject 该函数返回给定用户针对给定对象可以执行的所有操作 该函数可用当且仅当用户是USERS数 据集的成员,该对象是OBS数据集的成员 下面模式形式化地描述了该函数 UJser NAME 2oPs) rOperationsOnObjet(user:N ;7resull: EUSERs tser objEOBJS OPS resul={r,q:ROLES;op aeer一)EUAAg之r)A(op,bj))r)ePA”op}D 7.3.2受限角色层次 7.3.2.1 受限角色层次管理函数 本条重新定义了7.3.1.1的Addnheritane函数,该条中所有其他函数保持有效 Addlnheritance 定 义如下 13
GB/T25062一2010 该命令在两个已存在的角色,a和,_dec之间创建直接继承关系,_4r> >r_desc 该命令有效 当且仅当r_asc和r_dese是ROLEs数据集的成员,r_asc没有后代,r_dese不继承厂_asc(避免出现回 路) 下面的模式使用了如下记法 == 形式化地 .AddInheritance(r_asc,厂_desc:NAME)< r_4scROLES;r_descEROLEs;VrEROLEs -(r_asc一r);一(r_desc二r_asc =之U(r,q:ROLES|r之r_aseAr_desc之q”r一}D 7.3.2.2受限角色层次支持系统函数 7.3.1.2定义的函数都有效 7.3.2.3受限角色层次查看函数 7.3.1.3定义的函数都有效 7.3.2.4受限角色层次高级查看函数 7.3.1.4定义的函数都有效 7.4静态职责分离关系 7 .4.1静态职责分离 本标准中的静态职责分离关系使用一组由角色集和值构成的SSD对 本条定义了新的数据类 型sSD,该类型可以看作是用来标识SSD对的角色集的名字的集合 函数ssdset和ssd_card分别用来获得SSD对中的角色集和阀值 sd_et:SsD-2R儿 sd_card:SSD-N VsdlESSD”sd_card(sd)之2Asd_card(sd)slsd_er(sd" 7.4.1.1sSsD关系管理函数 本条扩展了7.2.1的AssignUser函数,该条的其余函数保持有效 本条还定义了一系列新的 函数 a)AssignUser 该命令取代核心RBAC中的同名函数 该命令给用户分配一个角色,其可用当且仅当: 1 该用户是USERS数据集的成员 2) 该角色是ROLES数据集的成员; 3) 该用户还没有被分配该角色 4) 所有SSD约束在执行完该命令后仍然被满足 被更新 下面的模式形式化地描述了该命令 users 数据集UA和函数assigned NAME)< .AsignUer(u4er,ole; UJSERS;ole ERO儿ES;(aerrole乐role 4ser Vssd 乐SsD asignedl_4ers(r)U)= w=/"-mlndg UA'=UA se>role s\'le一ssigne_4ers(role)U asigned _u4sers=assigned_4sers u4serD 'le一(assigned_4ers(roleU bCreateSsdSet 该命令创建一个命名的sSD角色集合,并设定相应的阂值 该命令可用当且仅当 14
GB/T25062一2010 sSD角色集的名称还没有被使用; 2) SSD角色集中的角色都是ROLEs数据集的成员; 3)"是一个大于或等于2自然数,同时还要小于或等于SSD角色集的基数; 4)新的sSD角色集的约束当前是被满足的 下面的模式形式化地描述了该命令 22NAMEs CreateSsSet(setname:NAME;olesel:2 ;n:N) se_name乐SSD;(n之2Ansroleet|);oleNetGROLES assignel_4sers(r)= SSD'=SSDUe_name ssdl_et'=ssl_e el_name一role_l sl_curdl'=sd/_curdUse/_name一D DeleteSsdRoleMe e lember 该命令从一个命名的SSD角色集中删除一个角色,关联的阀值不发生改变 该命令有效当且仅当: sSSD角色集已经存在 ) 2)要删除的角色是该SSD角色集的成员; 3)该sSD角色集关联的闵值小于该角色集的基数 注意:修改后的SSD约束应该当前是被满足的 下面的模式形式化地描述了该命令 DeleleSsRoleMember(.set_name:NAME;ole:;NAME) E el_nameESSD;ole ssd_se(sel_name);ssd_card(sel_namessdsel(ename ss_set =ssd_se八se_name一ss_set.e_name)U sel_name一{ssd_setset_name八ole}> d DeleteSsdSet 该命令删除一个ssD角色集 该命令可用当且仅当该SsD角色集存在 下面的模式形式化地描 述了该命令 DeleeSsdSe(e!_name;NAME)< e_nameEsSD sd_card'=xd_card八\(e_namesd_cardel_name)) sdl_et'=ssdl_et八et_namessd_etei_name SSD' SSD\e_name}少 SetSsdSetCardinality 该命令设定SSD角色集关联的阂值 该命令可用当且仅当 1)该sSD角色集存在; 2)新的阀值是一个大或者等于2的自然数,它要小于或等于SSD角色集的基数; 3)新的SSD约束当前应该是被满足的 下面模式形式化地描述了该命令 SetSsCardinaliyset_name:NAME;n:N e SSD;(n之2Ansssd_set(.set_name| etname assignedl_4sers(r)= S6t r_mame =sd_ard八\e_namexd_carde!_name)Uer_name一} sscl_cardl 7.4.1.2静态职责分离支持系统功能 7.2.2中的函数保持有效 15
GB/T25062一2010 7.4.1.3静态职责分离查看函数 7.2.3中的函数保持有效,此外本节还定义了如下函数 a SsdRoleSets 该函数返回所有sSD角色集的名称 下面的模型形式化地描述了该函数 2NAME. ) b)AddInheritance 该命令在两个角色r_4sc和r_desc之间建立直接继承关系r_4sc>>r_desc 该命令可用当且仅当 1 r_asc和r_desc都是ROLES数据集的成员; 2 r_4sc不是r_desc的直接祖先; 3 r_desc不继承r_asc: 16
GB/T25062一2010 4sSD约束在该命令执行后仍是满足的 下面的模式使用了如下记法 来形式化地描述该命令 AddInherilance(r_asc,厂_desc:NAME)< 厂_4scROEs;r_deseEROLES;一(r_44e>>r_desc);一(r_desc之r_a4c) VsxdsSD authorised_4sers(r)Uau)= rd 1getdrod uu=i/r=r_ehe4hwised_ers(r_aedeo 之'-之Ur,q:ROLES r_4scAr_dese之qrD CreateSsdSet 该命令创建一个命名的sSD角色集合,并设定相应的值 该命令可用当且仅当 1)SSD角色集的名称还没有被使用 2) sSD角色集中的角色都是ROLES数据集的成员; 3)n是一个大于或等于2自然数,同时还要小于或等于SsD角色集的基数; 4) 新的SSD角色集的约束当前是被满足的 下面的模式形式化地描述了该命令 CreateSsdSer(e!_name;NAME;mle_et;2wuEs ;n:N)< e_name任SsD;(n之2Anslrmle_et|);mle_eROLES authorixedl_4sers(r)= lbsell SSD SSDU etna1e" s_e'=sd_etU sel_name一role_el ssdlcardl'=sdlcardlU'setnane)n dAddSsdRoleMember 该命令为SSD角色集增加一个角色,该SSD角色集关联的阀值不发生改变 该命令可用当且仅当: 1 该SSD角色集存在; 2) 该角色是ROLES数据集的成员,并且尚不属于该sSD角色集; 3)该命令执行之后,SSD约束仍然是满足的 下面的模式形式化地描述了该模式 AdaSsdRoleMe ember(e_name:NAME;mle:NAME)< ssD;mleeRoLEs;nm/e任xd_w(e_ame) set_nameE authorized_4ers(r)= sabsetCxd u朋eUnnle se八se 一sd_xr(e_name)U Ssdlet =Sl 7a7ne" set_name一(.ssdl_et.et_na meU'ole)D SetSsdSetCardinality e 该命令设定与给定的SSD角色集关联的阔值 该命令可用当且仅当 1该sSD角色集存在; 2)新的闵值是一个大或者等于2的自然数,它小于或等于SSD角色集的基数; 3)该命令执行之后,SSD约束仍然是满足的 17
GB/T25062一2010 下面模式形式化地描述了该命令 SSxdCurdhnality(e_ame.NAME;n:N)< se_nameESSD;(n之2An二lssd_e(set_name authorizedl_4sers(r)= Set nne e name一)n} sd_ard'=sd_card八\e'_name一ssd_curd(e_nameU{et 7.4.2.2通用角色层次静态职责分离支持系统函数 7.3.1.2的丽数都保持有效 7.4.2.3通用角色层次静态职责分离查看函数 7.3.1.3和7.4.1.3的函数保持有效 7.4.2.4通用角色层次静态职责分离高级查看函数 7.3.1.4的函数保持有效 7.4.3受限角色层次静态职责分离关系 7.4.3.1受限角色层次静态职责分离管理函数 本条重新定义了7.4.2.1的Addnheritance函数,7.4.2.1其余的函数保持有效 Addlnheritance 定义如下 该命令在两个现存的角色气a和,dec之间建立直接继承关系,_4c>>rdes 该命令可用当且 仅当r_4说和rdee都是RoLES数据集的成员,"_4c没有后代"dec不继承,_4e(避免出现回路) 下面的模式使用如下的记法 形式化地描述了该命令 .AdaInherilance(r_4sc,"_desc;NAME)< ROLES; EROLES;yEROLES 尸4Sc 一(-dec之气_eec) ;r_cdesc 一(r_asc一r);一 .ssdESSD authoried_4ers(rUau o 心 aiu=ifr=rdrheawthnicers(ae》lsro 之'=之U(r,9;ROLES|r之r_4seA厂_desc之g厂一D 7.4.3.2受限角色层次静态职责分离支持系统函数 7.4.2.2的函数保持有效 7.4.3.3受限角色层次静态职责分离查看函数 7.3.2.3和7.4.1.3的函数保持有效 7.4.3.4受限角色层次静态职责分离高级查看函数 7.3.2.4的函数保持有效 7.5动态职责分离 7.5.1动态职责分离 本标准中的动态职责分离关系使用一组由角色集和闵值的构成的DsD对 本条定义了新的数据 类型DSD,该类型可以看作是用来标识DSD对的角色集的名字的集合 函数dsd_set和dsd_card分别用来获得DsD对中的角色集和阔值 dd_el;DSD-2R尾Es dsd_carl:DSD-N VddessDdad_ard(dd)之2Add_ard(dd)sdd_ee(ddd) 7.5.1.1动态职责分离关系管理函数 7.2.1的丽数保持有效,此外本条还定义了如下函数: CreateDsdSet a 18
GB/T25062一2010 该命令创建一个命名的DSD角色集合,并设定相应的值 该DSD约束要求DSD角色集中任何 n个或者更多角色不能都在某个用户会话过程中被激活 该命令可用当且仅当 DSD角色集的名称还没有被使用 2) DsD角色集中的角色都是ROLES数据集的成员 n是一个大于或等于2自然数,同时还要小于或等于DsD角色集的基; 3) 4) 新的DSD角色集的约束当前是被满足的 下面模式形式化地描述了该命令 2NAMES CreateDslSe( N) NAME;mle_el:2 sel_m1e;:" ;n: DSD;(n2 nsoleset;olesetCROLES etnne G Vs:SESSIONS;ole_sbsel:2me.-”olesxubseG.essionroles(s)|ole_sbsel DSD'=DSDUe!_name" sdl_ei=sdl_se八\se/_name一role_et namenD dd_ard'=dd_cardU(er b AddDsdRoleMember 该命令为一个给定的DSD角色集增加一个角色,DsD角色集关联的阔值不发生改变 该命令有 效当且仅当 1该DsD角色集存在; 该角色是ROLES数据集的成员,并且尚不属于该DSD角色集; 2 3)该命令执行之后,DsD约束仍然是满足的 下面模式形式化地描述了该模式 AldDsdlRoleMember(setname; NAME;ole;NAME)< E DSD;role" e ROLES;ole安dlsl_Net.sename) Set11e Vs;sEssONs;mlesubsel;2.(时.mUmi ole_subset ession_roles()>role_subset|GB/T25062一2010 SetDsdSetCardinality 该命令设定与给定的DSD角色集关联的值 该命令可用当且仅当: 该DsD角色集存在 1 2) 新的阂值是一个大或者等于2的自然数,它要小于或等于DsD角色集的基 3)新的DsD约束当前应该是被满足的 下面模式形式化地描述了该命令 SetDsdSeCardinaliy(e_name;NAME;n:N)< etnameEDSD;n2Anssdet.ename| Vs:SESSIONS;rolesuubset:2dd_(-mam? m role_sbsel ession_roles(s)|role_subset dsdl_cardl'=dsd_card八\et_name一xlsd_cardl(set_nameUset_namen}D 7.5.1.2动态职责分离支持系统函数 本条重新定义了7.2.2的CreateSession和AddActiveRole函数,7.2.2的其余函数保持有效 a)CreateSession 该函数创建为指定的用户创建一个以给定的角色集作为激活角色集的会话 该函数可用当且仅当 1该用户是USERS数据集的成员 2) 该会话的激活角色集是该用户分配的角色集的一个子集; 该会话的激活角色集满足所有的DsD约束 3) 下面模式形式化地描述了该命令 Sessio参数用来标识会话,它是由底层系统产生的 2MME CreateSession :NAME;ars;2 ;ession;NAME) (Se USERS;arsCr:ROLES EUA}; 任sEsSIONs t4Ser e se>r ;eSsion 2we vdel;DsD; );rrsel:2 rseGsdl_sel(dsel) A seGrs|rrset|GB/T25062一2010 7.5.1.3动态职责分离关系查看函数 7.2.3的函数保持有效 本条定义了如下新函数 DsdRoleSets a 该函数返回所有的DSD角色集 下面的模式形式化地描述了该函数 pNAME DslRoleSetsresuult;2 )rset|sdl_curdlset SESSIONs'=SESsIONSUxssion) =essionser U Nessioms_4ser sessio)4ser U ession一ars} essio_roles'=essio_oles b AddActiveRole 该函数为用户会话增加一个激活角色 该函数可用当且仅当 1该用户是USERs数据集的成员; 2 该角色是ROLES数据集的成员 会话标识符是SESSIONS数据集的成员; 37 4)该用户是该角色的授权用户; 21
GB/T25062一2010 5)该用户拥有该会话 6)在给该会话增加新的激活角色后,所有的DSD约束都被满足 下面模式形式化的描述了该函数 AldActizueRole(u4ser,session,ole:;NAME) USERS;ession tser SEsSIONS;o/eEROLES; ;ser=essio2ntser(NeSsion 望stion_mle( aathorized_asers(mle);ole任 se厂 essio7 pNAME Vdsel:;DSD;rset :2 dd_er(de U rset ole etArset二session_oles(session dlslcardl(lset rset roles(sessio ession_roles\ession一xession m) eSso7moleS {ession一(ession_mlesxssionU{mle)}D 7.5.2.3通用角色层次动态职责分离查看函数 7.5.1.3和7.3.1.3的函数保持有效 7.5.2.4通用角色层次动态职责分离高级查看函数 7.31.4的函数保持可用. 7.5.3受限角色层次动态职责分离 7.5.3.1受限角色层次动态职责分离管理函数 7.3.2.l和7.5.1.l函数保持有效 7.5.3.2受限角色层次动态职责分离支持系统函数 7.5.2.2的丽数保持有效 7.5.3.3受限角色层次动态职责分离查看函数 7.5.2.3的函数保持有效 7.5.3.4受限角色层次动态职责分离高级查看函数 7.3.1.4的函数保持有效 22
GB/T25062一2010 附录A 资料性附录 功能规范概述 A.1概述 本附录提供了对前面章节中为每个组件定义的规范的概述 第6章从元素集,关系和管理查询的 角度把RBAC参考模型定义成四个模型组件 本附录从管理操作、会话管理、管理查看的功能规范的 角度来讨论抽象的模型概念 RBAC功能规范描述了对RBAC模型组件进行创建和维护的函数以及 支持系统函数的语义 RBAc功能规范中的函数分为三类 a)管理函数;创建和维护模型组件的元素集和关系的函数 b)支持系统函数;RBAC实现在用户和IT系统交互的过程中用来支持RBAC模型构建例如 RBAC会话属性和访问决策逻辑)的函数; 查看丽数.查看管理操作的执行结果的朋数 c) 第7章中给出了用Iso/IEC13568;2002中定义的Z记法表示的这些函数的规范,本附录针对其 每个章节给出了概述 A.2核心RBAC的功能规范 A.2.1管理函数 元素集的创建和维护;核心RBAC的基本元素集包括UsERs,RoLEs,OPs.os oPs和 OB]S被认为是由部署RBAC的底层系统进行定义的 管理员可以创建和删除USER以及ROLEs的 成员,并且建立角色和操作与对象之间的联系 对USERS进行管理的丽数是AddUser和DeleteUser, 对ROLES进行管理的函数是AddRole和DeleteRole 关系的创建与维护核心RBAC的两个主要关系是UA和PA 对UA的进行管理的函数是 AssignUser和DeassignUser,对PA进行管理的函数是GrantPermission和RevokePermission. A.2.2支持系统函数 支持系统函数的主要作用是会话管理和访问控制决策 创建会话的函数给这个会话指定一组缺省 的激活角色,这组缺省激活角色可以由用户进行增加和删除 主要的函数包括 CreateSession;创建会话并给会话指定一组缺省激活角色. AddAetiveRole;向会话的激活角色集中添加一个角色 DropActiveRole;从会话的激活角色集中删除一个角色 CheckAccess;判断会话主体是否可以对某个对象执行某个操作 A.2.3查看函数 当PA和UA实例被建立起来之后,应该可以从用户和角色的角度去查看它们的内容 例如,对于 UA关系,管理员应该可以查看分配了给定角色的用户和一个用户分配的角色 此外管理员应该也可 以查看支持系统函数的执行结果以确定会话的属性,如会话的激活角色集和会话的全部权限空间 因 为并不是所有的RBAC实现都支持这些查看功能,这些函数分别被指定为可选或强制函数,分别用O 和M表示 AssignedUsers(M返回分配了给定角色的用户 AssignedRoles(M);返回分配给了给定用户的角色 JserPermission(O);返回用户的可用权限 SessionRoles(O):返回会话的激活角色集 23
GB/T25062一2010 SessionPermission ns(O):返回会话可用的权限 RoleOperationsOnObjeet(O);返回给定角色针对给定对象可以执行的操作 UserOperationsOnOjeet(O);返回给定用户针对给定对象可以执行的操作 A.3层次RBAc功能规范 A.3.1层次管理函数 层次RBAC需要的管理函数包括核心RRBAC中的所有管理函数,但是由于角色层次引人了角色授 权用户的概念,DeassignUser函数的语义必须被重新定义 用户可以从一个他/她没有被直接分配的 角色继承权限,因此一个很重要的问题是用户仅仅可以被删除直接分配给他/她的角色还是可以被删除 他/她被授权的任何角色 本标准认为这是具体实现需要决定的问题,因此没有做出规定 层次RBAC需要的额外的管理函数主要涉及到角色间偏序关系的维护 这些包括(a)创建和删除现 存角色间的直接继承关系(b)把 个新创建的角色加人到现存的角色层次上 各个函数的说明如下 Addnheritance;在现存的两个角色之间创建直接继承关系 Deletelnheritance;删除两个现存的角色之间的直接继承关系 AddAsendant;创建一个新角色,并把它指定为一个现存角色的直接祖先 AddDescendant;创建一个角色,并把它指定为一个现存角色的直接后代 本标准支持通用角色层次和受限角色层次 通用角色层次允许多重继承,受限角色层次从本质上 讲是棵树 对受限角色层次,AddInheritance函数需要保证每个角色只有一个直接后代 Deletelnheritanee函数的结果可能存在多种情况 假设针对角色A和角色B调用该函数,实现系 统需要考虑实现下面两种选择中的一种 系统保持角色A和角色B各自原来的隐含继承关系 也就说,如果原来角色A通过角色B继承 a 了角色C和D,则角色A在与角色B之间的直接继承关系被删除后,仍然继承角色C和角色D b)系统打破上述隐含继承关系 函数Deletelnheritance应该采用哪种语义取决于实现系统,本标准没有做出要求 .3.2支持系统函数 A, 层次RBAC需要的支持系统函数与核心RRBAC相同 但是由于角色层次的存在,CreateSe Ssion 函数创建的激活角色集不仅可以包括直接分配 和AddActiveRole函数需要重新定义 CreateSession 给用户的角色还可以包含这些角色继承的角色 与此类似,通过AddAetiveRole函数,用户不仅可以激 活其直接分配的角色也可以激活这些角色继承的角色 当一个角色被激活时,该角色继承的那些角色 被自动激活还是必须被显式地激活是一个实现需要考虑的问题,这里不作明确的要求 A.3.3查看函数 核心RBAC中的查看函数保持有效 由于角色层次带来用户成员的继承,这里定义了如下函数: AuthorizedUser;返回分配了给定角色或该角色继承的角色的用户(给定角色的授权用户). AuthorizedRoles;返回给定用户被直接分配的角色和继承这些角色的角色(给定用户的授权角色. 由于角色层次带来了权限的继承这里还定义下列可选(高级)函数 RolePermissions;返回给定角色直接分配或继承来的权限 UserPermissions: s;返回给定用户通过直接分配的角色或者这些角色继承的其他角色获得的权限 RoleOperationsOnObject:返回给定角色拥有的(直接分配或继承来的)针对给定对象执行的操作 UserOperationsOnObject:返回给定用户可以执行的针对给定对象的操作(通过直接分配的角色或 这些角色继承的角色 静态职责分离关系功能规范 A.4.1管理函数 非角色层次SSDRBAC的管理函数包含核心RBAC的所有管理函数 但是由于SSD限制用户同 214

轧钢加热炉用耐火浇注料
上一篇 本文分享国家标准轧钢加热炉用耐火浇注料的全文阅读和高清PDF的下载,轧钢加热炉用耐火浇注料的编号:GB/T22590-2008。轧钢加热炉用耐火浇注料共有5页,发布于2009-10-012009-10-01实施
钢渣道路水泥
本文分享国家标准钢渣道路水泥的全文阅读和高清PDF的下载,钢渣道路水泥的编号:GB/T25029-2010。钢渣道路水泥共有7页,发布于2011-07-012011-07-01实施根据2017年第7号公告和强制性标准整合精简结论,自2017年3月23日起,该标准转化为推荐性标准,不再强制执行。 下一篇
相关推荐