可以使用协调功能,定期将 Identity Manager 中的资源帐户与资源上实际存在的帐户进行比较。协调将关联帐户数据并突出显示存在的差异。
本节中的页面重点介绍如何使用管理员界面执行协调任务。要了解协调的详细信息,请参见《Sun Identity Manager Deployment Guide》中的第 3 章 “Data Loading and Synchronization”。
因为协调专用于进行中的比较,因此其具有以下特征:
比搜索过程更明确地诊断帐户情况,支持的响应也更广泛
被预定(搜索不能)
提供增量模式(搜索始终为完全模式)
检测本机更改(搜索不能)
也可以将协调配置为在处理资源过程中的下列每一点处启动任意工作流:
协调任何帐户之前
每个帐户
协调所有帐户之后
从“资源”区域访问 Identity Manager 协调功能。“资源”列表显示每个资源上次协调的时间及其当前协调状态。
协调是由 Identity Manager 的协调程序组件执行的。有关协调程序配置设置的信息,请参见相关参考手册。
协调策略允许您按资源为每个协调任务建立一组响应。您可在策略中选择运行协调的服务器、确定协调发生的频率和时间,以及设置对协调期间遇到的每种情况作出响应。还可将协调配置为检测对帐户属性进行的本机更改(即,不是通过 Identity Manager 进行的更改)。
在管理员界面中,单击菜单中的“资源”。
在“资源列表”中选择一种资源。
在“资源操作”列表中,选择“编辑协调策略”。
Identity Manager 将显示“编辑协调策略”页面,可在其中进行下列策略选择:
协调服务器。在群集环境中,每个服务器都可以运行协调。请在策略中指定哪个 Identity Manager 服务器将运行针对资源的协调。
协调模式。可以在不同模式下执行协调,这样能够将不同质量的结果最优化:
完全协调。协调最彻底(以速度为代价)。
增量式协调。协调速度最快(以彻底性为代价)。
在策略中选择 Identity Manager 对资源运行协调应该采用的模式。选择“不协调”禁用针对目标资源的协调。
完全协调进度表。如果启用完全模式协调,则按固定的进度表自动执行协调。在策略中指定针对资源运行完全式协调的频率。
选择“继承默认策略”选项可从更高级策略中继承指定的进度表。
清除“继承默认策略”选项可指定一个进度表。使用提供的字段建立一个循环进度表,或使用“任务进度表重复”规则对协调进度表进行自定义调整。有关创建任务进度表重复规则的信息,请参见使用任务进度表重复规则。
增量式协调进度表。如果启用增量模式协调,则按固定的进度表自动执行协调。
选择“继承默认策略”选项可从更高级策略继承进度表。
清除“继承默认策略”选项可指定一个进度表。使用提供的字段建立一个循环进度表,或使用“任务进度表重复”规则对协调进度表进行自定义调整。有关创建任务进度表重复规则的信息,请参见使用任务进度表重复规则。
并非所有资源都支持增量式协调。
属性级协调。可以将协调配置为检测对帐户属性进行的本机更改(即,不是通过 Identity Manager 进行的更改)。指定协调是否应检测对协调的帐户属性中指定的属性进行的本机更改。
帐户关联规则。帐户关联规则选择可能拥有每个无拥有者资源帐户的 Identity Manager 用户。如果给定无拥有者资源帐户的属性,关联规则会返回一个名称列表或属性条件列表,用于选择潜在拥有者。选择一个规则,以查找可能拥有每个无拥有者资源帐户的 Identity Manager 用户。
帐户确认规则。帐户确认规则可将任何非拥有者从关联规则选择的潜在拥有者列表中清除。在给定某个 Identity Manager 用户和某个无拥有者的资源帐户的属性这些详细资料后,若用户拥有该帐户,则确认规则返回 true,否则返回 false。选择一个规则以测试资源帐户的每个潜在拥有者。如果选择“无确认规则”,Identity Manager 将接受所有潜在拥有者,而不进行确认。
如果在您的环境中,关联规则为每个帐户选择最多一个拥有者,则您不需要确认规则。
代理管理员。指定执行协调响应时使用的管理员。协调只能执行允许指定代理管理员执行的那些操作。响应将使用与该管理员关联的用户表单(如果需要)。
还可以选择“无代理管理员”选项。选择后,可以查看协调结果,但不会运行响应操作或工作流。
情况选项(和“响应”)。协调会识别多种类型的情况。下面介绍了这些情况。请在“响应”列中指定协调应执行的任何操作。
已确认。所需帐户存在。
要标记为“已确认”,必须满足以下条件:
Identity Manager 要求帐户必须存在。
帐户在资源上存在。
冲突。为两个或多个 Identity Manager 用户分配了资源上的同一帐户。
已删除。所需帐户不存在。
要标记为“已删除”,必须满足以下条件:
Identity Manager 要求帐户必须存在。
帐户在资源上不存在。
找到。协调进程在分配的资源上找到匹配帐户。
要标记为“找到”,必须满足以下条件:
Identity Manager 不要求帐户必须存在。(如果已将资源分配给用户,但尚未进行置备,则帐户可以在资源上存在,也可以不存在。)
帐户在资源上存在。
缺少。分配给用户的资源上不存在匹配的帐户。
要标记为“缺少”,必须满足以下条件:
Identity Manager 不要求帐户必须存在。(如果已将资源分配给用户,但尚未进行置备,则帐户可以在资源上存在,也可以不存在。)
帐户在资源上不存在。
已取消分配。协调进程在未分配给用户的资源上找到匹配帐户。
要标记为“取消分配”,必须满足以下条件:
Identity Manager 不要求帐户必须存在。(如果没有将资源分配给用户,则 Identity Manager 不要求帐户必须存在。)
帐户在资源上存在。
不匹配。资源帐户不匹配任何用户。
有争议。资源帐户匹配多个用户。
从这些响应选项(可用选项因情况而异)中选择一个:
基于资源帐户创建新的 Identity Manager 用户。运行资源帐户属性的用户表单以创建新用户。该资源帐户不会因任何更改而被更新。
为 Identity Manager 用户创建资源帐户。使用用户表单重新生成资源帐户属性,以重新创建缺少的资源帐户。
“删除资源帐户”和“禁用资源帐户”。删除/禁用资源上的帐户。
“将资源帐户与 Identity Manager 用户链接”和“解除资源帐户与 Identity Manager 用户的链接”。向用户添加资源帐户分配或从用户中删除资源帐户分配。未执行任何表单处理。
不执行任何操作。如果不希望协调执行修复,请选择此选项。
您可以手动修复协调发现的任何帐户情况。在菜单中单击“资源”->“检查帐户索引”。可以从中浏览为所有已协调的帐户记录的情况。右键单击某个帐户,将会看到一个有效修复选项的列表。有关详细信息,请参见检查帐户索引。
协调前工作流。可以将协调配置为在对资源进行协调之前运行用户指定的工作流。指定协调应运行的工作流。如果没有要运行的工作流,请选择 "Do not run workflow"。
每一帐户工作流。可以将协调配置为在对资源帐户情况作出响应后运行用户指定的工作流。指定协调应运行的工作流。如果没有要运行的工作流,请选择 "Do not run workflow"。
协调后工作流。可以将协调配置为在完成资源协调后运行用户指定的工作流。指定协调应运行的工作流。如果没有要运行的工作流,请选择 Do not run workflow。
说明情况。如果启用,协调将会记录其他信息,以说明如何对帐户情况进行分类。默认情况下禁用此选项。记录解释会使协调进程运行时间增加。
错误限制。如果启用,在处理过程中发生指定数量的错误后,将自动终止协调。值 0 表示对错误数没有限制。取消选择“继承默认策略”选项,将显示“允许的最多错误数”字段,在其中输入值。
最大本机删除帐户数。此选项是一项安全保护功能,用于计算资源上缺少的帐户数;如果超过某一阈值,则禁止协调程序解除这些帐户的链接。
要启用此功能,请清除“继承默认策略”复选框,然后在“允许的最大本机删除帐户数”字段中指定一个百分比。必须将阈值设置为从 0 到 100 的整数百分比。(0 表示禁用此功能。)
如果删除的帐户百分比超过该阈值,协调将继续执行与缺少的帐户无关的所有处理并完成此过程,但会出现一个错误。
单击“保存”以保存策略更改。
本节介绍了两个用于启动协调任务的选项:
按调度间隔运行协调
立即协调
按编辑协调策略中所述打开“编辑协调策略”页。
指定协调进度表参数。
协调将按照您在策略中设置的参数运行。
在管理员界面中,单击菜单中的“资源”。
在“资源列表”中选择一种资源。
从“资源操作”列表中选择一个选项。
这些选项包括:
立即进行完全式协调
立即进行增量式协调
协调将按照您在策略中设置的参数运行。如果在策略中针对协调设置了定期进度表,则协调将继续按指定方式运行。
可以使用两种主要方法来查看协调状态。要查看详细的协调状态,请打开特定资源的“协调摘要结果”页。资源列表中也会直接提供有限的协调状态。
可以使用“协调摘要结果”页来查看详细的协调状态。
您也可以从“资源列表”中查看协调状态。
打开管理员界面。
在主菜单中单击“资源”。
状态列可报告以下协调状态情况:
未知。状态未知。最新协调任务的结果不可用。
已禁用。协调已禁用。
失败。未能完成最新的协调。
成功。已成功完成最新的协调。
完成但有错误。最新协调已完成,但出现错误。
必须刷新此页才能查看状态变化。(这些信息不会自动刷新。)
帐户索引会记录 Identity Manager 已知的每个资源帐户的最新已知状态。它主要由协调来维护,但是需要时其他 Identity Manager 功能也会更新帐户索引。
搜索工具不更新帐户索引。
可以搜索帐户索引以查看给定资源帐户的最新已知状态。
在管理员界面中,单击菜单中的“资源”。
在“资源列表”中,选择要搜索帐户索引的资源。
找到“资源操作”列表,然后选择“搜索帐户索引”。
将打开“搜索帐户索引”页。
选择一种搜索类型,然后输入或选择搜索属性。
资源帐户名。选择此选项,再选择其中一个修改符号(开头为、包含或是),然后输入部分帐户名称或完整的帐户名称。
资源为其中之一。选择此选项,然后从列表中选择一个或多个资源,以查找位于指定资源上的已协调帐户。
拥有者。选择此选项,选择一个修改符号(开头为、包含或是),然后输入拥有者的完整或部分名称。要搜索无所有者帐户,请在 UNMATCHED 或 DISPUTED 情况下进行搜索。
情况为其中之一。选择此选项,然后从列表中选择一种或多种情况,以查找处于指定情况下的已协调帐户。
单击“搜索”以根据搜索参数来搜索帐户。要限制搜索结果,也可将“限制”结果中的数量指定为第一个字段。默认限制为找到的前 1000 个帐户。
单击“重设查询”以清除该页并进行新的选择。
也可以查看所有 Identity Manager 用户帐户,并可选择对每个用户分别协调帐户。
在管理员界面中,单击菜单中的“资源”。
单击次级菜单中的“检查帐户索引”。
将打开“检查帐户索引”页。
表格会显示 Identity Manager 已知的所有资源帐户(无论 Identity Manager 用户是否拥有该帐户)。此信息按资源或 Identity Manager 组织分组。要更改此视图,请从 "Change index view" 列表中进行选择。
要使用资源上的帐户,请选择“按资源分组”索引视图。Identity Manager 会针对每种类型的资源显示文件夹。通过展开文件夹导航到特定资源。单击资源旁边的 + 或 - 以显示 Identity Manager 已知的所有资源帐户。
自上次对资源进行协调以来直接添加到该资源的帐户不会显示出来。
根据给定帐户的当前情况,可以执行几种操作。右键单击某个帐户,将会看到一个有效修复选项的列表。也可以查看帐户详细信息或选择协调该帐户。
要使用 Identity Manager 用户,请选择“按用户分组”索引视图。在此视图中,Identity Manager 用户和组织显示为类似“帐户列表”页的分层结构。要查看当前分配给 Identity Manager 中某个用户的帐户,请导航到该用户并单击用户名旁边的指示符。在该用户名的下方将显示该用户的所有帐户和 Identity Manager 已知的这些帐户的当前状态。
根据给定帐户的当前情况,可以执行几种操作。也可以查看帐户详细信息或选择协调该帐户。
可以使用任务进度表重复规则来调整协调进度表。例如,如果要将预定在星期六进行的协调推迟到下星期一,可使用任务进度表重复规则。
可以使用任务进度表重复规则来调整完全和增量式协调的进度表。
有关如何选择任务进度表重复规则的信息,请参见编辑协调策略。
在完成协调作业后,协调程序组件将检查其下次的预定运行时间。
首先,协调程序查看默认进度表以获取其下次运行时间。接下来,协调程序运行所有适用的任务进度表重复规则,以确定是否需要进行进度表调整。如果需要调整,规则进度表将覆盖该协调的默认进度表。
任务进度表重复规则无法覆写默认进度表。它们只能针对每个作业覆盖预定的开始时间。
本节介绍了内置的“接受所有日期”示例规则。
在文本编辑器中,打开位于 Identity Manager 的 sample 目录中的 ReconRules.xml。
搜索名为 SCHEDULING_RULE_ACCEPT_ALL_DATES 的规则。
要在“任务进度表重复规则”下拉菜单(在“编辑协调策略”页上)中列出规则,必须将规则的 subtype 属性设置为 SUBTYPE_TASKSCHEDULE_REPETITION_RULE:
<Rule subtype=’SUBTYPE_TASKSCHEDULE_REPETITION_RULE’ name=’SCHEDULING_RULE_ACCEPT_ALL_DATES’> |
正如前面所述,任务进度表重复规则可以修改默认协调进度表。
calculatedNextDate 变量可以接受按默认方式计算的下一个日期,也可以返回一个不同的日期。正如该示例规则所编写的,calculatedNextDate 无条件地接受默认日期,如以下摘录中所示:
<RuleArgument name=’calculatedNextDate’/> <block> <ref>calculatedNextDate</ref> </block> |
要创建自定义进度表,请替换 <block> 元素之间的规则逻辑。例如,要将协调开始时间更改为星期六上午 10:00,<block> 元素之间应包含以下 JavaScript:
<block> <script> var calculatedNextDate = env.get(’calculatedNextDate’); // Test to see if this task is scheduled for a Saturday // (Note that 6 is used to denote Saturday in JavaScript) if(calculatedNextDate.getDay() == 6) { // If so, set the time to 10:00:00 calculatedNextDate.setHours(10); calculatedNextDate.setMinutes(0); calculatedNextDate.setSeconds(0); } // Return the modified date calculatedNextDate; </script> </block> |
在查看“接受所有日期”示例规则中,最初将 calculatedNextDate 设置为默认预定时间。如果下次的预定运行日期为星期六,则规则将协调安排在 10:00 开始运行。如果下次的预定运行日期不是星期六,则查看“接受所有日期”示例规则将返回 calculatedNextDate(而未进行任何时间调整)并使用默认进度表。
有关创建用于 Identity Manager 的自定义规则的详细信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。