本章介绍在 Identity Manager 系统中执行一系列管理级任务的信息和过程,例如创建和管理 Identity Manager 管理员和组织。此外,本章还介绍了在 Identity Manager 中如何使用角色、权能和管理角色。
按以下主题对信息进行分组:
Identity Manager 管理员是具有扩展 Identity Manager 权限的用户。
Identity Manager 管理员管理:
用户帐户
系统对象,例如角色和资源
组织
与用户不同,为 Identity Manager 中的管理员分配了权能和受控组织,其定义如下所示:
权能。授予对 Identity Manager 用户、组织、角色及资源访问权限的一组权限。
受控组织。分配了控制组织的权限后,该管理员就可以管理该组织中以及分层结构中该组织之下的任何组织中的对象。
在多数公司内,执行管理任务的雇员具有特定职责。因此,这些管理员可以执行的帐户管理任务范围是非常有限的。
例如,管理员可能只负责创建 Identity Manager 用户帐户。由于该职责的范围有限,管理员可能不需要有关用于创建用户帐户的资源或者系统中存在的角色或组织的特定信息。
Identity Manager 还可以将管理员限制为仅执行已定义的特定范围内的特定任务。
Identity Manager 支持如下所示的职责划分和委托管理模型:
分配的权能将管理员限制为仅履行特定工作职责
分配的受控组织将管理员限制为仅控制特定组织(以及这些组织中的对象)
“创建用户”和“编辑用户”页的过滤视图可防止管理员查看与其工作职责无关的信息
设置新用户帐户或编辑用户帐户时,您可以在“创建用户”页中为用户指定委托。
您也可以从“工作项目”选项卡委托工作项目,例如批准请求。有关委托的详细信息,请参见委托工作项目。
本节分为以下几个主题:
要创建管理员,请将一项或多项权能分配给用户,并指定将应用这些权能的组织。
在管理员界面中,单击菜单栏中的“帐户”。
将打开“用户列表”页。
要为现有用户分配管理权限,请单击用户名(将打开“编辑用户”页),然后单击“安全性”选项卡。
如果需要创建新的用户帐户,请参见创建用户和使用用户帐户。
指定属性以建立管理控制。
可用属性包括:
权能。选择一个或多个应分配给此管理员的权能。此信息是必填信息。有关详细信息,请参见了解和管理权能。
受控组织。选择一个或多个应分配给此管理员的组织。该管理员将控制其分得的组织中以及在分层结构中处于该组织之下的任何组织中的对象。此信息是必填信息。有关详细信息,请参见了解 Identity Manager 组织。
用户表单。选择此管理员在创建和编辑 Identity Manager 用户(如果分配了该权能)时将使用的用户表单。如果不直接分配用户表单,管理员将继承已分配给其所属组织的用户表单。此处选定的表单会取代在此管理员组织内选定的任何表单。
转发批准请求至。选择一个用户,以将所有当前暂挂批准请求转发至该用户。还可以从“批准”页进行此管理员设置。
将工作项目委托给。使用此选项指定该用户帐户的委托(如果可用)。您可以指定该管理员的管理者、一个或多个选定的用户,或使用委托批准者规则。
将用户表单分配给组织和管理员,即可建立用户信息的特定管理员视图。
在两个级别设置对用户信息的访问:
组织。创建组织时,您可以分配该组织内的所有管理员在创建和编辑 Identity Manager 用户时将使用的用户表单。任何在管理员级设置的表单都会覆盖在此设置的表单。如果没有为管理员或组织选择表单,Identity Manager 会继承为父组织选择的表单。如果未在父组织设置表单,Identity Manager 会使用在系统配置中设置的默认表单。
管理员。分配用户管理权能时,可以将用户表单直接分配给管理员。如果未分配表单,管理员会继承分配给其组织的表单(或者,在没有为该组织设置表单时继承在系统配置中设置的默认表单)。
了解和管理权能介绍了您可以分配的内置 Identity Manager 权能。
管理员密码可以由分配了管理密码更改权能的管理员进行更改,或由管理员拥有者更改。
管理员可以使用下列表单更改其他管理员的密码:
更改用户密码表单。可以使用两种方法打开该表单:
在菜单中单击“帐户”。将打开“用户列表”。选择一个管理员,然后在“用户操作”列表中选择“更改密码”。将打开“更改用户密码”页。
在菜单中单击“密码”。将打开“更改用户密码”页。
选项卡式用户表单。在菜单中单击“帐户”。将打开“用户列表”。选择一个管理员,然后在“用户操作”菜单中选择“编辑”。将打开“编辑用户”页(选项卡式用户表单)。在“身份”表单选项卡上,在“密码”和“确认密码”字段中键入新密码。
管理员可从“密码”区域更改自己的密码。在菜单中单击“密码”,然后单击“更改我的密码”。
应用于帐户的 Identity Manager 帐户策略决定密码限制条件,例如密码到期日期、重设选项和通知选择。其他密码限制条件可以按照在管理员的资源中设置的密码策略设置。
可以对 Identity Manager 进行配置,以便在处理某些帐户更改前提示管理员输入密码。如果验证失败,则会取消帐户更改。
管理员可以使用三个表单来更改用户密码。它们分别是:选项卡式用户表单、更改用户密码表单以及重设用户密码表单。要确保管理员必须在 Identity Manager 处理用户帐户更改之前输入其密码,请务必更新所有三个表单。
要在选项卡式用户表单上要求使用密码质询,请执行以下步骤:
在管理员界面中,通过在浏览器中键入以下 URL 打开 Identity Manager 调试页(Identity Manager 的“调试”页)。(您必须具有“调试”权能才能打开此页面。)
http://<AppServerHost>:< Port>/idm/debug/session.jsp
将打开“系统设置”页(Identity Manager 调试页)。
找到“列出对象”按钮,从下拉菜单中选择“用户表单”,然后单击“列出对象”按钮。
将打开“列出以下类型的对象:用户表单”页。
找到在生产中使用的选项卡式用户表单的副本,然后单击“编辑”。(随 Identity Manager 一起分发的选项卡式用户表单是一个模板,不应对其进行修改。)
在 <Form> 元素中添加以下代码片段:
<Properties> <Property name=’RequiresChallenge’> <List> <String>password</String> <String>email</String> <String>fullname</String> </List> </Property> </Properties> |
此属性值是一个列表,可以包含一个或多个以下用户视图属性名称:
applications
adminRoles
assignedLhPolicy
capabilities
controlledOrganizations
firstname
fullname
lastname
organization
password
resources
roles
保存所做的更改。
要在更改用户密码表单和重设用户密码表单上要求使用密码质询,请执行以下步骤:
在管理员界面中,通过在浏览器中键入以下 URL 打开 Identity Manager 调试页(Identity Manager 的“调试”页)。(您必须具有“调试”权能才能打开此页面。)
http://<AppServerHost>:< Port>/idm/debug/session.jsp
将打开“系统设置”页(Identity Manager 调试页)。
找到“列出对象”按钮,从下拉菜单中选择“用户表单”,然后单击“列出对象”按钮。
将打开“列出以下类型的对象:用户表单”页。
找到在生产中使用的更改密码用户表单的副本,然后单击“编辑”。(随 Identity Manager 一起分发的更改密码用户表单是一个模板,不应对其进行修改。)
找到 <Form> 元素,然后转到 <Properties> 元素。
在 <Properties> 元素中添加以下行,然后保存更改。
<Property name=’RequiresChallenge’ value=’true’/>
重复执行步骤 3 至步骤 5,但不要编辑在生产中使用的“重设用户密码表单”的副本。
使用“密码”区域更改已经为帐户验证问题设置的回答。在菜单栏中选择“密码”,然后选择“更改我的回答”。
可以在某些 Identity Manager 管理员界面页和区域中按属性(例如,email 或 fullname)而不是按帐户 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 管理员以控制组织。
在 Identity Manager 的“帐户”区域中创建组织。
在管理员界面中,单击菜单栏中的“帐户”。
将打开“用户列表”页。
在“新建操作”菜单中,选择“新建组织”。
要在组织分层结构中的特定位置上创建组织,请在列表中选择一个组织,然后在“新建操作”菜单中选择“新建组织”。
图 6–1 展示了“创建组织”页。
每个用户都是一个组织的静态成员,并且可以是多个组织的动态成员。
可以使用以下任一方法定义组织成员资格:
直接(静态)分配。在“创建用户”或“编辑用户”页中选择“身份”表单选项卡,以将用户直接分配给组织。用户必须被直接分配给一个组织。
规则驱动(动态)分配。使用分配给组织的用户成员规则将用户分配给该组织。在评估该规则时,将返回一组成员用户。
Identity Manager 将在以下情况下评估用户成员规则:
列出组织中的用户
查找用户(通过“查找用户”页),包括搜索具有某个用户成员规则的组织中的用户
请求访问用户,但前提是当前管理员控制具有用户成员规则的组织
有关在 Identity Manager 中创建和使用规则的详细信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。
在“创建组织”页的“用户成员规则”菜单中选择一个用户成员规则。下图显示了一个用户成员规则示例。
以下示例展示了用于动态控制组织用户成员资格的用户成员规则示例的语法。
在创建用户成员规则之前,您应该注意以下事项:
要在“用户成员规则”选项框中显示某个规则,必须将其 authType 设置为 authType=’UserMembersRule’。
该上下文是目前已验证的 Identity Manager 用户的会话。
已定义的变量 (defvar) Team players 为属于 Windows Active Directory 组织单位 (Organization Unit, ou) Pro Ball Team 成员的每位用户获取标识名 (Distinguished Name, dn)。
对于找到的每位用户,附加逻辑会将 Pro Ball Team ou 中每位成员用户的 dn 与前缀为冒号的 Identity Manager 资源的名称(例如 :smith-AD)连接在一起。
返回的结果将是与 Identity Manager 资源名称连接的 dn 的列表,格式为 dn :smith-AD。
<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 展示了此结构。
目录连接可以在任一点被连接到现有 Identity Manager 组织结构中。但是,目录连接不能连接到现有目录连接之内或之下。
如果已将目录连接添加到 Identity Manager 组织树中,就可以在该目录连接的上下文中创建或删除虚拟组织。此外,您可以随时刷新由目录连接组成的虚拟组织集,以确保虚拟组织集与目录资源容器保持同步。不能在目录连接内创建非虚拟组织。
可以采用与 Identity Manager 组织一样的方法,使 Identity Manager 对象(例如用户、资源和角色)成为虚拟组织的成员,并且可用于虚拟组织。
本节介绍了如何设置目录连接。
在管理员界面中,选择菜单栏中的“帐户”。
将打开“用户列表”页。
在“帐户”列表中选择一个 Identity Manager 组织。
您选择的组织将是所设置的虚拟组织的父组织。
在“新建操作”菜单中,选择“新建目录连接”。
Identity Manager 将打开“创建目录连接”页。
使用“创建目录连接”页中的选项设置虚拟组织。
这些选项包括:
父组织。此字段包含从“帐户”列表中选择的组织;但是您也可以从该列表中选择不同的父组织。
目录资源。选择目录资源,该目录资源管理您要在虚拟组织中镜像其目录结构的现有目录。
用户表单。选择要应用于该组织内的管理员的用户表单。
Identity Manager 帐户策略。选择一个策略,或者选择默认选项(继承),以继承父组织的策略。
批准者。选择可以批准与此组织相关的请求的管理员。
此过程从所选组织向下刷新虚拟组织并使之与相关目录资源重新同步。在列表中选择虚拟组织,然后在“组织操作”列表中选择“刷新组织”。
删除虚拟组织时,可以从两个删除选项中选择:
仅删除 Identity Manager 组织。仅删除 Identity Manager 目录连接。
删除 Identity Manager 组织和资源容器。删除 Identity Manager 目录连接和本机资源上的相应组织。
选择其中一个选项,然后单击“删除”。
权能是 Identity Manager 系统中的权限组。权能代表管理作业职责(如重设密码或管理用户帐户)。每个 Identity Manager 管理用户都分配有一个或多个权能,这些权能提供了一组权限而不会损害数据保护。
并非所有 Identity Manager 用户都需要分配权能。只有那些要通过 Identity Manager 执行一项或多项管理操作的用户才需要权能。例如,使用户可以更改自己的密码并不需要为用户分配权能,但要更改其他用户的密码就需要分配权能。
分配的权能决定了您可以访问 Identity Manager 管理员界面的哪些区域。
所有 Identity Manager 管理用户都可以访问 Identity Manager 的某些区域,其中包括:
主页和帮助选项卡
密码选项卡(仅限“更改我的密码”和“更改我的回答”子选项卡)
报告(仅限于与管理员的特定职责有关的类型)
附录 D中包含 Identity Manager 的默认基于任务的权能和功能性权能(及定义)的列表。该附录还列出了可使用每种基于任务的权能访问的选项卡和子选项卡。
Identity Manager 将权能定义为:
基于任务。这些是处于最简单的任务级别的权能。
功能性。功能性权能包含一项或多项其他功能性或基于任务的权能。
内置权能(随 Identity Manager 系统提供的权能)是受保护的权能,即,不能对它们进行编辑。但是,可以在创建的权能中使用它们。
受保护的(内置)权能在列表中以红色钥匙(或红色钥匙和文件夹)图标指示。创建和可编辑的权能在权能列表中以绿色钥匙(或绿色钥匙和文件夹)图标指示。
本节介绍如何创建、编辑、分配和重命名权能。这些任务是使用“权能”页执行的。
“权能”页位于“安全性”选项卡下面。
可以使用以下步骤来创建权能。要克隆权能,请参见保存和重命名权能。
在管理员界面中,单击顶部菜单中的“安全性”。
单击次级菜单中的“权能”。
将打开“权能”页并显示 Identity Manager 权能列表。
单击“新建”。
将打开“创建权能”页。
按如下方式填写表单:
您可以编辑未受保护的权能。
在管理员界面中,单击顶部菜单中的“安全性”。
单击次级菜单中的“权能”。
将打开“权能”页并显示 Identity Manager 权能列表。
右键单击列表中的一个权能,然后选择“编辑”。将打开“编辑权能”页。
进行相应的更改,然后单击“保存”。
您无法编辑内置权能。不过,可以将这些权能保存为不同的名称,以创建您自己的权能。也可以在您创建的权能中使用内置权能。
可通过将现有权能保存为新名称创建新的权能。此过程称为克隆权能。
在管理员界面中,单击顶部菜单中的“安全性”。
单击次级菜单中的“权能”。
将打开“权能”页并显示 Identity Manager 权能列表。
右键单击列表中的一个权能,然后选择“另存为”。
将打开一个对话框,并要求您键入新权能的名称。
键入一个名称,然后单击“确定”。
您可以立即编辑新权能。
可以使用“创建用户”页(创建用户和使用用户帐户)或“编辑用户”页(编辑用户)为用户分配权能。还可以通过分配管理员角色(通过界面中的“安全性”区域设置),将权能分配给用户。有关详细信息,请参见了解和管理管理员角色。
附录 D中包含 Identity Manager 的默认基于任务的权能和功能性权能(及定义)的列表。该附录还列出了可使用每种基于任务的权能访问的选项卡和子选项卡。
管理员角色定义了以下两项内容:一组权能和一个控制范围。(术语控制范围是指一个或多个受管理的组织。)在定义管理员角色后,即可将其分配给一个或多个管理员。
不要将角色和管理员角色相混淆。角色用于管理最终用户对外部资源的访问权限,而管理员角色主要用于管理 Identity Manager 管理员对 Identity Manager 对象的访问权限。
本节中介绍的信息仅限于管理员角色。有关角色的信息,请参见了解和管理角色。
可以将多个管理员角色分配给单个管理员。这可使管理员在一个控制范围内具有一组权能,而在另一个控制范围内具有另外一组权能。例如,某个管理员角色可能会向管理员授予为该管理员角色中指定的受控组织创建和编辑用户的权限。不过,分配给同一管理员的第二个管理员角色可能仅授予以下权限:在该管理员角色定义的另一组受控组织中更改用户密码。
通过使用管理员角色,可以重复使用权能和控制范围对。管理员角色还简化了包含大量用户的环境中的管理员权限管理工作。应使用管理员角色授予管理员权限,而不是直接将权能和受控组织分配给各个用户。
可以直接或动态(间接)地将权能和/或组织分配给管理员角色。
直接。使用此方法可以将权能和/或受控组织明确分配给管理员角色。例如,可以将用户报告管理员权能和受控组织 Top 分配给某个管理员角色。
动态(间接)。此方法使用规则来分配权能和受控组织。每次分配了管理员角色的管理员登录时,都会评估这些规则。在管理员通过验证后,这些规则将动态地确定分配哪些权能和/或受控组织。
例如,当用户登录时:
如果其 Active Directory (Active Directory, AD) 用户角色为管理员,则权能规则可能返回“帐户管理员”作为要分配的权能。
如果其 Active Directory (Active Directory, AD) 用户部门为营销部,则受控组织规则可能返回“营销部”作为要分配的受控组织。
可以为每个登录界面(例如用户界面或管理员界面)启用或禁用将管理员角色动态分配给用户的操作。要执行此操作,请将以下系统配置属性设置为 true 或 false:
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 中所示)。“创建管理员角色”视图显示了四个选项卡,您可以使用这些选项卡指定常规属性、权能和新管理员角色的范围以及向用户的角色分配。
使用创建管理员角色或编辑管理员角色视图中的“常规”选项卡可指定管理员角色的以下基本特性:
名称。此管理员角色的唯一名称。
例如,您可能要为对财务部(或组织)中的用户具有管理权能的用户创建财务管理员角色。
类型。选择“身份对象”或“服务提供者用户”作为类型。此字段为必填字段。
如果为 Identity Manager 用户(或对象)创建管理员角色,请选择“身份对象”。如果创建管理员角色以向服务提供商用户授予访问权限,请选择“服务提供者用户”。
有关创建管理员角色以向服务提供者用户授予访问权限的信息,请参见第 17 章中的服务提供者用户的委托管理。
分配者。选择或搜索允许其将此管理员角色分配给其他用户的用户。可供您选择的一组用户包括已经分配了“分配权能”权限的用户。
如果未选择任何用户,则唯一可以分配此管理员角色的用户为该管理员角色的创建者。如果尚未将“分配用户权能”权能分配给创建管理员角色的用户,请选择一个或多个用户作为分配者,以确保至少一个用户能够将管理员角色分配给其他用户。
组织。选择可使用此管理员角色的一个或多个组织。此字段为必填字段。
该管理员可管理已分配组织以及在分层结构中处于该组织之下的任何组织中的对象。
Identity Manager 允许您控制哪些用户在最终用户的控制范围之内。
使用“控制范围”选项卡(如图 6–4 中所示)可指定此组织的成员可管理的组织,也可以指定用于确定由管理员角色用户管理的组织的规则,以及选择管理员角色的用户表单。
受控组织。从“可用组织”列表中选择此管理员角色有权管理的组织。
受控组织规则。选择在用户登录时评估的规则,以确定由分配了此管理员角色的用户所控制的组织的个数(零个或多个)。选定的规则必须具有 ControlledOrganizationsRule authType。默认情况下,将选择 "No Controlled Organization Rule"。
可以根据组织需要,使用 EndUserControlledOrganizations 规则来定义所需的逻辑,以确保为委托提供正确的用户集。
如果希望管理员的用户范围列表始终相同(无论他们登录到管理员界面还是最终用户界面),则必须更改 EndUserControlledOrganizations 规则。
修改此规则,使其首先检查验证用户是否为管理员,然后再配置以下内容:
如果该用户不是管理员,则返回应由最终用户控制的组织集,如用户自己的组织(如 waveset.organization)。
如果该用户是管理员,则不返回任何组织,这样用户将只控制已分配的组织(因为用户是管理员)。
例如:
<Rule protectedFromDelete=’true’ authType=’EndUserControlledOrganizationsRule’ id=’#ID#End User Controlled Organizations’ name=’End User Controlled Organizations’> <Comments> If the user logging in is not an Idm administrator, then return the organization that they are a member of. Otherwise, return null. </Comments> <cond> <and> <isnull><ref>waveset.adminRoles</ref></isnull> <isnull><ref>waveset.capabilities</ref></isnull> <isnull><ref>waveset.controlledOrganizations</ref></isnull> </and> <ref>waveset.organization</ref> </cond> <MemberObjectGroups> <ObjectRef type=’ObjectGroup’ id=’#ID#Top’ name=’Top’/> </MemberObjectGroups> </Rule> |
如果用户或管理员属于动态组织,则不会在搜索结果中返回他们。
不过,您可以创建规则以返回动态组织中的用户。通过在 Idm 模式配置对象中定义的 Identity Manager 用户模式定义中添加新属性来更改以下示例规则,导入该对象,然后重新启动 Identity Manager 服务器。
<IDMAttributeConfigurations> ... <IDMAttributeConfiguration name='region' syntax='STRING' description='region of the country'/> </IDMAttributeConfigurations> <IDMObjectClassConfigurations> ... <IDMObjectClassConfiguration name='User' extends='Principal' description='User description'> ... <IDMObjectClassAttributeConfiguration name='region' queryable='true'/> </IDMObjectClassConfiguration> </IDMObjectClassConfigurations> Next, import the following Identity Manager objects: <!-- User member rule that will include all users whose region attribute matches the region organization display name --> <Rule name="Region User Member Rule" authType="UserMembersRule"> <Description>User Member Rule</Description> <list> <new class='com.waveset.object.AttributeCondition'> <s>region</s> <s>equals</s> <ref>userMemberRuleOrganizationDisplayName</ref> </new> </list> <MemberObjectGroups> <ObjectRef type="ObjectGroup" id="#ID#All" name="All"/> </MemberObjectGroups> </Rule> <!-- North & South Region organizations with user member rule assigned --> <ObjectGroup id='#ID#North Region' name='North Region' displayName='North Region'> <UserMembersRule cacheTimeout='3600000'> <ObjectRef type='Rule' name='Region User Member Rule'/> </UserMembersRule> <MemberObjectGroups> <ObjectRef type='ObjectGroup' name='Top' id='#ID#Top'/> </MemberObjectGroups> </ObjectGroup> <ObjectGroup id='#ID#South Region' name='South Region' displayName='South Region'> <UserMembersRule cacheTimeout='3600000'> <ObjectRef type='Rule' name='Region User Member Rule'/> </UserMembersRule> <MemberObjectGroups> <ObjectRef type='ObjectGroup' name='Top' id='#ID#Top'/> </MemberObjectGroups> </ObjectGroup> <!-- Organization containing all employees --> <ObjectGroup id='#ID#Employees' name='Employees' displayName='Employees'> <MemberObjectGroups> <ObjectRef type='ObjectGroup' name='Top' id='#ID#Top'/> </MemberObjectGroups> </ObjectGroup> <!-- End user controlled organization rule that give each user control of the regional organization they are a member of --> <Rule protectedFromDelete='true' authType='EndUserControlledOrganizationsRule' id='#ID#End User Controlled Organizations' name='End User Controlled Organizations' primaryObjectClass='Rule'> <switch> <ref>waveset.attributes.region</ref> <case> <s>North Region</s> <s>North Region</s> </case> <case> <s>South Region</s> <s>South Region</s> </case> <case> <s>East Region</s> <s>East Region</s> </case> <case> <s>West Region</s> <s>West Region</s> </case> </switch> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/> </MemberObjectGroups> </Rule> <!-- 4 employees (2 in North and 2 in South region) --> <User name='emp1' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee One'/> <Attribute name='lastname' type='string' value='One'/> <Attribute name='region' type='string' value='North Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> <User name='emp2' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee Two'/> <Attribute name='lastname' type='string' value='Two'/> <Attribute name='region' type='string' value='North Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> <User name='emp4' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee Four'/> <Attribute name='lastname' type='string' value='Four'/> <Attribute name='region' type='string' value='South Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> <User name='emp5' primaryObjectClass='User' asciipassword='1111'> <Attribute name='firstname' type='string' value='Employee'/> <Attribute name='fullname' type='string' value='Employee Five'/> <Attribute name='lastname' type='string' value='Five'/> <Attribute name='region' type='string' value='South Region'/> <MemberObjectGroups> <ObjectRef type='ObjectGroup' id='#ID#Employees' name='Employees' displayName='Employees'/> </MemberObjectGroups> </User> |
接下来,通过 Identity Manager 最终用户界面以 emp1(位于北部地区)身份登录。选择“委托”->“新建”。将搜索->提供条件更改为开头为,将该值更改为 emp,然后选择“查找”。进行此选择将会在可用用户列表中返回 emp2。
受控组织用户表单。选择分配了此管理员角色的用户在创建或编辑属于此管理员角色受控组织的用户时使用的用户表单。默认情况下,不会选择任何“受控组织用户表单”。
通过管理员角色分配的用户表单将覆盖从该管理员所在组织继承的任何用户表单。不会覆盖直接分配给该管理员的用户表单。
分配给管理员角色的权能将确定已分配管理员角色的用户所具有的管理权限。例如,此管理员角色可能被限制为仅为管理员角色的受控组织创建用户。这种情况下,可以分配创建用户权能。
在“权能”选项卡中,请选择以下选项:
权能。这些为管理员角色的用户对其受控组织所具有的特定权能(管理权限)。从可用权能列表中选择一个或多个权能,并将其移动到“已分配的权能”列表。
权能规则。选择在用户登录时评估的规则,以确定向分配了管理员角色的用户授予的权能(零个或多个)的列表。选定的规则必须具有 CapabilitiesRule authType。
您可为某个管理员角色的成员指定用户表单。使用创建管理员角色或编辑管理员角色视图中的 "Assign To Users" 选项卡可指定分配。
分配了管理员角色的管理员在该管理员角色所控制的组织中创建或编辑用户时,将会使用此用户表单。通过管理员角色分配的用户表单将覆盖从该管理员所在组织继承的任何用户表单。该用户表单不会覆盖直接分配给该管理员的用户表单。
将按以下优先级顺序来决定编辑用户时使用的用户表单:
如果用户表单是直接分配给该管理员的,则使用该表单。
如果没有直接为管理员分配用户表单,但为管理员分配了管理员角色,且该管理员角色控制管理员创建或编辑的用户所属的组织并指定了一个用户表单,则使用该用户表单。
如果没有直接为管理员分配用户表单,也没有通过管理员角色间接为其分配用户表单,则使用分配给该管理员的成员组织的用户表单(优先顺序从管理员的成员组织开始,直到 Top 的下一级)。
如果管理员的成员组织没有分配用户表单,则使用默认用户表单。
如果为该管理员分配了多个管理员角色,这些角色控制相同的组织,但指定不同的用户表单,则在管理员尝试创建或编辑这些组织中的用户时会显示错误消息。如果管理员尝试分配两个或多个管理员角色,这些角色控制相同的组织,但指定不同的用户表单,则会显示错误消息。如果未解决此冲突,则不能保存变更。
“最终用户”组织为管理员提供了一种简便方法,以便将某些对象(如资源和角色)提供给最终用户。最终用户可以使用最终用户界面(登录到 Identity Manager 最终用户界面)查看指定的对象,并且还可能会将这些对象分配给自己(暂挂批准进程)。
最终用户组织是在 Identity Manager 7.1.1 版中引入的。
以前,要为最终用户授予对 Identity Manager 配置对象(如角色、资源和任务等)的访问权限,管理员必须编辑配置对象并使用最终用户任务、最终用户资源和最终用户 authType。
今后,Sun 建议使用“最终用户”组织为最终用户提供 Identity Manager 配置对象的访问权限。
“最终用户”组织是由所有用户隐式控制的,使用户能够查看几种对象类型,包括任务、规则、角色和资源。不过,该组织最初没有成员对象。
“最终用户”组织是 Top 的成员,其中不能包含子组织。此外,“最终用户”组织不会显示在“帐户”页列表中。但是,在编辑对象(如角色、管理员角色、资源、策略和任务等)时,您可以使用管理员用户界面为“最终用户”组织提供任何对象。
当最终用户登录到最终用户界面时,将会出现以下情况:
最终用户将被授予对最终用户组织 (ObjectGroup) 的控制权限。
Identity Manager 评估内置的最终用户受控组织规则,该规则自动为用户授予对规则所返回的任何组织名称的控制权限。(此规则是在 Identity Manager 7.1.1 版中添加的。有关详细信息,请参见最终用户受控组织规则一节。)
最终用户将被授予在最终用户权能中指定的对象类型的权限。
最终用户受控组织规则的输入参数是验证用户的视图。Identity Manager 希望该规则返回一个或多个组织,登录到最终用户界面的用户将控制这些组织。Identity Manager 希望该规则返回字符串(对于单个组织)或列表(对于多个组织)。
要管理这些对象,用户需要“最终用户管理员”权能。分配了“最终用户管理员”权能的用户可以查看和修改最终用户受控组织规则的内容。这些用户还可以查看和修改在“最终用户”权能中指定的对象类型。
默认情况下,“最终用户管理员”权能将分配给配置器用户。对于最终用户受控组织规则评估返回的列表或组织,所做的任何更改不会动态反映给已登录的用户。这些用户必须先登出,然后再重新登录才能看到这些更改。
如果最终用户受控组织规则返回一个无效的组织(例如,在 Identity Manager 中不存在的组织),则会在系统日志中记录该问题。要更正此问题,请登录到管理员用户界面并修复此规则。
某些在 Identity Manager 中由任务生成的工作流进程可以创建操作项目或工作项目。这些工作项目可能是分配给 Identity Manager 帐户的批准请求或某些其他操作请求。
Identity Manager 将对界面“工作项目”区域中的所有工作项目进行分组,使您可以查看一个位置的所有暂挂请求并对其做出响应。
工作项目可能属于以下类型之一:
批准。新帐户或对帐户进行更改的批准请求。
证明。查看和批准用户权利的请求。
修正。修正或缓解用户帐户策略违规的请求。
其他。除任何一种标准类型之外的操作项目请求。这可能是从自定义的工作流生成的操作请求。
要查看每种工作项目类型的暂挂工作项目,请在菜单中单击“工作项目”。
如果您是暂挂工作项目(或委托工作项目)的工作项目所有者,则在您登录 Identity Manager 用户界面时将显示“工作项目”列表。
要对工作项目请求做出响应,请在界面的“工作项目”区域中单击工作项目类型之一。从请求列表中选择项目,然后单击用于指示您要执行操作的按钮之一。这些工作项目选项因工作项目类型而异。
有关对请求做出响应的详细信息,请参见以下主题:
可以使用“工作项目”区域中的“历史”选项卡查看以前的工作项目操作的结果。
图 6–5 显示了工作项目历史的示例视图。
工作项目拥有者可以通过将工作项目委托给其他用户一段指定的时间来管理工作负荷。从主菜单中,您可以使用“工作项目”->“委托我的工作项目”页将未来的工作项目(如批准请求)委托给一个或多个用户(受托者)。用户无需批准者权能即可成为受托者。
委托功能仅适用于未来的工作项目。必须通过转发功能选择性地转发现有项目(列于“我的工作项目”之下)。
您可以从其他页中委托工作项目:
在管理员界面中,您可以在“创建用户”和“编辑用户”页(“用户”页(创建/编辑/查看))中委托工作项目。单击“委托”表单选项卡。
在最终用户用户界面(Identity Manager 最终用户界面)中,用户可以单击“委托”菜单项。
在有效委托期内,受托者可以代表工作项目所有者批准工作项目。委托的工作项目包括受托者的姓名。
任何用户都可以为其将来的工作项目创建一个或多个委托。可编辑用户的管理员也可以代表该用户创建委托。不过,如果该用户无法委托给某个人,则管理员也无法委托给该人员。(就委托而言,管理员的控制范围与其进行委托时所代表的用户相同。)
在批准或拒绝委托的工作项目时,审计日志条目将列出委托者的姓名。当创建或修改用户时,对用户委托批准者信息的更改将记录到审计日志条目的详细更改区域中。
可以在“当前委托”页上查看委托。
可以在“先前的委托”页上查看先前的委托。
可以使用“新建委托”页来创建委托。
在管理员界面中,单击主菜单中的“工作项目”。
单击“委托我的工作项目”。
将打开“当前委托”页。
单击“新建”。
将打开“新建委托”页。
按如下方式填写表单:
从“选择要委托的工作项目类型”选择列表中,选择一种工作项目类型。要委托所有工作项目,请选择“所有工作项目类型”。
如果要委托角色类型、组织或资源工作项目,请使用箭头将选择内容从可用列移动到已选定列,以指定用于定义此委托的特定角色、组织或资源。
将工作项目委托给。
请选择以下任一选项:
开始日期。选择工作项目委托开始的日期。默认情况下,选定的日期从 12:01 a.m. 开始。
结束日期。选择工作项目委托结束的日期。默认情况下,选定的日期在 11:59 p.m. 结束。
如果将工作项目委托一天,则可以将开始日期和结束日期选在同一天。
单击“确定”可保存所做的选择,并返回到等待批准的工作项目列表。
在设置委托后,在有效委托期内创建的所有工作项目都会添加到受托者列表中。如果结束委托或委托时间段到期,则会将委托的工作项目重新添加到您的列表中。这可能会导致您的列表中包含重复的工作项目。不过,在批准或拒绝某个工作项目时,将会自动从您的列表中删除重复的项目。
在删除拥有任何暂挂工作项目的用户时,Identity Manager 的工作方式如下所示:
如果委托了暂挂工作项目并且尚未删除委托者,则将暂挂工作项目返回给委托者。
如果没有委托暂挂工作项目,或者委托了暂挂工作项目并删除了委托者,删除尝试将会失败,直至解决了用户的暂挂工作项目或将其转发给另一个用户。
可以从“当前委托”页中结束一个或多个委托。
在管理员界面中,单击主菜单中的“工作项目”。
单击次级菜单中的“委托我的工作项目”。
将打开“当前委托”页。
选择一个或多个要结束的委托,然后单击“结束”。
Identity Manager 删除选定的委托配置,然后向您的暂挂工作项目列表返回任何选定类型的委托工作项目。
在将用户添加到 Identity Manager 系统后,指定为新帐户批准者的管理员必须对帐户创建进行验证。
Identity Manager 支持三种类别的批准:
组织。需要批准要添加到组织的用户帐户。
角色。需要批准要分配给角色的用户帐户。
资源。需要批准要授权访问资源的用户帐户。
此外,如果启用了更改批准,并且对角色进行了更改,则会将更改批准工作项目发送至指定的角色所有者。
Identity Manager 支持通过角色定义进行更改批准。如果管理员更改了角色定义,则需要指定的角色所有者进行更改批准。角色所有者必须批准该工作项目才能进行更改。
您可以配置 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 界面的“工作项目”区域中查看和管理暂挂批准。在“工作项目”页中,单击我的工作项目以查看暂挂批准。单击批准选项卡以管理批准。
要使用数字签名批准工作项目,您必须先按配置数字签名的批准和操作中所述设置数字签名。
在 Identity Manager 管理员界面中,选择工作项目。
单击批准选项卡。
从列表中选择一个或多个批准。
输入批准的注释,然后单击 Approve。
Identity Manager 会给出提示,并询问您是否信任该 applet。
单击 Always。
Identity Manager 将显示一个含有日期的批准摘要。
输入密钥库位置,或者单击浏览以找到密钥库位置。(在配置签名的批准期间设置此位置,如使用 PKCS12 为签名的批准启用服务器端配置过程中的步骤 10m 所述。)
输入密钥库密码(在配置签名的批准期间设置此密码,如使用 PKCS12 为签名的批准启用服务器端配置过程中的步骤 10l 所述)。
单击签名以批准请求。
对某个批准签名之后,只需输入密钥库密码,然后单击 Sign,即可执行后续批准操作。(Identity Manager 将通过先前的批准记忆密钥库的位置。)
可以使用以下信息和过程来设置数字签名。可以对以下项目进行数字签名:
批准(包括更改批准)
访问查看操作
遵从性违规的修正
本节讨论的主题说明了将证书和 CRL 添加到 Identity Manager 以获得签名批准所需的服务器端和客户端配置。
打开系统配置对象以进行编辑并设置 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 目录中提供的,或者是随安装映像提供的。
将证书颁发机构 (Certificate Authority, CA) 的证书添加为信任证书。为此,必须首先获得证书的副本。
例如,如果要使用 Microsoft CA,请按类似以下的步骤操作:
将证书作为信任证书添加到 Identity Manager 中:
添加 CA 的证书撤销列表 (Certificate Revocation List, CRL):
单击测试连接验证 URL。
单击保存。
使用 jarsigner 对 applets/ts2.jar 签名。
有关详细信息,请访问 http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/jarsigner.html。Identity Manager 附带的 ts2.jar 文件使用自签名证书来签名,不应将其用于生产系统。在生产中,应使用由信任 CA 颁发的代码签名证书重新对此文件签名。
以下配置信息适用于使用 PKCS12 获得的签名批准。先获取证书和专用密钥,然后将其导出到 PKCS#12 密钥库中。例如,如果要使用 Microsoft CA,请按类似以下的步骤操作:
Identity Manager 现在至少需要使用 JRE 1.5。
使用 Internet Explorer 浏览到 http://IPAddress /certsrv,然后通过管理权限登录。
选择“请求证书”,然后单击“下一步”。
选择“高级请求”,然后单击“下一步”。
单击“下一步”。
选择 "User for Certificate Template"。
选择以下选项:
单击“提交”,然后单击“确定”。
单击“安装此证书”。
选择“运行”-> "mmc" 以启动 mmc。
添加证书插件:
如果将 PKCS11 用于签名的批准
请参阅 REF 工具包中的以下资源以了解配置信息:
com.sun.idm.ui.web.applet.transactionsigner.DefaultPKCS11KeyProvider (Javadoc) REF/transactionsigner/SamplePKCS11KeyProvider |
REF(Resource Extension Facility,资源扩充工具)工具包是在产品 CD 上的 /REF 目录中提供的,或者是随安装映像提供的。
本节介绍了用于查看 Identity Manager 审计日志报告中的事务签名的过程。
在 Identity Manager 管理员界面中,选择报告。
在“运行报告”页中,从新建选项列表中选择审计日志报告。
在报告标题字段中输入标题(如“批准”)。
在组织选择区域中,选择所有组织。
选择操作选项,然后选择批准。
单击 Save 保存报告并返回至 Run Reports 页。
单击 Run 运行批准报告。
单击详细信息链接查看事务签名信息。
事务签名信息可以包含以下内容:
颁发者
主题
证书序列号
已签名的消息
签名
签名算法
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>
其中:
base64 批准数据包含在 applet 中向批准者显示的实际批准数据文本(以 base64 格式编码)。
<TSATimestamp> 元素包含来自时间戳服务中心 (Timestamp Authority, TSA) 的 base64 编码的 PKCS7 时间戳响应。
整个 <Signature> 由 XMLDSIG 签名数据组成。
该 XMLDSIG 文件存储在审计日志批准记录的 XML 列中。
使用 XMLDSIG 签名批准的安装和设置要求与 为签名的批准启用服务器端配置中介绍的要求相同,但还增加了一个步骤。除了对 ts2.jar 文件进行签名以外,还必须对 xmlsec-1.4.2.jar 文件进行签名。
可以使用系统配置属性执行以下操作:
选择 SignedData 格式或 XMLSignedData 格式。请注意,每次只能配置一种格式,但管理员可以根据需要更改此设置。
包括从配置的 RFC 3161 时间戳服务中心 (Timestamp Authority, TSA) 检索的数字时间戳。
指定从中提取该时间戳的 URL(只能采用 HTTP 格式)。
要编辑这些属性,请使用 Identity Manager 调试页编辑系统配置对象。这些属性以及其他签名批准属性均位于 security.nonrepudiation 下面。
XMLDSIG 属性包括:
security.nonrepudiation.useXmlDigitalSignatures 是一个布尔值,用于启用 XMLDSIG 签名。
security.nonrepudiation.timestampXmlDigitalSignatures 是一个布尔值,其中包含 XMLDSIG 签名中的 RFC 3161 数字时间戳。
security.nonrepudiation.timestampServerURL 是一个字符串值,其中的 URL 指向从中提取时间戳的基于 HTTP 的 TSA。
您必须先将现有的 useSignedApprovals 属性设置为 true,才能使任何以前的属性生效。
Identity Manager 不支持对一个批准进行多次签名,也不支持为更一般性的置备请求提供签名批准。