本章介绍了如何使用审计策略向导创建、编辑、删除和分配审计策略。
在本章中,您可以了解以下概念和任务:
要创建审计策略,请使用 Identity Manager 审计策略向导。在定义审计策略后,可随后对策略执行各种操作,例如修改或删除策略。
审计策略规则定义了特定违规。策略规则可以包含使用 XPRESS 语言、XML 对象语言或 JavaScript 语言编写的函数。
可以使用审计策略向导来创建简单规则,也可以使用 Identity Manager IDE 或 XML 编辑器创建功能更强大的规则。
规则必须为 SUBTYPE_AUDIT_POLICY_RULE 子类型。由审计策略向导生成的规则将自动分配此子类型。
规则必须属于 authType AuditPolicyRule。由审计策略向导生成的规则将自动分配此 authType。
使用审计策略向导创建的规则将返回值 true 或 false。返回值 true 的策略规则将导致策略违规。不过,可以使用 Identity Manager IDE 创建一个规则,以便在审计扫描或访问查看期间跳过某个用户。返回值 ignore 的审计策略规则将停止该用户的规则处理,并跳到下一个目标用户。
有关创建审计策略规则的信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。
要创建审计策略,请使用审计策略向导。
“审计策略向导”可指导您完成创建审计策略的过程。可以使用以下步骤访问该向导:
登录到管理员界面(登录到 Identity Manager 最终用户界面)。
单击“遵循性”选项卡。
将打开“管理策略”子选项卡或菜单。
要创建新的审计策略,请单击“新建”。
您可使用此向导执行以下任务,以创建审计策略:
选择或创建用于定义策略限制的规则
分配批准者并建立提升限制
分配修正工作流
完成每个向导屏幕中显示的任务后,单击“下一步”移至下一步骤。
在创建审计策略之前,一定要仔细进行规划!在开始之前,请确保完成以下任务:
确定要在“审计策略向导”中创建策略所使用的规则。您所选择的规则由要创建的策略类型和要定义的特定限制确定。有关详细信息,请参见下一节中的确定所需规则。
导入要包含在新策略中的任何修正工作流或规则。有关详细信息,请参见(可选)将任务划分规则导入到 Identity Manager 中。
您在策略中指定的限制会在您创建或导入的规则集中实现。在使用审计策略向导创建规则时,请执行以下步骤:
确定要使用的特定资源。
从资源的有效属性列表中选择帐户属性。
选择要对属性施加的条件。
输入用于比较的值。
有关在审计策略向导之外创建审计策略规则的信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。
“审计策略向导”无法创建任务划分规则。必须在 Identity Manager 的外部构建这些规则,并使用“配置”选项卡上的“导入交换文件”选项导入这些规则。
要使用 Identity Manager 中当前不可用的修正工作流,请导入外部工作流。您可以使用 XML 编辑器或 Identity Manager IDE 来创建自定义工作流。
设置 authType=’AuditorAdminTask’ 并添加 subtype=’SUBTYPE_REMEDIATION_WORKFLOW’。您可以选择使用 Identity Manager IDE 或 XML 编辑器设置这些配置对象。
使用“导入交换文件”选项导入工作流。
登录到管理员界面(登录到 Identity Manager 最终用户界面)。
单击“配置”选项卡,然后单击“导入交换文件”子选项卡或菜单。
将打开“导入交换文件”页。
浏览到要上载的工作流文件,然后单击“导入”。
在成功导入工作流后,它将显示在审计策略向导(创建审计策略)的“修正工作流”选项列表中。
在审计策略向导(如图 14–1 中所示)中输入新策略的名称及其简要描述。
审计策略名称不能包含以下字符:'(撇号)、.(句点)、|(管道符号)、[(左括号)、](右括号)、,(逗号)、:(冒号)、$(美元符号)、"(双引号)、\(反斜杠)或 =(等号)。
还应避免使用以下字符:_(下划线)、%(百分号)、^(插入符号)和 *(星号)。
如果只希望在执行扫描时访问选定的资源,请选择“限制目标资源”选项。
如果希望在违规修正后立即重新扫描用户,请选择“允许违规重新扫描”选项。
如果审计策略不限制资源,则在扫描期间将访问用户具有帐户的所有资源。如果这些规则仅使用少数资源,则将策略限定为这些资源会更有效。
单击“下一步”进入下一页。
使用此页面可以开始定义规则或将规则包含在策略中。(创建策略时您的大部分工作是定义和创建规则。)
正如下图中所示,可以选择使用 Identity Manager 规则向导创建自己的规则,也可以并入现有的规则。规则向导仅允许在每项规则中使用一个资源。导入的规则可根据需要引用多个资源。
确定是要创建新规则还是使用现有规则。
请选择以下任一选项:
要创建新规则,请选择“规则向导”选项(默认设置)。
要并入使用 Identity Manager IDE 创建的现有规则,请选择“现有规则”选项。
单击“下一步”。
根据步骤 1 中选择的内容,继续执行以下某个小节中的操作:
如果选择了“规则向导”,请转至使用规则向导创建新规则一节,然后按照提供的说明进行操作。
如果选择了“现有规则”,请转至选择现有规则一节,然后按照提供的说明进行操作。
要在新策略中包含现有规则,请在“选择规则类型”屏幕上选择“现有规则”,然后单击“下一步”。接下来,从“选择现有规则”下拉菜单中选择一个现有审计策略规则。
如果看不到先前已导入到 Identity Manager 中的规则的名称,请确认您已在规则中添加了使用审计策略规则创建策略中描述的附加属性。
单击“下一步”。
跳到添加规则一节。
如果选择通过审计策略向导中的“规则向导”选项创建规则,请在以下各节所述的页面上输入信息。
可以选择命名并描述新规则。使用此页面可输入描述性文本,每当 Identity Manager 显示规则时,这些描述性文本就会显示在该规则名称旁边。请输入简洁易懂且能够描述规则的描述。此描述显示在 Identity Manager 的“查看策略违规”页中。
例如,如果要创建一条规则,用以确定 Oracle ERP responsibilityKey 属性值同时为 Payable User 和 Receivable User 的用户,则可在“描述”字段中输入以下文本:确定同时具有应付款用户和应收款用户职责的用户。
使用“注释”字段提供有关规则的任何其他信息。
使用此页面可以选择规则要引用的资源。每个规则变量必须对应于此资源的一个属性。您有权查看的所有资源将显示在此选项列表中。在此例中,选择 Oracle ERP。
支持每个可用资源适配器的大多数(不是全部)属性。有关可用的特定属性的信息,请参见《Sun Identity Manager 8.1 Resources Reference》。
单击“下一步”移至下一页。
使用此屏幕输入新规则的规则表达式。此示例创建一条规则,在该规则中,用户的 Oracle ERP responsibilityKey 属性值不能同时为 Payable User 和 Receivable User 属性值。
从可用属性列表中选择用户属性。此属性将直接对应于规则变量。
从列表中选择逻辑条件。有效条件包括 =(等于)、!=(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、is true、is null、is not null、is empty 和 contains。针对此示例的用途,您可以在可能的属性条件列表中选择 contains。
输入表达式的值。例如,如果输入 Payable user,则指定了 responsibilityKeys 属性值为 Payable user 的 Oracle ERP 用户。
(可选)单击 AND 或 OR 运算符添加另一行并创建另一个表达式。
此规则返回一个布尔值。如果两个语句都为真,则策略规则返回 TRUE 值,这样便导致策略违规。
Identity Manager 不支持规则嵌套控制。此外,如果使用审计策略向导创建在规则之间使用不同布尔运算符的策略,可能会产生无法预测的结果,原因是未指定评估顺序。
对于复杂的规则表达式,请使用 XML 编辑器创建规则(而不是使用审计策略向导)。通过使用 XML 编辑器,您可以在必要时否定创建的内容,从而仅在规则之间使用单个布尔运算符。
以下代码示例显示了您已在此屏幕中创建的规则的 XML:
<Description>Payable User/Receivable User</Description> <RuleArgument name=’resource’ value=’Oracle ERP’> <Comments>Resource specified when audit policy was created.</Comments> <String>Oracle ERP</String> </RuleArgument> <and> <contains> <ref>accounts[Oracle ERP].responsibilityKeys</ref> <s>Receivable User</s> </contains> <contains> <ref>accounts[Oracle ERP].responsibilityKeys</ref> <s>Payables User</s> </contains> </and> <MemberObjectGroups> <ObjectRef type=’ObjectGroup’ id=’#ID#Top’ name=’Top’/> </MemberObjectGroups> </Rule> |
要从规则中删除表达式,请选中属性条件,然后单击“删除”。
单击“下一步”继续使用审计策略向导。可通过添加现有规则或再次使用向导来添加更多规则。
可通过导入现有规则或使用向导来创建其他规则。(有关详细信息,请参见选择规则类型。)
根据需要,单击 AND 或 OR 运算符继续添加规则。要删除规则,请选择规则,然后单击“删除”。
仅在所有规则的布尔表达式均评估为 true 时,才发生策略违规。使用 AND/OR 运算符将规则分组后,即使所有的规则均未评估为 true,策略也可能评估为 true。Identity Manager 仅在规则评估为 true,且策略表达式也评估为 true 时,才创建违规。
Identity Manager 不支持规则嵌套控制。此外,如果使用审计策略向导创建在规则之间使用不同布尔运算符的策略,可能会产生无法预测的结果,原因是未指定评估顺序。
对于复杂的规则表达式,请使用 XML 编辑器创建规则(而不是使用审计策略向导)。通过使用 XML 编辑器,您可以在必要时否定创建的内容,从而仅在规则之间使用单个布尔运算符。
使用此屏幕选择要与此策略关联的“修正”工作流。此处分配的工作流确定检测到审计策略违规时在 Identity Manager 中执行的操作。
将为每个失败的审计策略启动一个工作流。对于由特定策略的策略扫描所创建的每个遵循性违规,每个工作流都将包含一个或多个工作项目。
有关导入通过 XML 编辑器或 Identity Manager IDE 创建的工作流的信息,请参见(可选)将任务划分规则导入到 Identity Manager 中。
可以使用“修正用户表单规则”下拉菜单选择一个规则,以计算在通过修正编辑用户时要应用的用户表单。默认情况下,编辑用户以响应修正工作项目的修正者将使用为其分配的用户表单。如果审计策略指定了修正用户表单,则会使用此表单。这样在审计策略指出特定的问题时,可以使用与之对应的特定表单。
要指定将与此修正工作流关联的修正者,请选中“是否指定修正者?”复选框。如果选择此选项,然后单击“下一步”,则会显示“分配修正者”页。如果不选择此选项,向导接下来会显示“审计策略向导分配组织”屏幕。
如果指定修正者,在检测到此策略违规时,将会通知分配给此审计策略的修正者。此外,默认工作流还会向修正者分配修正工作项目。任何 Identity Manager 用户都可以成为修正者。
您可以选择至少分配一个级别 1 修正者,或指定的用户。检测到策略违规时,会首先通过电子邮件(由修正工作流启动)与级别 1 修正者联系。如果在级别 1 修正者响应前已达到指定的提升超时时间段,则 Identity Manager 会接着联系此处指定的级别 2 修正者。Identity Manager 仅在提升时间段结束之前级别 1 和级别 2 修正者都没有响应时,才联系级别 3 修正者。
如果为选定的最高级别修正者指定了提升超时值,则提升超时时将从列表中删除工作项目。默认情况下,提升超时值设置为 0。在这种情况下,工作项目不会过期,并保留在修正者的列表中。
"Assigning Remediators" 是可选选项。如果选择此选项,请在指定设置后单击“下一步”以进入下一个屏幕。
要将用户添加到可用的修正者列表中,请输入用户 ID,然后单击“添加”。或者,单击 ...(更多)以搜索用户 ID。在“开头为”字段中输入一个或多个字符,然后单击“查找”。从搜索列表中选择用户后,单击“添加”可将该用户添加到修正者列表中。单击“解除”可关闭搜索区域。
要从修正者列表中删除用户 ID,请在列表中选择该 ID,然后单击“删除”。
可以使用该屏幕(如图 14–7 中所示)选择可查看和编辑此策略的组织。
选择组织后,单击“完成”可创建审计策略并返回到“管理策略”页。现在此列表中将显示新创建的策略。
审计策略的普通编辑任务包括:
添加或删除规则
更改目标资源
调整有权访问策略的组织列表
更改与每个修正级别关联的提升超时时间
更改与策略关联的修正工作流
单击“审计策略”名称列中的策略名称,以打开“编辑审计策略”页。此页将审计策略信息归类到以下区域:
标识和规则区域
修正者和提升超时时间区域
工作流和组织区域
使用页面的此区域可以:
编辑策略描述
添加或删除规则
不能使用此产品直接编辑现有规则。可以使用 Identity Manager IDE 或 XML 编辑器编辑规则,然后将其导入到 Identity Manager 中。然后即可删除上一版本,并添加新修订的版本。
通过选择“描述”字段中的文本然后输入新文本,可以编辑审计策略描述。
可随意选择或取消选择“限制目标资源”或“允许违规重新扫描”选项。
要从策略中删除规则,可单击规则名称前面的“选择”按钮,然后单击“删除”。
单击“添加”追加一个新字段,可使用该字段选择要添加的规则。
在 "Rule Name" 列中,从选项列表中选择其他规则。
图 14–8 显示了“修正者”区域的一部分,可在其中为策略分配级别 1、级别 2 和级别 3 修正者。
使用页面的此区域可以:
为策略删除或分配修正者
调整升级超时时间
通过输入用户 ID 然后单击“添加”,可以选择一个或多个修正级别的修正者。要搜索用户 ID,请单击 ...(更多)。必须至少选择一个修正者。
要删除修正者,请在列表中选择用户 ID,然后单击“删除”。
选择超时值,然后输入新值。默认情况下未设置任何超时值。
如果为选定的最高级别修正者指定了提升超时值,则提升超时时将从列表中删除工作项目。
图 14–9 显示了用于为审计策略指定修正工作流和组织的区域。
使用页面的此区域可以:
更改在发生策略违规时启动的修正工作流
选择修正用户表单规则
调整有权访问此策略的组织
要更改分配给策略的工作流,可在选项列表中选择备用工作流。默认情况下,不向审计策略分配工作流。
如果未向审计策略分配工作流,则将不会向任何修正者分配违规。
在列表中选择修正工作流,然后单击“保存”。
可以选择一条规则,以计算通过修正编辑用户时所应用的用户表单。
调整可使用此审计策略的组织,然后单击“保存”。
Identity Manager 提供了以下示例策略(可从“审计策略”列表中访问这些策略):
IDM 角色比较策略
IDM 帐户累积策略
此示例策略允许您将用户的当前访问权限与 Identity Manager 角色所指定的访问权限进行比较。该策略可确保为用户设置由角色指定的所有资源属性。
此策略在以下情况下将会失败:
用户缺少由角色指定的任何资源属性
用户的资源属性与角色所指定的资源属性不同
此示例策略可验证用户拥有的所有帐户是否至少由该用户所拥有的一个角色引用。
如果分配给用户的角色未明确引用某些资源,而该用户在任一此类资源上拥有帐户,则此策略将会失败。
从 Identity Manager 中删除审计策略时,还会删除所有引用此策略的违规。
当您单击 "Manage Policies" 查看策略时,可从界面的 "Compliance" 区域删除策略。要删除审计策略,请在策略视图中选择策略名称,然后单击“删除”。
通常,对策略规则进行调试是解决审计策略问题的最好方法。
要调试规则,可在规则代码中添加以下跟踪元素。
<block trace=’true’> <and> <contains> <ref>accounts[AD].firstname</ref> <s>Sam</s> </contains> <contains> <ref>accounts[AD].lastname</ref> <s>Smith</s> </contains> </and> </block>
如果在 Identity Manager 界面中看不到工作流,请确认:
您已经在工作流中添加了 subtype=’SUBTYPE_REMEDIATION_WORKFLOW’ 属性。Identity Manager 管理员界面中不显示没有该子类型的工作流。
您具有 authType AuditorAdminTask 的权能。
您可以控制包含工作流的组织。
如果已导入规则,但在审计策略向导中看不到这些规则,请确认:
每个规则都属于 subtype=”SUBTYPE_AUDIT_POLICY_RULE’ 或 subtype=”SUBTYPE_AUDIT_POLICY_SOD_RULE’。
您具有 authType AuditPolicyRule 的权能。
您可以控制包含工作流的组织。
要将审计策略分配给组织,用户必须(至少)具有“分配组织审计策略”权能。要将审计策略分配给用户,该用户必须具有“分配用户审计策略”权能。具有分配审计策略权能的用户同时具有这两种权能。
要分配组织级别的策略,请在“帐户”选项卡上选择“组织”,然后在“分配的审计策略”列表中选择策略。
单击“帐户”区域中的用户。
在用户表单中选择“遵循性”。
在“分配的审计策略”列表中选择策略。
在修正用户违规时,将始终对直接分配给该用户的审计策略(通过用户帐户或组织分配进行分配)进行重新评估。
默认情况下,执行审计任务所需的权能包含在“顶层”组织(对象组)中。因此,只有控制“顶层”组织的管理员才能向其他管理员分配这些权能。
可以通过为其他组织添加权能来解除此限制。Identity Manager 提供了两个帮助执行此任务的实用程序,它们位于 sample/scripts 目录中。
要为“顶层”组织以外的组织添加执行审计任务所需的权能,请执行以下步骤: