可以对 Identity Manager 帐户执行若干批量操作,这样您便可以同时对多个帐户进行操作。
可以启动以下批量操作:
删除。删除、取消分配选定的资源帐户和解除这些帐户的链接。选择“以 Identity Manager 帐户为目标”选项还会删除每个用户的 Identity Manager 帐户。
删除和解除链接。删除任意选定的资源帐户并解除这些帐户与用户的链接。
禁用。禁用任意选定的资源帐户。选择“以 Identity Manager 帐户为目标”选项还会禁用每个用户的 Identity Manager 帐户。
启用。启用任意选定的资源帐户。选择“以 Identity Manager 帐户为目标”选项将启用每个用户的 Identity Manager 帐户。
取消分配,解除链接。解除任意选定的资源帐户的链接,并删除为这些资源分配的 Identity Manager 用户帐户。取消分配并不从资源删除帐户。不能取消分配已通过角色或资源组间接分配给 Identity Manager 用户的帐户。
解除链接。删除资源帐户与 Identity Manager 用户帐户的关联(链接)。取消链接并不从资源中删除帐户。如果将通过角色或资源组间接分配给 Identity Manager 用户的帐户取消链接,则该链接会在更新用户时恢复。
如果在文件或应用程序(如电子邮件客户机或电子表格程序)中有一个用户列表,则批量操作将发挥最佳功能。可将上述列表复制并粘贴到此界面页的一个字段中,也可从文件加载这个用户列表。
这些操作中的许多操作都可对某个用户搜索的结果执行。可以使用“查找用户”页(“帐户”->“查找用户”)来搜索用户。
当任务完成后显示任务结果时,可通过单击“下载 CSV”将批量帐户操作的结果保存为 CSV 文件。
在管理员界面中,单击主菜单中的“帐户”。
单击次级菜单中的“启动批量操作”。
填写表单,然后单击“启动”。
Identity Manager 将启动后台任务以执行批量操作。
要监视批量操作任务的状态,请单击主菜单中的“服务器任务”,然后单击“所有任务”。
可使用逗号分隔值 (CSV) 格式指定批量操作列表。这样您便可在单个操作列表中混合各种不同的操作类型。此外,可指定更复杂的创建和更新操作。
CSV 格式由两个或多个输入行组成。每一行由逗号分隔的值列表组成。第一行包含字段名称。其余的每一行都对应于要对 Identity Manager 用户和/或该用户的资源帐户执行的操作。每一行都应包含相同个数的值。空值将保持相应字段值不变。
任何批量操作 CSV 输入中都必需有这两个字段:
user。包含 Identity Manager 用户的名称。
command。包含对 Identity Manager 用户执行的操作。有效命令有:
Delete。对资源帐户和/或 Identity Manager 帐户执行删除、取消分配和解除链接操作。
DeleteAndUnlink。删除资源帐户并将其解除链接。
Disable。禁用资源帐户和/或 Identity Manager 帐户。
Enable。启用资源帐户和/或 Identity Manager 帐户。
Unassign。取消分配资源帐户并解除其链接。
Unlink。将资源帐户解除链接。
Create。创建 Identity Manager 帐户。(可选)创建资源帐户。
Update。更新 Identity Manager 帐户。(可选)创建、更新或删除资源帐户。
CreateOrUpdate。如果 Identity Manager 帐户尚不存在,则执行创建操作。否则执行更新操作。
如果您要执行 Delete、DeleteAndUnlink、Disable、Enable、Unassign 或 Unlink 操作,则需要指定的唯一附加字段是 resources。使用 resources 字段指定哪些资源上的哪些帐户将受到影响。
“资源”字段可能具有以下值:
all。处理所有资源帐户,其中包括 Identity Manager 帐户。
resonly。处理除 Identity Manager 帐户之外的所有资源帐户。
resource_name [ | resource_name ... ]. 处理指定的资源帐户。指定 Identity Manager 以处理 Identity Manager 帐户。
下面是这些操作中几个操作的 CSV 格式的示例:
command,user,resources Delete,John Doe,all Disable,Jane Doe,resonly Enable,Henry Smith,Identity Manager Unlink,Jill Smith,Windows Active Directory|Solaris Server
如果您要执行 Create、Update 或 CreateOrUpdate 命令,则除了 user 和 command 字段之外,还可指定“用户视图”中的字段。使用的字段名称是视图中属性的路径表达式。有关“用户视图”中提供的属性的信息,请参见《Sun Identity Manager Deployment Reference》中的“User View Attributes”。如果您正使用自定义“用户表单”,则该表单中的字段名称包含您可使用的一些路径表达式。
在批量操作中使用的一些较常见的路径表达式有:
waveset.roles。要分配给 Identity Manager 帐户的一个或多个角色名称的列表。
waveset.resources。要分配给 Identity Manager 帐户的一个或多个资源名称的列表。
waveset.applications。要分配给 Identity Manager 帐户的一个或多个角色名称的列表。
waveset.organization。用来放置 Identity Manager 帐户的组织的名称。
accounts[ resource_name].attribute_name。资源帐户属性。属性的名称在资源的模式中列出。
以下示例展示了创建和更新操作的 CSV 格式:
command,user,waveset.resources,password.password, password.confirmPassword,accounts[Windows Active Directory].description, accounts[Corporate Directory].location Create,John Doe, Windows Active Directory|Solaris Server,changeit,changeit,John Doe - 888-555-5555, Create,Jane Smith,Corporate Directory,changeit,changeit,,New York CreateOrUpdate,Bill Jones,,,,,California
通过使用 CreateOrUpdate 命令,您可以在支持多种帐户类型的资源上指定特定的帐户类型。因此,如果某个用户在特定资源上拥有多个帐户,并且每个帐户的帐户类型各不相同,则可按照以下示例进行操作,该示例显示了如何更新 userAye 用户的管理员帐户类型:
command,user,accounts[Sim1|admin].emailAddress CreateOrUpdate,userAye,bbye8@example.com
尽管可使用 CreateOrUpdate 命令为用户的各个帐户设置特定于帐户的属性,但请注意,用户视图全局部分中的以下值将会应用于所有指定的帐户:
accountId
password
disable
所有扩展属性
因此,以下形式的 BulkOps 命令可能不会执行预期的操作。
command,user,accounts[Sim1].email CreateOrUpdate,userAye,bbye8@example.com
如果 userAye 已具有一个 email 值,则会将该值应用于 Sim1 资源上的 email 属性。没有任何方法可以改变此行为。
某些字段可以有多个值。这些字段称为多值字段。例如,waveset.resources 字段可用于为一个用户分配多个资源。可以使用竖线 (|) 字符(也称为“管道”字符)分隔字段中的多个值。可以按如下方法指定多值的语法:
value0 | value1 [ | value2 ... ]
更新现有用户的多值字段时,您可能并不希望使用一个或多个新值替换当前字段值。您可能要删除一些值或添加一些值至当前值。可以使用字段指令指定如何处理现有字段的值。字段指令在字段值之前,并且由竖线字符包围,如下所示:
|directive [ ; directive ] | field values
您可选择下列指令:
Replace。用指定值替换当前值。如果没有指定指令(或只指定 List 指令),则此指令为默认指令。
Merge。将指定值添加到当前值中。重复的值将被过滤掉。
Remove。从当前值中删除指定值。
List。即使字段只有一个值,也强制按照有多个值的方式处理它的值。因为对多数字段而言,无论有多少个字段值,都能正确处理这些值,因此该指令并不常用。此指令是唯一可用另一个指令指定的指令。
字段值区分大小写。指定 Merge 和 Remove 指令时,这一点很重要。进行合并时,值必须完全匹配才能正确将其删除或避免有多个相似的值。
如果字段值中包含逗号 (,) 或双引号 (") 字符,或者要保留前导或结尾空格,则必须将字段值用一对双引号引起来 ("field_value")。这样就需要将字段值中的双引号替换为两个双引号 (") 字符。例如,"John ""Johnny"" Smith" 的字段值为 John "Johnny" Smith。
如果字段值中包含竖线 (|) 或反斜杠 (\) 字符,则必须前置一个反斜杠(\| 或 \\)。
执行 Create、Update 或 CreateOrUpdate 操作时,"User View" 中有一些只在批量操作处理过程中使用或可用的附加属性。可在“用户表单”中引用这些属性,以提供批量操作的特定性能。
这些属性如下所列:
waveset.bulk.fields.field_name 属性;这些属性包含从 CSV 输入中读入的字段值,其中 field_name 是字段名称。例如,command 和 user 字段分别在带有路径表达式 waveset.bulk.fields.command 和 waveset.bulk.fields.user 的属性中。
waveset.bulk.fieldDirectives.field_name 属性;只对那些指定了指令的字段定义这些属性。值为指令字符串。
waveset.bulk.abort 布尔型属性;将该属性设置为 true 可中止当前操作。
waveset.bulk.abortMessage 属性;将该属性设置为消息字符串,当 waveset.bulk.abort 设置为 true 时,将显示该消息字符串。如果未设置此属性,将显示一条普通中止消息。
当没有可用的 Identity Manager 用户名放在操作的 user 字段时,请使用关联和确认规则。如果没有为用户字段指定值,则必须在启动批量操作时指定关联规则。如果确实为用户字段指定了值,则不会针对该操作评估关联和确认规则。
关联规则查找匹配操作字段的 Identity Manager 用户。确认规则根据操作字段测试 Identity Manager 用户,以确定用户是否匹配。此两阶段式方法允许 Identity Manager 通过快速查找可能的用户(基于名称或属性)并仅针对可能的用户执行繁琐的检查,以优化关联过程。
分别创建子类型为 SUBTYPE_ACCOUNT_CORRELATION_RULE 或 SUBTYPE_ACCOUNT_CONFIRMATION_RULE 的规则对象,以创建关联或确认规则。
有关关联规则和确认规则的详细信息,请参见《Sun Identity Manager Deployment Guide》中的第 3 章 “Data Loading and Synchronization”。
为任意关联规则输入的内容是操作字段的映射。输出必须是下列内容之一:
字符串(包含用户名或用户 ID)
字符串元素列表(每个元素为用户名或用户 ID)
WSAttribute 元素列表
AttributeCondition 元素列表
常用关联规则会根据操作字段中的值生成用户名列表。关联规则还会生成用于选择用户的属性条件(参考 Type.USER 的可查询属性)的列表。
关联规则的处理过程应相对简便,但应尽可能缩小范围。如有可能,将繁琐的处理过程转给确认规则。
属性条件必须参考 Type.USER 的可查询属性。这些属性是在名为 IDM 模式配置的 Identity Manager 配置对象中配置的。
关联扩展属性需要特殊配置:
必须将扩展属性指定为可查询属性。
打开 IDM 模式配置。您必须具有 IDM 模式配置权能才能查看或编辑 IDM 模式配置。
找到 <IDMObjectClassConfiguration name=’User’> 元素。
找到 <IDMObjectClassAttributeConfiguration name=’ xyz ’> 元素,其中 xyz 是要设置为可查询属性的属性名称。
设置 queryable=’true’
在关联规则中,将 email 扩展属性定义为可查询属性。
<IDMSchemaConfiguration> <IDMAttributeConfigurations> <IDMAttributeConfiguration name=’email’ syntax=’STRING’/> </IDMAttributeConfiguration> </IDMAttributeConfigurations> <IDMObjectClassConfigurations> <IDMObjectClassConfiguration name=’User’ extends=’Principal’ description=’User description’> <IDMObjectClassAttributeConfiguration name=’email’ queryable=’true’/> </IDMObjectClassConfiguration> </IDMObjectClassConfigurations> </IDMSchemaConfiguration>
您必须重新启动 Identity Manager 应用程序(或应用服务器)以使 IDM 模式配置更改生效。
任意确认规则的输入如下:
使用 userview 以获取 Identity Manager 用户的完整视图。
使用 account 以获取操作字段的映射。
如果用户与操作字段匹配,则确认规则会返回字符串形式的布尔值 true;否则,它会返回值 false。
典型的确认规则会将用户视图的内部值与操作字段的值比较。作为关联进程的可选第二阶段,确认规则执行不能在关联规则中表达的检查(或关联规则中因太昂贵而不能评估的检查)。
总之,只有在下列情况下才需要确认规则:
关联规则可能返回多个匹配用户。
必须比较的用户值不可查询。
为关联规则返回的每个匹配用户运行一次确认规则。