在 IBM OpenPages GRC Platform(下文简称 OP) 中每种对象类型都是用文件夹的形式来表示,即一个对象类型可以看做一个文件夹。每种对象可以有多个实例。在 OP 中有一个叫做 SOXBusEntity 的对象类型即业务实体对象类型。例如,一个公司 A 就可以被创建为一个业务实体类型的实例 A,即实例 A 就属于 SOXBusEntity 这个文件夹。在 6.x 版本的 OP 中的权限控制只能针对某个文件夹,即只能为某个用户赋予对某个对象类型的访问控制权限。我们可以称之为对基于文件夹的安全性进行访问控制。但在 OP7.0 中加入了 Security rules 即安全规则的功能,通过安全规则,管理员可以对在一个文件夹下的单个实例进行更细粒度的权限控制。本文将详细阐述几种使用安全规则的例子,可以帮助客户或者读者很好的理解安全规则,以及如何使用定义安全规则。
回页首
安全规则不会取代基于文件夹的安全性控制。安全规则可以配合基于文件夹的安全性控制一起工作。另外,安全规则会对所有系统组件生效,包括报表、工作流、FastMap、Triggers、 报告周期,以及所有可用的视图。例如,一个文件夹下面有 10 个任务。应用基于文件夹的安全性访问控制将给予某个角色下面的所有用户读写权限。这时,您可以定义一个安全规则去限制规定其中某个用户只能对任务 1 和任务 8 可读。
Security rules 包含如下的功能:
回页首
例如您的公司已经使用了金融管理(Financial Management)和操作风险管理(Operational Risk)的模块。而且要用这些模块去共享一个常见的组织结构。他们共享了一些常用的对象实例,例如流程(SOXProcess)对象。但是他们不想共享其他的对象实例,例如,风险(SOXRisk)对象和控制(SOXControl)对象。
应用基于文件夹的安全性意味着在同一个文件夹下,即同一个对象类型下面,所有在金融管理和操作风险管理团队的人都有权对所有对象和对象实例进行操作。权限控制需要对每个域都进行控制,让每个人只可以对他负责的部分有权操作。这样对使用者也更加易于操作。
属于金融管理和操作风险管理域的人都要使用控制对象,但是他们使用的是控制对象的不同实例。用户如果想要设置操作风险管理域的人可以更新他们自己的控制对象的实例。而且同时还可以阻止金融管理团队的人查看属于风险管理域的控制对象的实例。假使用户已经有两组人分别属于金融管理和操作风险管理域,见表 1。基于文件夹的安全性已经给这两组的所有人都赋予了对控制对象的读写权限。例如,在 SOXUsers 团队的人能够更新属于操作风险管理团队的控制对象。
表 1. 用户组列表
域 | 用户组 | 允许操作的对象 | 不允许操作的对象 |
---|---|---|---|
金融管理 | SOXUsers | 合规控制 | 操作控制 |
操作风险 | ORMUsers | 操作控制 | 合规控制 |
在不更改文件夹级别的安全性的情况下,添加一个安全规则(Security Rule)进一步为这个文件夹限制权限。
用户可以像下面这样为控制对象类型定义一个安全规则:
清单 1. 安全规则定义公式
[SOXControl].[OPSS-Ctl].[Domain] IN ('Financial Management') AND END_USER IN GROUP('SOXUsers')) OR [SOXControl].[OPSS-Ctl].[Domain] IN ('Operational Risk') AND END_USER IN GROUP('ORMUsers')) 将 security 的属性设置成 Restrict,这个属性的意思是让基于文件夹的安全规则和 Security Rule 都生效;将权限控制设置成可读可更新。
添加一个新的 Security Rule 的流程是:
一个对象的安全性可以在这个对象的生存周期内被改变。不同的用户在一个对象的生命周期的不同阶段对其可以有不同的权限。例如,不同职能的用户,像是审核人和审批人,他们存在于一个对象生命周期的不同时期。一个用户可以是一个对象的所有者,同时也可以是另一个对象的审核人。
下面的表格 2 展示了当对象的实例或者其子节点状态改变时谁能够修改这个对象。
表 2. 对象权限
对象的状态 | 能够修改对象的用户角色 |
---|---|
新建 | 只有管理员一级的用户,例如一个业务实体的管理员能够修改这个对象。管理员可以分配这个对象的所有者。 |
在实施阶段 | 对象的所有者 |
审核阶段 | 审核人 |
准备审批 | 审批人 |
基于文件夹的安全性已经赋予了可读可写的访问权限给这些角色的所有用户。在这些概要文件(Profile)下的所有用户都有权访问某种对象类型下面的所有对象实例。访问控制权限必须在流程(SOXProcess)对象的不同状态下重新定义。这样可以使不同角色的用户只在他们负责的阶段对这个对象有权限访问。
当用户要对进程对象更新的时候,你可以定义类似下面的安全规则约束进程对象。这样可以使每个角色只在他们所属阶段有权限去更新进程对象。
清单 2. 约束进程对象安全规则公式
[SOXProcess].[OPSS-Process].[Status] IN ('Under Development') AND END_USER IN([SOXProcess].[OPSS-Process].[Owner]) OR [SOXProcess].[OPSS-Process].[Status] IN ('Ready for Review') AND END_USER IN([SOXProcess].[OPSS-Process].[Reviewer]) OR [SOXProcess].[OPSS-Process].[Status] IN ('Ready for Approval') AND END_USER IN([SOXProcess].[OPSS-Process].[Approver])
安全性(Security property)设置为限制(Restrict),
这样意味着,基于文件夹的安全规则和 Security Rule 都生效。例如,当对象状态为新建的时候,只有在管理员概要文件(Profile)下的用户可以操作这个对象。
访问控制(Access control)设置成更新(Update)。
创建安全规则的过程:
4. 点击保存。
回页首
上文中已经提及了如何创建一个安全规则,概况创建的一般流程如下:
在菜单栏上点击管理>安全规则,如图 1 所示;
点击一个要定义安全规则的对象的类型,如图 2 所示;
点击添加,如图 3 所示;
注 : 如果选择限制那么基于文件夹的安全性和安全规则一起生效;
如果选择扩展那么将忽略基于文件夹的安全性。
图 4. 安全规则编辑界面
点击查看大图
关闭 [x]
5. 最后保存即可。
回页首
在每个安全规则的右侧可以点击启用或者禁用,也可以进入安全规则的详细信息界面进行配置。
回页首
点击验证,当出现一个提示"已成功验证公式"点击保存即可。
回页首
回页首
本文介绍了 IBM OpenPages GRC Platform Version 7.0.0 中的安全规则是怎样应用的,以及如何创建、删除等操作,让用户对这个新的功能有了一个初步的了解。