Sun Identity Manager 8.1 业务管理员指南

第 6 章 管理

本章介绍在 Identity Manager 系统中执行一系列管理级任务的信息和过程,例如创建和管理 Identity Manager 管理员和组织。此外,本章还介绍了在 Identity Manager 中如何使用角色、权能和管理角色。

按以下主题对信息进行分组:

了解 Identity Manager 管理

Identity Manager 管理员是具有扩展 Identity Manager 权限的用户。

Identity Manager 管理员管理:

与用户不同,为 Identity Manager 中的管理员分配了权能和受控组织,其定义如下所示:

委托管理

在多数公司内,执行管理任务的雇员具有特定职责。因此,这些管理员可以执行的帐户管理任务范围是非常有限的。

例如,管理员可能只负责创建 Identity Manager 用户帐户。由于该职责的范围有限,管理员可能不需要有关用于创建用户帐户的资源或者系统中存在的角色或组织的特定信息。

Identity Manager 还可以将管理员限制为仅执行已定义的特定范围内的特定任务。

Identity Manager 支持如下所示的职责划分和委托管理模型:

设置新用户帐户或编辑用户帐户时,您可以在“创建用户”页中为用户指定委托。

您也可以从“工作项目”选项卡委托工作项目,例如批准请求。有关委托的详细信息,请参见委托工作项目

创建和管理管理员

本节分为以下几个主题:

Procedure创建管理员

要创建管理员,请将一项或多项权能分配给用户,并指定将应用这些权能的组织。

  1. 在管理员界面中,单击菜单栏中的“帐户”。

    将打开“用户列表”页。

  2. 要为现有用户分配管理权限,请单击用户名(将打开“编辑用户”页),然后单击“安全性”选项卡。

    如果需要创建新的用户帐户,请参见创建用户和使用用户帐户

  3. 指定属性以建立管理控制。

    可用属性包括:

    • 权能。选择一个或多个应分配给此管理员的权能。此信息是必填信息。有关详细信息,请参见了解和管理权能

    • 受控组织。选择一个或多个应分配给此管理员的组织。该管理员将控制其分得的组织中以及在分层结构中处于该组织之下的任何组织中的对象。此信息是必填信息。有关详细信息,请参见了解 Identity Manager 组织

    • 用户表单。选择此管理员在创建和编辑 Identity Manager 用户(如果分配了该权能)时将使用的用户表单。如果不直接分配用户表单,管理员将继承已分配给其所属组织的用户表单。此处选定的表单会取代在此管理员组织内选定的任何表单。

    • 转发批准请求至。选择一个用户,以将所有当前暂挂批准请求转发至该用户。还可以从“批准”页进行此管理员设置。

    • 将工作项目委托给。使用此选项指定该用户帐户的委托(如果可用)。您可以指定该管理员的管理者、一个或多个选定的用户,或使用委托批准者规则。

      该图显示了“用户帐户安全”页:指定管理员权限

过滤管理员视图

将用户表单分配给组织和管理员,即可建立用户信息的特定管理员视图。

在两个级别设置对用户信息的访问:

了解和管理权能介绍了您可以分配的内置 Identity Manager 权能。

更改管理员密码

管理员密码可以由分配了管理密码更改权能的管理员进行更改,或由管理员拥有者更改。

管理员可以使用下列表单更改其他管理员的密码:

管理员可从“密码”区域更改自己的密码。在菜单中单击“密码”,然后单击“更改我的密码”。


注 –

应用于帐户的 Identity Manager 帐户策略决定密码限制条件,例如密码到期日期、重设选项和通知选择。其他密码限制条件可以按照在管理员的资源中设置的密码策略设置。


验明管理员操作

可以对 Identity Manager 进行配置,以便在处理某些帐户更改前提示管理员输入密码。如果验证失败,则会取消帐户更改。

管理员可以使用三个表单来更改用户密码。它们分别是:选项卡式用户表单、更改用户密码表单以及重设用户密码表单。要确保管理员必须在 Identity Manager 处理用户帐户更改之前输入其密码,请务必更新所有三个表单。

Procedure为选项卡式用户表单启用质询选项

要在选项卡式用户表单上要求使用密码质询,请执行以下步骤:

  1. 在管理员界面中,通过在浏览器中键入以下 URL 打开 Identity Manager 调试页(Identity Manager 的“调试”页)。(您必须具有“调试”权能才能打开此页面。)

    http://<AppServerHost>:< Port>/idm/debug/session.jsp

    将打开“系统设置”页(Identity Manager 调试页)。

  2. 找到“列出对象”按钮,从下拉菜单中选择“用户表单”,然后单击“列出对象”按钮。

    将打开“列出以下类型的对象:用户表单”页。

  3. 找到在生产中使用的选项卡式用户表单的副本,然后单击“编辑”。(随 Identity Manager 一起分发的选项卡式用户表单是一个模板,不应对其进行修改。)

  4. <Form> 元素中添加以下代码片段:


    <Properties>
      <Property name=’RequiresChallenge’>
        <List>
          <String>password</String>
          <String>email</String>
          <String>fullname</String>
        </List>
      </Property>
    </Properties>

    此属性值是一个列表,可以包含一个或多个以下用户视图属性名称:

    • applications

    • adminRoles

    • assignedLhPolicy

    • capabilities

    • controlledOrganizations

    • email

    • firstname

    • fullname

    • lastname

    • organization

    • password

    • resources

    • roles

  5. 保存所做的更改。

Procedure为更改用户密码表单和重设用户密码表单启用质询选项

要在更改用户密码表单和重设用户密码表单上要求使用密码质询,请执行以下步骤:

  1. 在管理员界面中,通过在浏览器中键入以下 URL 打开 Identity Manager 调试页(Identity Manager 的“调试”页)。(您必须具有“调试”权能才能打开此页面。)

    http://<AppServerHost>:< Port>/idm/debug/session.jsp

    将打开“系统设置”页(Identity Manager 调试页)。

  2. 找到“列出对象”按钮,从下拉菜单中选择“用户表单”,然后单击“列出对象”按钮。

    将打开“列出以下类型的对象:用户表单”页。

  3. 找到在生产中使用的更改密码用户表单的副本,然后单击“编辑”。(随 Identity Manager 一起分发的更改密码用户表单是一个模板,不应对其进行修改。)

  4. 找到 <Form> 元素,然后转到 <Properties> 元素。

  5. <Properties> 元素中添加以下行,然后保存更改。

    <Property name=’RequiresChallenge’ value=’true’/>

  6. 重复执行步骤 3 至步骤 5,但不要编辑在生产中使用的“重设用户密码表单”的副本。

更改验证问题回答

使用“密码”区域更改已经为帐户验证问题设置的回答。在菜单栏中选择“密码”,然后选择“更改我的回答”。

有关验证的详细信息,请参见第 3 章中的用户验证一节。

自定义在“管理员界面”中显示的管理员名称

可以在某些 Identity Manager 管理员界面页和区域中按属性(例如,emailfullname)而不是按帐户 ID 来显示 Identity Manager 管理员。

例如,可以在以下区域中按属性显示 Identity Manager 管理员:

要配置 Identity Manager 以使用显示名称,可将以下内容添加到 UserUIConfig 对象:

<AdminDisplayAttribute>
  <String>attribute_name</String>
</AdminDisplayAttribute>

例如,要使用电子邮件属性作为显示名称,可将以下属性名称添加到 UserUIconfig

<AdminDisplayAttribute>
  <String>email</String>
</AdminDisplayAttribute>

了解 Identity Manager 组织

组织允许您:

通过创建组织并将用户分配到组织分层结构中的不同位置,可以设置委托管理的阶段。包含一个或多个其他组织的组织称为父组织

所有 Identity Manager 用户(包括管理员)都被静态分配给一个组织。用户还可以被动态地分配到其他组织。

将额外分配 Identity Manager 管理员以控制组织。

创建组织

Procedure创建组织

在 Identity Manager 的“帐户”区域中创建组织。

  1. 在管理员界面中,单击菜单栏中的“帐户”。

    将打开“用户列表”页。

  2. 在“新建操作”菜单中,选择“新建组织”。


    提示 –

    要在组织分层结构中的特定位置上创建组织,请在列表中选择一个组织,然后在“新建操作”菜单中选择“新建组织”。


    图 6–1 展示了“创建组织”页。

    图 6–1 “创建组织”页

    该图展示了“创建组织”页

将用户分配给组织

每个用户都是一个组织的静态成员,并且可以是多个组织的动态成员。

可以使用以下任一方法定义组织成员资格:


注 –

有关在 Identity Manager 中创建和使用规则的详细信息,请参见《Sun Identity Manager Deployment Reference》中的第 4  章 “Working with Rules”


在“创建组织”页的“用户成员规则”菜单中选择一个用户成员规则。下图显示了一个用户成员规则示例。

该图显示了“创建组织”下“用户成员规则”的各个选项。

以下示例展示了用于动态控制组织用户成员资格的用户成员规则示例的语法。


注 –

在创建用户成员规则之前,您应该注意以下事项:



示例 6–1 用户成员规则示例

<Rule name=’Get Team Players’ authType=’UserMembersRule’>
  <defvar name=’Team players’>
    <block>
      <defvar name=’player names’>
        <list/>
      </defvar>
  <dolist name=’users’>
    <invoke class=’com.waveset.ui.FormUtil’ name=’getResourceObjects’>
      <ref>context</ref>
      <s>User</s>
      <s>singleton-AD</s>
      <map>
        <s>searchContext</s>
        <s>OU=Pro Ball Team,DC=dev-ad,DC=waveset,DC=com</s>
        <s>searchScope</s>
        <s>subtree</s>
        <s>searchAttrsToGet</s>
        <list>
          <s>distinguishedName</s> 
        </list> 
      </map> 
    </invoke> 
    <append name=’player names’> 
    <concat> 
      <get> 
        <ref>users</ref>
        <s>distinguishedName</s>
      </get>
        <s>:sampson-AD</s>
    </concat>
    </append> 
  </dolist> 
    <ref>player names</ref>
  </block>
   </defvar> 
    <ref>Team players</ref>
</Rule> 


注 –

您可以在 Waveset.properties 中配置一些属性,以控制规则驱动用户成员列表高速缓存,它可能会影响内存和性能。有关信息,请参见《Sun Identity Manager 8.1 System Administrator’s Guide》中的“Tracing Rule-Driven Members Caches”


分配组织控制

从“创建用户”或“编辑用户”页中分配一个或多个组织的管理控制。选择“安全性”表单选项卡以显示“受控组织”字段。

您还可以从“管理员角色”字段分配一个或多个管理员角色,从而分配组织的管理控制。

了解目录连接和虚拟组织

目录连接是与分层相关的一组组织,它镜像目录资源的实际层级容器集合。目录资源通过使用分层容器来使用分层名称空间。目录资源的示例包括 LDAP 服务器和 Windows Active Directory 资源。

目录连接中的每个组织都是虚拟组织。目录连接中的最顶层虚拟组织是代表资源中定义的基本上下文的容器的镜像。目录连接中的其余虚拟组织是顶层虚拟组织的直接间接子组织,并且还镜像目录资源容器中的一个容器(已定义资源的基本环境容器的子容器)。图 6–2 展示了此结构。

图 6–2 Identity Manager 虚拟组织

该图展示了示例 Identity Manager 虚拟组织的结构

目录连接可以在任一点被连接到现有 Identity Manager 组织结构中。但是,目录连接不能连接到现有目录连接之内或之下。

如果已将目录连接添加到 Identity Manager 组织树中,就可以在该目录连接的上下文中创建或删除虚拟组织。此外,您可以随时刷新由目录连接组成的虚拟组织集,以确保虚拟组织集与目录资源容器保持同步。不能在目录连接内创建非虚拟组织。

可以采用与 Identity Manager 组织一样的方法,使 Identity Manager 对象(例如用户、资源和角色)成为虚拟组织的成员,并且可用于虚拟组织。

设置目录连接

本节介绍了如何设置目录连接。

Procedure设置目录连接

  1. 在管理员界面中,选择菜单栏中的“帐户”。

    将打开“用户列表”页。

  2. 在“帐户”列表中选择一个 Identity Manager 组织。

    您选择的组织将是所设置的虚拟组织的父组织。

  3. 在“新建操作”菜单中,选择“新建目录连接”。

    Identity Manager 将打开“创建目录连接”页。

  4. 使用“创建目录连接”页中的选项设置虚拟组织。

    这些选项包括:

    • 父组织。此字段包含从“帐户”列表中选择的组织;但是您也可以从该列表中选择不同的父组织。

    • 目录资源。选择目录资源,该目录资源管理您要在虚拟组织中镜像其目录结构的现有目录。

    • 用户表单。选择要应用于该组织内的管理员的用户表单。

    • Identity Manager 帐户策略。选择一个策略,或者选择默认选项(继承),以继承父组织的策略。

    • 批准者。选择可以批准与此组织相关的请求的管理员。

刷新虚拟组织

此过程从所选组织向下刷新虚拟组织并使之与相关目录资源重新同步。在列表中选择虚拟组织,然后在“组织操作”列表中选择“刷新组织”。

删除虚拟组织

删除虚拟组织时,可以从两个删除选项中选择:

选择其中一个选项,然后单击“删除”。

了解和管理权能

权能是 Identity Manager 系统中的权限组。权能代表管理作业职责(如重设密码或管理用户帐户)。每个 Identity Manager 管理用户都分配有一个或多个权能,这些权能提供了一组权限而不会损害数据保护。

并非所有 Identity Manager 用户都需要分配权能。只有那些要通过 Identity Manager 执行一项或多项管理操作的用户才需要权能。例如,使用户可以更改自己的密码并不需要为用户分配权能,但要更改其他用户的密码就需要分配权能。

分配的权能决定了您可以访问 Identity Manager 管理员界面的哪些区域。

所有 Identity Manager 管理用户都可以访问 Identity Manager 的某些区域,其中包括:


注 –

附录 D中包含 Identity Manager 的默认基于任务的权能和功能性权能(及定义)的列表。该附录还列出了可使用每种基于任务的权能访问的选项卡和子选项卡。


权能类别

Identity Manager 将权能定义为:

内置权能(随 Identity Manager 系统提供的权能)是受保护的权能,即,不能对它们进行编辑。但是,可以在创建的权能中使用它们。

受保护的(内置)权能在列表中以红色钥匙(或红色钥匙和文件夹)图标指示。创建和可编辑的权能在权能列表中以绿色钥匙(或绿色钥匙和文件夹)图标指示。

使用权能

本节介绍如何创建、编辑、分配和重命名权能。这些任务是使用“权能”页执行的。

查看“权能”页

“权能”页位于“安全性”选项卡下面。

Procedure打开“权能”页

  1. 在管理员界面中,单击顶部菜单中的“安全性”。

  2. 单击次级菜单中的“权能”。

    将打开“权能”页并显示 Identity Manager 权能列表。

创建权能

可以使用以下步骤来创建权能。要克隆权能,请参见保存和重命名权能

Procedure创建权能

  1. 在管理员界面中,单击顶部菜单中的“安全性”。

  2. 单击次级菜单中的“权能”。

    将打开“权能”页并显示 Identity Manager 权能列表。

  3. 单击“新建”。

    将打开“创建权能”页。

  4. 按如下方式填写表单:

    1. 命名新权能。

    2. 在“权能”部分中,使用箭头按钮将应分配给用户的权能移动到“已分配的权能”框中。

    3. 在“分配者”框中,选择一个或多个用户,允许这些用户将此权能分配给其他用户。

      • 如果未选择任何用户,则只有可以分配此权能的用户才能创建权能。

      • 如果尚未将“分配用户权能”权能分配给创建权能的用户,则必须选择一个或多个用户,以确保至少一个用户能够将权能分配给其他用户。

    4. 在“组织”框中,选择一个或多个可使用此权能的组织。

    5. 单击“保存”。


      注 –

      可供您选择分配者的一组用户是已经分配了“分配权能”权限的用户。


编辑权能

您可以编辑未受保护的权能。

Procedure编辑未受保护的权能

  1. 在管理员界面中,单击顶部菜单中的“安全性”。

  2. 单击次级菜单中的“权能”。

    将打开“权能”页并显示 Identity Manager 权能列表。

  3. 右键单击列表中的一个权能,然后选择“编辑”。将打开“编辑权能”页。

  4. 进行相应的更改,然后单击“保存”。

    您无法编辑内置权能。不过,可以将这些权能保存为不同的名称,以创建您自己的权能。也可以在您创建的权能中使用内置权能。

保存和重命名权能

可通过将现有权能保存为新名称创建新的权能。此过程称为克隆权能。

Procedure克隆权能

  1. 在管理员界面中,单击顶部菜单中的“安全性”。

  2. 单击次级菜单中的“权能”。

    将打开“权能”页并显示 Identity Manager 权能列表。

  3. 右键单击列表中的一个权能,然后选择“另存为”。

    将打开一个对话框,并要求您键入新权能的名称。

  4. 键入一个名称,然后单击“确定”。

    您可以立即编辑新权能。

为用户分配权能

可以使用“创建用户”页(创建用户和使用用户帐户)或“编辑用户”页(编辑用户)为用户分配权能。还可以通过分配管理员角色(通过界面中的“安全性”区域设置),将权能分配给用户。有关详细信息,请参见了解和管理管理员角色


注 –

附录 D中包含 Identity Manager 的默认基于任务的权能和功能性权能(及定义)的列表。该附录还列出了可使用每种基于任务的权能访问的选项卡和子选项卡。


了解和管理管理员角色

管理员角色定义了以下两项内容:一组权能和一个控制范围。(术语控制范围是指一个或多个受管理的组织。)在定义管理员角色后,即可将其分配给一个或多个管理员。


注 –

不要将角色管理员角色相混淆。角色用于管理最终用户对外部资源的访问权限,而管理员角色主要用于管理 Identity Manager 管理员对 Identity Manager 对象的访问权限。

本节中介绍的信息仅限于管理员角色。有关角色的信息,请参见了解和管理角色


可以将多个管理员角色分配给单个管理员。这可使管理员在一个控制范围内具有一组权能,而在另一个控制范围内具有另外一组权能。例如,某个管理员角色可能会向管理员授予为该管理员角色中指定的受控组织创建和编辑用户的权限。不过,分配给同一管理员的第二个管理员角色可能仅授予以下权限:在该管理员角色定义的另一组受控组织中更改用户密码。

通过使用管理员角色,可以重复使用权能和控制范围对。管理员角色还简化了包含大量用户的环境中的管理员权限管理工作。应使用管理员角色授予管理员权限,而不是直接将权能和受控组织分配给各个用户。

可以直接或动态(间接)地将权能和/或组织分配给管理员角色。

可以为每个登录界面(例如用户界面或管理员界面)启用或禁用将管理员角色动态分配给用户的操作。要执行此操作,请将以下系统配置属性设置为 truefalse

security.authz.checkDynamicallyAssignedAdminRolesAtLoginTo.logininterface

所有界面的默认值为 false

有关编辑系统配置对象的说明,请参见编辑 Identity Manager 配置对象

管理员角色规则

Identity Manager 提供了可用于为管理员角色创建规则的示例规则。您可以在 Identity Manager 安装目录的 sample/adminRoleRules.xml 中找到这些规则。

表 6–1 提供了这些规则名称以及必须为每个规则指定的 authType

表 6–1 管理员角色示例规则

规则名称  

authType

受控组织规则 

ControlledOrganizationsRule

权能规则 

CapabilitiesRule

向用户分配管理员角色规则 

UserIsAssignedAdminRoleRule


注 –

有关为服务提供者用户管理员角色提供的示例规则的信息,请参见第 17 章中的服务提供者用户的委托管理


用户管理员角色

Identity Manager 中包括名为“用户管理员角色”的内置管理员角色。默认情况下,该管理员角色不具有任何分配的权能或受控组织分配。无法将其删除。在登录时,此管理员角色将被隐含分配给所有用户(最终用户和管理员),而不管用户登录到何种界面(例如用户界面、管理员界面、控制台或 Identity Manager IDE)。


注 –

有关为服务提供者用户创建管理员角色的信息,请参见第 17 章中的服务提供者用户的委托管理


可以通过管理员界面编辑用户管理员角色(选择“安全性”,然后再选择“管理员角色”)。

因为通过这种管理员角色静态分配的所有权能或受控组织都将分配给所有用户,所以建议通过规则来分配权能和受控组织。这会使不同的用户能够拥有不同的权能或没有权能,分配范围将取决于用户身份、所属部门或是否为管理人员,可以在规则的上下文中查询这些信息。

用户管理员角色不会使工作流中使用的 authorized=true 标志过时,也不会取而代之。对于工作流(正在执行的工作流除外)所访问的对象,如果用户不拥有访问权限,这种标志将仍然适用。这本质上是使用户可以进入以超级用户身份运行模式。

不过,在某些情况下,用户应对工作流外的一个或多个对象拥有特定访问权限(并且可能对工作流内的一个或多个对象拥有这种权限)。在这些情况下,通过使用规则动态分配权能和受控组织可以实现对这些对象进行细化授权。

创建和编辑管理员角色

要创建或编辑管理员角色,您必须分配有“管理员角色管理员”权能。

要在管理员界面中访问管理员角色,请单击“安全性”,然后单击“管理员角色”选项卡。“管理员角色”列表页允许您为 Identity Manager 用户和服务提供者用户创建、编辑和删除管理员角色。

要编辑现有管理员角色,请单击列表中的名称。单击“新建”以创建管理员角色。Identity Manager 将显示“创建管理员角色”的各个选项(如图 6–3 中所示)。“创建管理员角色”视图显示了四个选项卡,您可以使用这些选项卡指定常规属性、权能和新管理员角色的范围以及向用户的角色分配。

图 6–3 管理员角色创建页:“常规”选项卡

该图展示了示例“创建管理员角色”视图

“常规”选项卡

使用创建管理员角色或编辑管理员角色视图中的“常规”选项卡可指定管理员角色的以下基本特性:


注 –

有关创建管理员角色以向服务提供者用户授予访问权限的信息,请参见第 17 章中的服务提供者用户的委托管理


控制范围

Identity Manager 允许您控制哪些用户在最终用户的控制范围之内。

使用“控制范围”选项卡(如图 6–4 中所示)可指定此组织的成员可管理的组织,也可以指定用于确定由管理员角色用户管理的组织的规则,以及选择管理员角色的用户表单。

图 6–4 创建管理员角色:控制范围

该图展示了“控制范围”选项卡

为管理员角色分配权能

分配给管理员角色的权能将确定已分配管理员角色的用户所具有的管理权限。例如,此管理员角色可能被限制为仅为管理员角色的受控组织创建用户。这种情况下,可以分配创建用户权能。

在“权能”选项卡中,请选择以下选项:

将用户表单分配给管理员角色

您可为某个管理员角色的成员指定用户表单。使用创建管理员角色或编辑管理员角色视图中的 "Assign To Users" 选项卡可指定分配。

分配了管理员角色的管理员在该管理员角色所控制的组织中创建或编辑用户时,将会使用此用户表单。通过管理员角色分配的用户表单将覆盖从该管理员所在组织继承的任何用户表单。该用户表单不会覆盖直接分配给该管理员的用户表单。

将按以下优先级顺序来决定编辑用户时使用的用户表单:

如果为该管理员分配了多个管理员角色,这些角色控制相同的组织,但指定不同的用户表单,则在管理员尝试创建或编辑这些组织中的用户时会显示错误消息。如果管理员尝试分配两个或多个管理员角色,这些角色控制相同的组织,但指定不同的用户表单,则会显示错误消息。如果未解决此冲突,则不能保存变更。

最终用户组织

“最终用户”组织为管理员提供了一种简便方法,以便将某些对象(如资源和角色)提供给最终用户。最终用户可以使用最终用户界面(登录到 Identity Manager 最终用户界面)查看指定的对象,并且还可能会将这些对象分配给自己(暂挂批准进程)。


注 –

最终用户组织是在 Identity Manager 7.1.1 版中引入的。

以前,要为最终用户授予对 Identity Manager 配置对象(如角色、资源和任务等)的访问权限,管理员必须编辑配置对象并使用最终用户任务、最终用户资源和最终用户 authType。

今后,Sun 建议使用“最终用户”组织为最终用户提供 Identity Manager 配置对象的访问权限。


“最终用户”组织是由所有用户隐式控制的,使用户能够查看几种对象类型,包括任务、规则、角色和资源。不过,该组织最初没有成员对象。

“最终用户”组织是 Top 的成员,其中不能包含子组织。此外,“最终用户”组织不会显示在“帐户”页列表中。但是,在编辑对象(如角色、管理员角色、资源、策略和任务等)时,您可以使用管理员用户界面为“最终用户”组织提供任何对象。

当最终用户登录到最终用户界面时,将会出现以下情况:

最终用户受控组织规则

最终用户受控组织规则的输入参数是验证用户的视图。Identity Manager 希望该规则返回一个或多个组织,登录到最终用户界面的用户将控制这些组织。Identity Manager 希望该规则返回字符串(对于单个组织)或列表(对于多个组织)。

要管理这些对象,用户需要“最终用户管理员”权能。分配了“最终用户管理员”权能的用户可以查看和修改最终用户受控组织规则的内容。这些用户还可以查看和修改在“最终用户”权能中指定的对象类型。

默认情况下,“最终用户管理员”权能将分配给配置器用户。对于最终用户受控组织规则评估返回的列表或组织,所做的任何更改不会动态反映给已登录的用户。这些用户必须先登出,然后再重新登录才能看到这些更改。

如果最终用户受控组织规则返回一个无效的组织(例如,在 Identity Manager 中不存在的组织),则会在系统日志中记录该问题。要更正此问题,请登录到管理员用户界面并修复此规则。

管理工作项目

某些在 Identity Manager 中由任务生成的工作流进程可以创建操作项目或工作项目。这些工作项目可能是分配给 Identity Manager 帐户的批准请求或某些其他操作请求。

Identity Manager 将对界面“工作项目”区域中的所有工作项目进行分组,使您可以查看一个位置的所有暂挂请求并对其做出响应。

工作项目类型

工作项目可能属于以下类型之一:

要查看每种工作项目类型的暂挂工作项目,请在菜单中单击“工作项目”。


注 –

如果您是暂挂工作项目(或委托工作项目)的工作项目所有者,则在您登录 Identity Manager 用户界面时将显示“工作项目”列表。


使用工作项目请求

要对工作项目请求做出响应,请在界面的“工作项目”区域中单击工作项目类型之一。从请求列表中选择项目,然后单击用于指示您要执行操作的按钮之一。这些工作项目选项因工作项目类型而异。

有关对请求做出响应的详细信息,请参见以下主题:

查看工作项目历史

可以使用“工作项目”区域中的“历史”选项卡查看以前的工作项目操作的结果。

图 6–5 显示了工作项目历史的示例视图。

图 6–5 工作项目历史视图

该图显示了示例工作项目历史

委托工作项目

工作项目拥有者可以通过将工作项目委托给其他用户一段指定的时间来管理工作负荷。从主菜单中,您可以使用“工作项目”->“委托我的工作项目”页将未来的工作项目(如批准请求)委托给一个或多个用户(受托者)。用户无需批准者权能即可成为受托者。


注 –

委托功能仅适用于未来的工作项目。必须通过转发功能选择性地转发现有项目(列于“我的工作项目”之下)。


您可以从其他页中委托工作项目:

在有效委托期内,受托者可以代表工作项目所有者批准工作项目。委托的工作项目包括受托者的姓名。

任何用户都可以为其将来的工作项目创建一个或多个委托。可编辑用户的管理员也可以代表该用户创建委托。不过,如果该用户无法委托给某个人,则管理员也无法委托给该人员。(就委托而言,管理员的控制范围与其进行委托时所代表的用户相同。)

审计日志条目

在批准或拒绝委托的工作项目时,审计日志条目将列出委托者的姓名。当创建或修改用户时,对用户委托批准者信息的更改将记录到审计日志条目的详细更改区域中。

查看当前委托

可以在“当前委托”页上查看委托。

Procedure查看当前委托

  1. 在管理员界面中,单击主菜单中的“工作项目”。

  2. 单击次级菜单中的“委托我的工作项目”。

    Identity Manager 将显示“当前委托”页,可以在其中查看和编辑当前有效的委托。

查看以前的委托

可以在“先前的委托”页上查看先前的委托。

Procedure查看先前的委托

  1. 在管理员界面中,单击主菜单中的“工作项目”。

  2. 单击次级菜单中的“委托我的工作项目”。

    将打开“当前委托”页。

  3. 单击“前一个”。

    将打开“先前的委托”页。可以使用先前委托的工作项目来设置新的委托。

创建委托

可以使用“新建委托”页来创建委托。

Procedure创建委托

  1. 在管理员界面中,单击主菜单中的“工作项目”。

  2. 单击“委托我的工作项目”。

    将打开“当前委托”页。

  3. 单击“新建”。

    将打开“新建委托”页。

  4. 按如下方式填写表单:

    1. 从“选择要委托的工作项目类型”选择列表中,选择一种工作项目类型。要委托所有工作项目,请选择“所有工作项目类型”。

      如果要委托角色类型、组织或资源工作项目,请使用箭头将选择内容从可用列移动到已选定列,以指定用于定义此委托的特定角色、组织或资源。

    2. 将工作项目委托给。

      请选择以下任一选项:

      • 选定用户。选择此选项可以搜索您的控制范围内要成为受托者的用户(按姓名)。如果任一选定的受托者已委托其工作项目,则您将来的工作项目请求将委托给该受托者的受托者。

      • 在“已选定用户”区域中选择一个或多个用户。或者,单击“从搜索中添加”以打开搜索功能并搜索用户。单击“添加”将找到的用户添加到列表中。要从此列表中删除受托者,请选择该受托者,然后单击“删除”。

        • 我的管理员。选择此选项可以将工作项目委托给您的管理员(如果已分配)。

        • 委托工作项目规则。选择可返回 Identity Manager 用户名列表的规则,您可以将选定的工作项目类型委托给这些用户。

    3. 开始日期。选择工作项目委托开始的日期。默认情况下,选定的日期从 12:01 a.m. 开始。

    4. 结束日期。选择工作项目委托结束的日期。默认情况下,选定的日期在 11:59 p.m. 结束。


      注 –

      如果将工作项目委托一天,则可以将开始日期和结束日期选在同一天。


    5. 单击“确定”可保存所做的选择,并返回到等待批准的工作项目列表。


      注 –

      在设置委托后,在有效委托期内创建的所有工作项目都会添加到受托者列表中。如果结束委托或委托时间段到期,则会将委托的工作项目重新添加到您的列表中。这可能会导致您的列表中包含重复的工作项目。不过,在批准或拒绝某个工作项目时,将会自动从您的列表中删除重复的项目。


委托给删除的用户

在删除拥有任何暂挂工作项目的用户时,Identity Manager 的工作方式如下所示:

结束委托

可以从“当前委托”页中结束一个或多个委托。

Procedure结束一个或多个委托

  1. 在管理员界面中,单击主菜单中的“工作项目”。

  2. 单击次级菜单中的“委托我的工作项目”。

    将打开“当前委托”页。

  3. 选择一个或多个要结束的委托,然后单击“结束”。

    Identity Manager 删除选定的委托配置,然后向您的暂挂工作项目列表返回任何选定类型的委托工作项目。

批准用户帐户

在将用户添加到 Identity Manager 系统后,指定为新帐户批准者的管理员必须对帐户创建进行验证。

Identity Manager 支持三种类别的批准:

此外,如果启用了更改批准,并且对角色进行了更改,则会将更改批准工作项目发送至指定的角色所有者。

Identity Manager 支持通过角色定义进行更改批准。如果管理员更改了角色定义,则需要指定的角色所有者进行更改批准。角色所有者必须批准该工作项目才能进行更改。


注 –

设置帐户批准者

为组织、角色和资源批准设置帐户批准者是可选的,但建议进行此类设置。对于在其中设置批准者的每个类别,帐户创建至少都需要一个批准。如果一个批准者拒绝批准请求,则不会创建帐户。

可以将多个批准者分配给各个类别。因为一个类别内只需要一个批准,所以可设置多个批准者,以帮助确保不会延迟或停止工作流。如果一个批准者不可用,则其他批准者可用于处理请求。批准仅适用于帐户创建。默认情况下,帐户的更新和删除不需要批准。不过,您可以自定义此过程以要求进行批准。

可以通过使用 Identity Manager IDE 自定义工作流,以更改批准、捕获帐户删除以及捕获更新的流程。

有关 Identity Manager IDE 的信息,请访问 https://identitymanager.dev.java.net。有关工作流的信息以及更改批准工作流的说明示例,请参见《Sun Identity Manager Deployment Reference》中的第 1  章 “Workflow”

Identity Manager 批准者可以批准或拒绝批准请求。

管理员可以在 Identity Manager 界面的“工作项目”区域中查看和管理暂挂批准。在“工作项目”页中,单击我的工作项目以查看暂挂批准。单击批准选项卡以管理批准。

对批准签名

要使用数字签名批准工作项目,您必须先按配置数字签名的批准和操作中所述设置数字签名。

Procedure对批准进行签名

  1. 在 Identity Manager 管理员界面中,选择工作项目

  2. 单击批准选项卡。

  3. 从列表中选择一个或多个批准。

  4. 输入批准的注释,然后单击 Approve

    Identity Manager 会给出提示,并询问您是否信任该 applet。

  5. 单击 Always

    Identity Manager 将显示一个含有日期的批准摘要。

  6. 输入密钥库位置,或者单击浏览以找到密钥库位置。(在配置签名的批准期间设置此位置,如使用 PKCS12 为签名的批准启用服务器端配置过程中的步骤 10m 所述。)

  7. 输入密钥库密码(在配置签名的批准期间设置此密码,如使用 PKCS12 为签名的批准启用服务器端配置过程中的步骤 10l 所述)。

  8. 单击签名以批准请求。

对后续批准签名

对某个批准签名之后,只需输入密钥库密码,然后单击 Sign,即可执行后续批准操作。(Identity Manager 将通过先前的批准记忆密钥库的位置。)

配置数字签名的批准和操作

可以使用以下信息和过程来设置数字签名。可以对以下项目进行数字签名:

本节讨论的主题说明了将证书和 CRL 添加到 Identity Manager 以获得签名批准所需的服务器端和客户端配置。

Procedure为签名的批准启用服务器端配置

  1. 打开系统配置对象以进行编辑并设置 security.nonrepudiation.signedApprovals=true

    有关编辑系统配置对象的说明,请参见编辑 Identity Manager 配置对象

    如果使用的是 PKCS11,您还必须设置 security.nonrepudiation.defaultKeystoreType=PKCS11

    如果使用的是自定义 PKCS11 密钥提供程序,您还必须设置 security.nonrepudiation.defaultPKCS11KeyProvider=您的提供程序名称


    注 –

    有关何时需要编写自定义提供程序的详细信息,请参阅 REF(Resource Extension Facility,资源扩充工具)工具包中的以下项目:


    com.sun.idm.ui.web.applet.transactionsigner.DefaultPKCS11KeyProvider (Javadoc)
    REF/transactionsigner/SamplePKCS11KeyProvider

    REF(Resource Extension Facility,资源扩充工具)工具包是在产品 CD 上的 /REF 目录中提供的,或者是随安装映像提供的。


  2. 将证书颁发机构 (Certificate Authority, CA) 的证书添加为信任证书。为此,必须首先获得证书的副本。

    例如,如果要使用 Microsoft CA,请按类似以下的步骤操作:

    1. 转至 http://IPAddress/certsrv,然后通过管理权限登录。

    2. 选择 Retrieve the CA certificate or certificate revocation list,然后单击 Next

    3. 下载并保存 CA 证书。

  3. 将证书作为信任证书添加到 Identity Manager 中:

    1. 从管理员界面中选择安全性,然后选择证书。Identity Manager 将显示“证书”页。

      图 6–6 “证书”页

      该图展示了示例“证书”页

    2. 在“信任 CA 证书”区域中,单击添加。Identity Manager 将显示“导入证书”页。

    3. 浏览到信任证书后将其选中,然后单击 Import

      证书将立即显示在信任证书列表中。

  4. 添加 CA 的证书撤销列表 (Certificate Revocation List, CRL):

    1. 在 Certificates 页的 CRLs 区域中单击 Add

    2. 输入 CA CRL 的 URL。


      注 –
      • 证书撤销列表 (Certificate Revocation List, CRL) 是已被撤销或无效的证书序列号的列表。

      • CA CRL 的 URL 可以是 http 或 LDAP。

      • 对于每个 CA,从中分发 CRL 的 URL 都各不相同,可以通过浏览 CA 证书的 CRL 分发点扩展部分来确定其 URL。


  5. 单击测试连接验证 URL。

  6. 单击保存

  7. 使用 jarsigner 对 applets/ts2.jar 签名。


    注 –

    有关详细信息,请访问 http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/jarsigner.html。Identity Manager 附带的 ts2.jar 文件使用自签名证书来签名,不应将其用于生产系统。在生产中,应使用由信任 CA 颁发的代码签名证书重新对此文件签名。


Procedure使用 PKCS12 为签名的批准启用服务器端配置

以下配置信息适用于使用 PKCS12 获得的签名批准。先获取证书和专用密钥,然后将其导出到 PKCS#12 密钥库中。例如,如果要使用 Microsoft CA,请按类似以下的步骤操作:

开始之前

Identity Manager 现在至少需要使用 JRE 1.5。

  1. 使用 Internet Explorer 浏览到 http://IPAddress /certsrv,然后通过管理权限登录。

  2. 选择“请求证书”,然后单击“下一步”。

  3. 选择“高级请求”,然后单击“下一步”。

  4. 单击“下一步”。

  5. 选择 "User for Certificate Template"。

  6. 选择以下选项:

    1. 编辑密钥为可导出。

    2. 启用强密钥保护。

    3. 使用本地机器存储。

  7. 单击“提交”,然后单击“确定”。

  8. 单击“安装此证书”。

  9. 选择“运行”-> "mmc" 以启动 mmc。

  10. 添加证书插件:

    1. 选择“控制台”->“添加/删除插件”。

    2. 单击“添加”。

    3. 选择计算机帐户。

    4. 单击“下一步”,然后单击“完成”。

    5. 单击“关闭”。

    6. 单击“确定”。

    7. 转至“证书”->“个人”->“证书”。

    8. 右键单击“管理员所有任务”->“导出”。

    9. 单击“下一步”。

    10. 单击“下一步”确认导出专用密钥。

    11. 单击“下一步”。

    12. 输入密码,然后单击“下一步”。

    13. 文件 CertificateLocation

    14. 单击“下一步”,然后单击“完成”。单击“确定”进行确认。


      注 –

      请注意在客户端配置的步骤 10l(密码)和步骤 10m(证书位置)中使用的信息。您将需要此信息来对批准签名。


Procedure使用 PKCS11 为签名的批准启用客户端配置

如果将 PKCS11 用于签名的批准

  1. 请参阅 REF 工具包中的以下资源以了解配置信息:


    com.sun.idm.ui.web.applet.transactionsigner.DefaultPKCS11KeyProvider (Javadoc)
    REF/transactionsigner/SamplePKCS11KeyProvider

    REF(Resource Extension Facility,资源扩充工具)工具包是在产品 CD 上的 /REF 目录中提供的,或者是随安装映像提供的。

查看事务签名

本节介绍了用于查看 Identity Manager 审计日志报告中的事务签名的过程。

Procedure查看事务签名

  1. 在 Identity Manager 管理员界面中,选择报告

  2. 在“运行报告”页中,从新建选项列表中选择审计日志报告

  3. 报告标题字段中输入标题(如“批准”)。

  4. 组织选择区域中,选择所有组织。

  5. 选择操作选项,然后选择批准

  6. 单击 Save 保存报告并返回至 Run Reports 页。

  7. 单击 Run 运行批准报告。

  8. 单击详细信息链接查看事务签名信息。

    事务签名信息可以包含以下内容:

    • 颁发者

    • 主题

    • 证书序列号

    • 已签名的消息

    • 签名

    • 签名算法

配置 XMLDSIG 格式的签名批准

Identity Manager 允许将 XMLDSIG 格式的签名批准(包括 RFC 3161 兼容的数字时间戳)添加到 Identity Manager 批准进程中。在将 Identity Manager 配置为使用 XMLDSIG 签名批准时,不会向批准者显示任何更改,除非他们在审计日志中查看该批准。仅更改了审计日志记录中存储的签名批准的格式。

与 Identity Manager 中以前的签名批准一样,将在客户端计算机上启动一个 applet,并向批准者显示要签名的批准信息。然后,批准者选择用于对批准进行签名的密钥库和密钥。

在批准者对批准进行签名后,将创建一个包含该批准数据的 XMLDSIG 文档。此文档将返回到服务器,该服务器会验证 XMLDSIG 签名文档。如果验证成功,并且配置了 RFC 3161 数字时间戳,则还会为此文档生成数字时间戳。将检查从时间戳服务中心 (Timestamp Authority, TSA) 检索的时间戳是否有错误,并验证其证书。最后,如果验证成功,Identity Manager 将生成一个审计日志记录,它在 XML 二进制大对象列中包含 XMLDSIG 格式的签名批准对象。

批准数据格式

XMLDSIG 格式的批准对象的格式如下所示:

<XMLSignedData signedContent="...base64 transaction text ...">
   <XMLSignature>
      <TSATimestamp>
         ...The base64 encoded PKCS7 timestamp token returned by the TSA...
      </TSATimestamp
      <Signature>
        <SignedInfo>...XMLDSIG stuff...</SignedInfo>
        <SignatureValue>...base64 signature value</SignatureValue>
        <KeyInfo>...cert info for signer</KeyInfo>
      </Signature>
   </XMLSignature>
</XMLSignedData>

其中:

该 XMLDSIG 文件存储在审计日志批准记录的 XML 列中。

安装和设置

使用 XMLDSIG 签名批准的安装和设置要求与 为签名的批准启用服务器端配置中介绍的要求相同,但还增加了一个步骤。除了对 ts2.jar 文件进行签名以外,还必须对 xmlsec-1.4.2.jar 文件进行签名。

批准配置

可以使用系统配置属性执行以下操作:

要编辑这些属性,请使用 Identity Manager 调试页编辑系统配置对象。这些属性以及其他签名批准属性均位于 security.nonrepudiation 下面。

XMLDSIG 属性包括:


注 –