Sun Identity Manager 8.1 业务管理员指南

第 14 章 审计:审计策略

本章介绍了如何使用审计策略向导创建、编辑、删除和分配审计策略。

在本章中,您可以了解以下概念和任务:

使用审计策略

要创建审计策略,请使用 Identity Manager 审计策略向导。在定义审计策略后,可随后对策略执行各种操作,例如修改或删除策略。

审计策略规则

审计策略规则定义了特定违规。策略规则可以包含使用 XPRESS 语言、XML 对象语言或 JavaScript 语言编写的函数。

可以使用审计策略向导来创建简单规则,也可以使用 Identity Manager IDE 或 XML 编辑器创建功能更强大的规则。

使用审计策略向导创建的规则将返回值 truefalse。返回值 true 的策略规则将导致策略违规。不过,可以使用 Identity Manager IDE 创建一个规则,以便在审计扫描或访问查看期间跳过某个用户。返回值 ignore 的审计策略规则将停止该用户的规则处理,并跳到下一个目标用户。

有关创建审计策略规则的信息,请参见《Sun Identity Manager Deployment Reference》中的第 4  章 “Working with Rules”

创建审计策略

要创建审计策略,请使用审计策略向导。

Procedure打开审计策略向导

“审计策略向导”可指导您完成创建审计策略的过程。可以使用以下步骤访问该向导:

  1. 登录到管理员界面(登录到 Identity Manager 最终用户界面)。

  2. 单击“遵循性”选项卡。

    将打开“管理策略”子选项卡或菜单。

  3. 要创建新的审计策略,请单击“新建”。

创建审计策略:概述

您可使用此向导执行以下任务,以创建审计策略:

完成每个向导屏幕中显示的任务后,单击“下一步”移至下一步骤。

准备工作

在创建审计策略之前,一定要仔细进行规划!在开始之前,请确保完成以下任务:

Procedure确定所需规则

您在策略中指定的限制会在您创建或导入的规则集中实现。在使用审计策略向导创建规则时,请执行以下步骤:

  1. 确定要使用的特定资源。

  2. 从资源的有效属性列表中选择帐户属性。

  3. 选择要对属性施加的条件。

  4. 输入用于比较的值。

    有关在审计策略向导之外创建审计策略规则的信息,请参见《Sun Identity Manager Deployment Reference》中的第 4  章 “Working with Rules”

(可选)将任务划分规则导入到 Identity Manager 中

“审计策略向导”无法创建任务划分规则。必须在 Identity Manager 的外部构建这些规则,并使用“配置”选项卡上的“导入交换文件”选项导入这些规则。

(可选)将工作流导入到 Identity Manager 中

Procedure导入外部工作流

要使用 Identity Manager 中当前不可用的修正工作流,请导入外部工作流。您可以使用 XML 编辑器或 Identity Manager IDE 来创建自定义工作流。

  1. 设置 authType=’AuditorAdminTask’ 并添加 subtype=’SUBTYPE_REMEDIATION_WORKFLOW’。您可以选择使用 Identity Manager IDE 或 XML 编辑器设置这些配置对象。

  2. 使用“导入交换文件”选项导入工作流。

    1. 登录到管理员界面(登录到 Identity Manager 最终用户界面)。

    2. 单击“配置”选项卡,然后单击“导入交换文件”子选项卡或菜单。

      将打开“导入交换文件”页。

    3. 浏览到要上载的工作流文件,然后单击“导入”。

      在成功导入工作流后,它将显示在审计策略向导(创建审计策略)的“修正工作流”选项列表中。

命名和描述审计策略

在审计策略向导(如图 14–1 中所示)中输入新策略的名称及其简要描述。

图 14–1 审计策略向导:输入名称和描述屏幕

该图显示了“审计策略向导”屏幕


注 –

审计策略名称不能包含以下字符:'(撇号)、.(句点)、|(管道符号)、[(左括号)、](右括号)、,(逗号)、:(冒号)、$(美元符号)、"(双引号)、\(反斜杠)或 =(等号)。

还应避免使用以下字符:_(下划线)、%(百分号)、^(插入符号)和 *(星号)。


如果只希望在执行扫描时访问选定的资源,请选择“限制目标资源”选项。

如果希望在违规修正后立即重新扫描用户,请选择“允许违规重新扫描”选项。


注 –

如果审计策略不限制资源,则在扫描期间将访问用户具有帐户的所有资源。如果这些规则仅使用少数资源,则将策略限定为这些资源会更有效。


单击“下一步”进入下一页。

Procedure选择规则类型

使用此页面可以开始定义规则或将规则包含在策略中。(创建策略时您的大部分工作是定义和创建规则。)

正如下图中所示,可以选择使用 Identity Manager 规则向导创建自己的规则,也可以并入现有的规则。规则向导仅允许在每项规则中使用一个资源。导入的规则可根据需要引用多个资源。

该图显示了审计策略规则向导
  1. 确定是要创建新规则还是使用现有规则。

    请选择以下任一选项:

    • 要创建新规则,请选择“规则向导”选项(默认设置)。

    • 要并入使用 Identity Manager IDE 创建的现有规则,请选择“现有规则”选项。

  2. 单击“下一步”。

  3. 根据步骤 1 中选择的内容,继续执行以下某个小节中的操作:

选择现有规则

要在新策略中包含现有规则,请在“选择规则类型”屏幕上选择“现有规则”,然后单击“下一步”。接下来,从“选择现有规则”下拉菜单中选择一个现有审计策略规则。


注 –

如果看不到先前已导入到 Identity Manager 中的规则的名称,请确认您已在规则中添加了使用审计策略规则创建策略中描述的附加属性。

单击“下一步”。

跳到添加规则一节。


使用规则向导创建新规则

如果选择通过审计策略向导中的“规则向导”选项创建规则,请在以下各节所述的页面上输入信息。

命名和描述新规则

可以选择命名并描述新规则。使用此页面可输入描述性文本,每当 Identity Manager 显示规则时,这些描述性文本就会显示在该规则名称旁边。请输入简洁易懂且能够描述规则的描述。此描述显示在 Identity Manager 的“查看策略违规”页中。

图 14–2 审计策略向导:输入规则描述屏幕

该图展示了如何命名和描述新规则

例如,如果要创建一条规则,用以确定 Oracle ERP responsibilityKey 属性值同时为 Payable UserReceivable User 的用户,则可在“描述”字段中输入以下文本:确定同时具有应付款用户和应收款用户职责的用户

使用“注释”字段提供有关规则的任何其他信息。

选择规则引用的资源

使用此页面可以选择规则要引用的资源。每个规则变量必须对应于此资源的一个属性。您有权查看的所有资源将显示在此选项列表中。在此例中,选择 Oracle ERP。

图 14–3 审计策略向导:选择资源屏幕

该图展示了如何选择资源以引用规则


注 –

支持每个可用资源适配器的大多数(不是全部)属性。有关可用的特定属性的信息,请参见《Sun Identity Manager 8.1 Resources Reference》


单击“下一步”移至下一页。

创建规则表达式

使用此屏幕输入新规则的规则表达式。此示例创建一条规则,在该规则中,用户的 Oracle ERP responsibilityKey 属性值不能同时为 Payable UserReceivable User 属性值。

Procedure创建规则表达式

  1. 从可用属性列表中选择用户属性。此属性将直接对应于规则变量。

  2. 从列表中选择逻辑条件。有效条件包括 =(等于)、!=(不等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、is true、is null、is not null、is empty 和 contains。针对此示例的用途,您可以在可能的属性条件列表中选择 contains

  3. 输入表达式的值。例如,如果输入 Payable user,则指定了 responsibilityKeys 属性值为 Payable user 的 Oracle ERP 用户。

  4. (可选)单击 ANDOR 运算符添加另一行并创建另一个表达式。

    图 14–4 审计策略向导:选择规则表达式屏幕

    该图显示了审计策略向导中的选择规则表达式屏幕

    此规则返回一个布尔值。如果两个语句都为真,则策略规则返回 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>

    要从规则中删除表达式,请选中属性条件,然后单击“删除”。

    单击“下一步”继续使用审计策略向导。可通过添加现有规则或再次使用向导来添加更多规则。

添加规则

可通过导入现有规则或使用向导来创建其他规则。(有关详细信息,请参见选择规则类型。)

根据需要,单击 ANDOR 运算符继续添加规则。要删除规则,请选择规则,然后单击“删除”。

仅在所有规则的布尔表达式均评估为 true 时,才发生策略违规。使用 AND/OR 运算符将规则分组后,即使所有的规则均未评估为 true,策略也可能评估为 true。Identity Manager 仅在规则评估为 true,且策略表达式也评估为 true 时,才创建违规。


注 –

Identity Manager 不支持规则嵌套控制。此外,如果使用审计策略向导创建在规则之间使用不同布尔运算符的策略,可能会产生无法预测的结果,原因是未指定评估顺序。

对于复杂的规则表达式,请使用 XML 编辑器创建规则(而不是使用审计策略向导)。通过使用 XML 编辑器,您可以在必要时否定创建的内容,从而仅在规则之间使用单个布尔运算符。


选择修正工作流

使用此屏幕选择要与此策略关联的“修正”工作流。此处分配的工作流确定检测到审计策略违规时在 Identity Manager 中执行的操作。


注 –

将为每个失败的审计策略启动一个工作流。对于由特定策略的策略扫描所创建的每个遵循性违规,每个工作流都将包含一个或多个工作项目。


图 14–5 审计策略向导:选择修正工作流屏幕

该图显示了审计策略向导中的选择修正工作流屏幕


注 –

有关导入通过 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–6 审计策略向导:选择级别 1 修正者区域

该图显示了审计策略向导中的选择级别 1 修正者区域屏幕

选择可访问此策略的组织

可以使用该屏幕(如图 14–7 中所示)选择可查看和编辑此策略的组织。

图 14–7 审计策略向导:分配组织可视性屏幕

该图显示了审计策略向导中的分配组织可视性屏幕

选择组织后,单击“完成”可创建审计策略并返回到“管理策略”页。现在此列表中将显示新创建的策略。

编辑审计策略

审计策略的普通编辑任务包括:

编辑策略页

单击“审计策略”名称列中的策略名称,以打开“编辑审计策略”页。此页将审计策略信息归类到以下区域:

使用页面的此区域可以:


注 –

不能使用此产品直接编辑现有规则。可以使用 Identity Manager IDE 或 XML 编辑器编辑规则,然后将其导入到 Identity Manager 中。然后即可删除上一版本,并添加新修订的版本。


编辑审计策略描述

通过选择“描述”字段中的文本然后输入新文本,可以编辑审计策略描述。

编辑选项

可随意选择或取消选择“限制目标资源”或“允许违规重新扫描”选项。

从策略中删除规则

要从策略中删除规则,可单击规则名称前面的“选择”按钮,然后单击“删除”。

向策略中添加规则

单击“添加”追加一个新字段,可使用该字段选择要添加的规则。

更改策略使用的规则

在 "Rule Name" 列中,从选项列表中选择其他规则。

修正者区域

图 14–8 显示了“修正者”区域的一部分,可在其中为策略分配级别 1、级别 2 和级别 3 修正者。

图 14–8 “编辑审计策略”页:分配修正者

该图显示了“编辑审计策略”页的“分配修正者”区域

使用页面的此区域可以:

删除或分配修正者

通过输入用户 ID 然后单击“添加”,可以选择一个或多个修正级别的修正者。要搜索用户 ID,请单击 ...(更多)。必须至少选择一个修正者。

要删除修正者,请在列表中选择用户 ID,然后单击“删除”。

调整提升超时时间

选择超时值,然后输入新值。默认情况下未设置任何超时值。


注 –

如果为选定的最高级别修正者指定了提升超时值,则提升超时时将从列表中删除工作项目。


修正工作流和组织区域

图 14–9 显示了用于为审计策略指定修正工作流和组织的区域。

图 14–9 “编辑审计策略”页:修正工作流和组织

该图显示了“编辑审计策略”页的修正工作流和组织区域

使用页面的此区域可以:

更改修正工作流

要更改分配给策略的工作流,可在选项列表中选择备用工作流。默认情况下,不向审计策略分配工作流。


注 –

如果未向审计策略分配工作流,则将不会向任何修正者分配违规。


在列表中选择修正工作流,然后单击“保存”。

选择修正用户表单规则

可以选择一条规则,以计算通过修正编辑用户时所应用的用户表单。

分配或删除组织可视性

调整可使用此审计策略的组织,然后单击“保存”。

示例策略

Identity Manager 提供了以下示例策略(可从“审计策略”列表中访问这些策略):

IDM 角色比较策略

此示例策略允许您将用户的当前访问权限与 Identity Manager 角色所指定的访问权限进行比较。该策略可确保为用户设置由角色指定的所有资源属性。

此策略在以下情况下将会失败:

IDM 帐户累积策略

此示例策略可验证用户拥有的所有帐户是否至少由该用户所拥有的一个角色引用。

如果分配给用户的角色未明确引用某些资源,而该用户在任一此类资源上拥有帐户,则此策略将会失败。

删除审计策略

从 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>

分配审计策略

要将审计策略分配给组织,用户必须(至少)具有“分配组织审计策略”权能。要将审计策略分配给用户,该用户必须具有“分配用户审计策略”权能。具有分配审计策略权能的用户同时具有这两种权能。

要分配组织级别的策略,请在“帐户”选项卡上选择“组织”,然后在“分配的审计策略”列表中选择策略。

Procedure分配用户级别的策略

  1. 单击“帐户”区域中的用户。

  2. 在用户表单中选择“遵循性”。

  3. 在“分配的审计策略”列表中选择策略。


    注 –

    在修正用户违规时,将始终对直接分配给该用户的审计策略(通过用户帐户或组织分配进行分配)进行重新评估。


解除审计者权能限制

默认情况下,执行审计任务所需的权能包含在“顶层”组织(对象组)中。因此,只有控制“顶层”组织的管理员才能向其他管理员分配这些权能。

可以通过为其他组织添加权能来解除此限制。Identity Manager 提供了两个帮助执行此任务的实用程序,它们位于 sample/scripts 目录中。

Procedure添加权能

要为“顶层”组织以外的组织添加执行审计任务所需的权能,请执行以下步骤:

  1. 运行以下命令以列出所有权能(管理组)及其关联组织(对象组):


    beanshell objectGroupUpdate.bsh -type AdminGroup -action list -csv

    此命令可捕获使用逗号分隔值 (Comma-Separated Value, CSV) 格式的文件的输出。

  2. 编辑 CSV 文件,根据需要调整权能在组织分层结构中的位置。

  3. 运行以下命令以更新 Identity Manager。


    beanshell objectGroupUpdate.bsh -data CSVFileName -action add -groups NewObjectGroup