本节介绍了配置外部资源数据存储库以及外部资源置备程序通知的过程。
Identity Manager 的外部资源数据存储库是单个数据存储库,用于保存有关外部资源和外部资源分配的信息。此数据存储库可以是数据库,也可以是目录。
如果外部资源数据存储库是数据库,则该数据存储库由 ScriptedJdbcResourceAdapter 进行管理。
如果外部资源数据存储库是目录,则该数据存储库由 LDAPResourceAdapter 进行管理。
您必须具有外部资源管理员权能才能配置外部资源数据存储库。
通过使用外部资源数据存储库,您可以将数据存储在所需的任意属性值中,并且可以将这些值存储在一个或多个表中。
例如,如果使用的是 MySQL 数据库,则 Identity Manager 将外部资源信息存储在以下表中:
extres.accounts 表包含 accountID 和 resourceID。由于外部资源数据存储库是单个数据存储库,Identity Manager 提供了唯一 ID 关键字 <accountId>@<resourceId>,它按 resourceID 唯一地标识了帐户。
extres.attributes 表包含名称/值对属性的集合。在创建外部资源时,您可以在模式映射中定义这些属性。
用于创建数据库表的示例脚本与 Identity Manager 封装在一起,这些脚本位于以下位置:
wshome/sample/ScriptedJdbc/External |
Identity Manager 支持多种数据库类型,并为每种类型提供了示例脚本。对于特定环境,您可以根据需要修改这些脚本。
外部资源数据存储库还通过使用 LDAPResourceAdapter 来支持 LDAP,这样您便可以将数据存储在现有类或自定义类中。示例 LDIF 脚本也与 Identity Manager 封装在一起,该脚本位于以下位置:
wshome/sample/other/externalResourcePerson.ldif |
您可以在配置外部资源目录数据存储库过程中修改该脚本。
虽然您可以方便地进行更改,但通常仅配置一次外部资源数据存储库。如果您修改了配置,Identity Manager 会自动更新所有现有外部资源以使用新配置的数据存储库。
可以使用以下步骤配置数据库类型数据存储库:
从 Identity Manager 管理员界面的菜单栏中选择“配置”->“外部资源”。
在显示“数据存储库配置”页时,从“数据存储库类型”菜单中选择“数据库”。将显示其他选项。
指定以下连接和验证信息:
Identity Manager 自动使用默认值填充“JDBC 驱动程序”、“JDBC URL 模板”、“端口”和“最长空闲时间(秒)”字段。如有必要,您可以更改这些默认值。
JDBC 驱动程序。指定 JDBC 驱动程序类名。
JDBC URL 模板。指定 JDBC 驱动程序 URL 模板。
主机。输入运行数据库的主机的名称。
TCP 端口。输入数据库侦听的端口号。
数据库。输入数据库服务器上包含数据存储库表的数据库的名称。
用户。输入有足够权限读取、更新和删除数据存储库表行的数据库用户的 ID。例如,超级用户。
密码。输入数据库用户的密码。
重新抛出所有 SQLException。选中此框可在异常错误代码为 0 时重新抛出 SQL 语句的 SQL 异常。
如果未启用此选项,Identity Manager 将捕获并禁止这些异常。
最长空闲时间。指定希望 JDBC 连接在池中保持未使用状态的最长时间(秒)。
如果在指定时间内未使用该连接,Identity Manager 将关闭该连接并将其从池中删除。
默认值为 600 秒。
-1 值可防止连接到期
在成功连接到数据存储库后,您必须为每个受支持的资源操作指定一个或多个要执行的脚本。有关说明,请参见配置操作脚本。
必须指定一组 BeanShell (bsh) 脚本,Identity Manager 可使用这些脚本跟踪和执行给定请求的获取、创建、更新、删除、启用、禁用以及测试状态。
以下位置提供了示例操作脚本:
wshome/sample/ScriptedJdbc/External/beanshell |
可以修改这些示例以创建您自己的自定义操作脚本。自定义脚本将添加到“操作脚本”选择工具中,并显示在“可用”和“已选定”列表中的水平线以下。
对于外部资源支持的任何数据库类型的资源操作,Identity Manager 提供了一些示例脚本。要访问这些脚本,请使用以下位置中提供的 ResourceAction 脚本:
wshome/sample/ScriptedJdbc/External/beanshell |
默认数据库名称、用户名和密码均为 extres。
如果选择任何其他数据库选项,或者要使用不同的用户名或数据库名称,则必须使用不同的值修改示例数据库创建脚本和 ResourceAction 脚本。
例如,如果选择 MySQL 数据库,但要更改现有的数据库名称、用户名和密码,则必须进行以下更改:必须通过将默认数据库名称、用户名和密码由 extres 分别更改为 externalresources、externaladmin 和 externalpassword 来更新 create_external_tables.mysql 脚本。
接下来,必须将 ResourceAction 脚本的默认 extres.accounts 和 extres.attributes 值分别更改为 externalresources.accounts 和 externalresources.attributes。
可以使用以下步骤配置操作脚本:
使用“数据存储库配置”页中的“操作脚本”选择工具为每个资源操作指定一个或多个操作脚本。必须至少为每个资源操作选择一个脚本。
必须选择与资源操作匹配的默认操作脚本。例如,必须使用
External-getUser-bsh 执行获取用户资源操作
获取用户资源操作用于执行搜索操作。
External-createUser-bsh 执行创建用户资源操作
External-deleteUser-bsh 执行删除用户资源操作
External-updateUser-bsh 执行更新用户资源操作
External-disableUser-bsh 执行禁用用户资源操作
External-enableUser-bsh 执行启用用户资源操作
External-test-bsh 执行测试资源操作
测试资源操作用于启用“测试连接”按钮的全部功能。
无法从列表的示例脚本中选择任何其他 bsh 脚本。
从菜单中选择一种操作上下文模式,以指定将属性值传递到操作脚本的方式。
字符串。将属性值作为字符串值进行传递。
直接。将属性值作为 com.waveset.object.AttributeValues 对象进行传递。
现在是测试数据存储库连接配置的最佳时机。请单击位于页面底部的“测试连接”按钮。
将显示一条消息,以确认连接成功或报告配置错误。
完成后,单击“下一步”以转至“置备程序通知配置”页。
可以使用以下步骤配置目录类型数据存储库。
从“数据存储库类型”菜单中选择“目录”。将显示其他选项。
您必须为目录类型数据存储库指定连接和验证信息。
请配置以下选项:
主机。输入运行 LDAP 服务器的主机的 IP 地址或名称。
TCP 端口。输入用于与 LDAP 服务器通信的 TCP/IP 端口。
如果使用的是 SSL,该端口通常为 636。
如果使用的不是 SSL,该端口通常为 389。
SSL。选中此选项可使用 SSL 连接到 LDAP 服务器。
故障转移服务器。列出首选服务器发生故障时所使用的所有故障转移服务器。请使用以下格式(遵循 RFC 2255 中介绍的标准 LDAP 版本 3 URL)输入该信息:
ldap://ldap.example.com:389/o=LdapFailover |
只有 URL 的主机、端口和标识名 (distinguished name, DN) 部分在此设置中是相关的。
如果首选服务器发生故障,JNDI 将自动连接到此列表中的下一个服务器。
用户 DN。输入在更新时用于进行 LDAP 服务器验证的 DN。(默认为 cn=Directory Manager)
密码。输入主体的密码。
基本上下文。指定在 LDAP 树中搜索用户时 Identity Manager 可以使用的一个或多个起始点。(默认为 dc=MYDOMAIN,dc=com)
在尝试从 LDAP 服务器中查找用户或查找用户所属的组时,Identity Manager 将执行搜索。
对象类。输入在 LDAP 树中创建新用户对象时使用的一个或多个对象类。(默认为 top)
每个条目必须位于单独一行中。不要使用逗号或空格分隔条目。
某些 LDAP 服务器要求您指定类分层结构中的所有对象类。例如,您可能需要指定 top、person、organizationalperson 和 inetorgperson,而不是只使用 inetorgperson。
用于检索帐户的 LDAP 过滤器。输入 LDAP 过滤器以控制从 LDAP 资源返回的帐户。如果未指定过滤器,Identity Manager 将返回包含所有指定对象类的所有帐户。
在搜索过滤器中包括所有对象类。选中此框可要求所有帐户都包含每个指定的对象类,并且与“用于检索帐户的 LDAP 过滤器”字段中指定的过滤器相匹配。
如果未指定任何搜索过滤器,则必须启用此选项。如果禁用此选项,可通过使用“协调”或“从资源加载”功能将不包含所有指定对象类的帐户加载到 Identity Manager 中。
在加载后,不会自动更新帐户的 objectclass 属性。如果通过管理员界面公开缺少对象类的属性,将无法在不修改 objectclass 属性的情况下提供此属性的值。要避免此问题,请覆盖“协调”或“从资源加载”表单中的 objectclass 值。
用户名属性。输入 LDAP 属性的名称,从目录中搜索用户时,该名称会映射到 Identity Manager 用户名称。该名称通常为 uid 或 cn。
显示名称属性。输入资源帐户属性名称,其值将在显示此帐户名称时使用。
VLV 排序属性。输入用于资源上 VLV 索引的排序属性的名称。
使用块。选中此框可采用分块方式检索并处理用户。
在对大量用户执行操作时,采用分块方式处理用户可减少该操作使用的内存量。
块计数。输入可组合到块中以进行处理的最大用户数目。
组成员属性。输入在组中添加用户时使用用户标识名 (Distinguished Name, DN) 更新的组成员属性名称。
属性名称取决于组的对象类。例如,Sun JavaTM System Enterprise Edition Directory Server 和一些 LDAP 服务器使用包含 groupOfUniqueNames 对象类和 uniqueMember 属性的组。其他 LDAP 服务器使用包含 groupOfUniqueNames 对象类和 member 属性的组。
密码散列算法。输入 Identity Manager 可用于散列密码的算法。支持的值包括:
SSHA
SHA
SMD5
MD5
如果指定 0 或将此字段保留空白,Identity Manager 将不散列密码,并在 LDAP 中存储明文密码,除非 LDAP 服务器执行散列。例如,Sun Java System Enterprise Edition Directory Server 散列密码。
更改命名属性。选中此框可允许修改操作更改代表最左侧相关标识名 (distinguished name, DN) 的用户属性。修改通常会将命名属性更改为 uid 或 cn。
LDAP 激活方法。
如果希望资源使用密码分配执行启用或禁用操作,则将此字段保留空白。
输入对此资源的用户执行激活操作时使用的 nsmanageddisabledrole 关键字、nsaccountlock 关键字或类名。
LDAP 激活参数。根据在“LDAP 激活方法”字段中填写的内容,输入一个值:
如果指定 nsmanageddisabledrole 关键字,则必须使用以下格式输入一个值:
IDMAttribute=CN=nsmanageddisabledrole,baseContext |
如果指定 nsaccountlock 关键字,则必须使用以下格式输入一个值:
IDMAttribute=true |
如果指定类名,则必须使用以下格式输入一个值:
IDMAttribute |
有关“LDAP 激活方法”和“LDAP 激活参数”的详细信息,请参见《Sun Identity Manager 8.1 Resources Reference》。
使用分页结果控制。选中此框可使用 LDAP 分页结果控制在协调期间迭代处理帐户,而不是使用 VLV 控制。
资源必须支持简单分页控制。
保留 LDAP 组成员资格。选中此框可在重命名或删除用户时让适配器保留 LDAP 组成员资格。
如果未启用此选项,则 LDAP 资源保留组成员资格。
单击“测试连接”按钮以测试数据存储库连接配置。
将显示一条消息,以确认连接成功或报告配置错误。
完成后,单击“保存”,然后单击“下一步”以转至“置备程序通知配置”页。
您必须先设置有效的帐户属性和身份模板,然后才能在 LDAP 资源上创建用户。
在为外部资源配置数据存储库后,您必须配置置备程序通知。您还可以配置请求程序通知。本节介绍了使用电子邮件或 Remedy 配置通知的过程。
有关电子邮件模板的详细信息,请参见“配置任务模板”。
可以按照以下说明配置电子邮件通知并将其发送到一个或多个置备程序:
在“置备程序通知配置”页中,从“置备程序通知类型”菜单中选择“电子邮件”。将显示其他选项,如下图中所示。
配置以下选项:
置备请求模板。从菜单中选择“样例外部置备请求”。可以使用此电子邮件模板配置用于向置备程序通知外部资源请求的电子邮件。
按照委托。如果希望 Identity Manager 遵循为置备程序定义的委托,请选中此框。
置备程序提升规则(可选)。选择一个规则以确定在下列情况下将请求提升到的置备程序:当前置备程序在指定的超时时间段内未响应请求。
虽然此菜单中提供了一些示例规则,但您必须选择样例外部置备程序提升规则或使用您自己的自定义规则。样例外部置备程序提升规则使用外部置备程序提升规则确定提升到的置备程序。
提升超时。指定将置备请求提升到下一个置备程序之前等待的最长时间。
如果将此字段保留空白或输入零,则从不提升请求。
如果指定超时但未选择“置备程序提升规则”,Identity Manager 将在请求超过指定超时后将请求提升到配置器。如果配置器不存在,则在超时到期后将请求归类为“未完成”。
置备请求表单。选择一个表单,外部资源置备程序可使用该表单将置备请求标记为“已完成”或“未完成”。
置备程序规则。您必须选择一个规则,以定义在为用户分配外部资源时将置备请求发送到的置备程序。
您可以编写自己的规则以达到此目的。您还可以定义多个置备程序。当任何置备程序完成任务时,会将该任务从所有置备程序的队列中删除。有关编写自定义规则的详细信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。
虽然此菜单中提供了一些示例规则,但您必须选择样例外部置备程序规则或使用您自己的自定义规则。样例外部置备程序规则将配置器指定为置备程序。
通知请求程序。选中此框可向原始请求程序回复电子邮件,其中包含对请求执行的操作的相关信息。例如,置备请求是否完成以及是否需要其他信息等。
在启用此选项时,将显示以下附加字段:
置备请求完成模板。选择在完成请求时用于通知请求程序的样例外部置备请求完成模板。
置备请求未完成模板。选择在未完成请求时用于通知请求程序的样例外部置备请求未完成模板。
单击“保存”。
将显示“配置”页,指示您可以继续执行其他配置任务。
转到“资源”->“列出资源”选项卡。您现在可以基于此配置创建各个外部资源。有关说明,请参见创建资源。
可以按照以下说明创建 Remedy 票证并将其发送到置备程序:
从“置备程序通知类型”菜单中选择 "Remedy"。将显示其他选项,如下图中所示。
配置以下选项:
置备请求 Remedy 模板。从菜单中选择“样例外部 Remedy 模板”。
Identity Manager 提供了一个样例 Remedy 模板,您可以直接使用该模板,也可以根据需要对其进行修改。
Remedy 模板包含一组用于创建 Remedy 票证的字段。Identity Manager 还使用此模板查询 Remedy 的票证状态,以查看任务是否完成。
置备请求 Remedy 规则。您必须从此菜单中选择一个规则以定义 Remedy 配置设置。
虽然此菜单中提供了一些示例规则,但您必须选择样例外部 Remedy 规则或使用您自己的自定义规则。样例外部 Remedy 规则使用 Remedy 规则来确定 Remedy 票证的当前状态是“已完成”还是“未完成”。
Remedy 模板包含一组用于创建 Remedy 票证的字段。Identity Manager 还使用此模板查询 Remedy 的票证状态,以查看任务是否完成。
Identity Manager 使用此规则查询 Remedy 票证以了解状态信息。如果票证状态为“已完成”或“未完成”,则 Identity Manager 将工作项目分别标记为“已完成”或“未完成”。
您可以编写自己的规则以达到此目的。系统提供了一个样例规则(名为“样例外部 Remedy 规则”),您可以直接使用该规则,也可以根据需要对其进行修改。有关编写自定义规则的详细信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。
按照委托。如果希望 Identity Manager 遵循为置备程序定义的委托,请选中此框。
置备程序提升规则(可选)。选择一个规则以确定在下列情况下将请求提升到的置备程序:当前置备程序在指定的超时时间段内未响应请求。
虽然此菜单中提供了一些示例规则,但您必须选择样例外部置备程序提升规则或使用您自己的自定义规则。样例外部置备程序提升规则使用外部置备程序提升规则确定提升到的置备程序。
提升超时。指定将置备请求提升到下一个置备程序之前等待的最长时间。
如果将此字段保留空白或输入零,则从不提升请求。
如果指定超时但未选择“置备程序提升规则”,Identity Manager 将在请求超过指定超时后将请求提升到配置器。如果配置器不存在,则在超时到期后将请求归类为“未完成”。
置备请求表单。选择一个表单,外部资源置备程序可使用该表单将置备请求标记为“已完成”或“未完成”。
置备程序规则。选择一个规则,以便为此外部资源请求确定一个或多个置备程序。
您可以编写自己的规则以达到此目的。您还可以定义多个置备程序。当任何置备程序完成任务时,会将该任务从所有置备程序的队列中删除。有关编写自定义规则的详细信息,请参见《Sun Identity Manager Deployment Reference》中的第 4 章 “Working with Rules”。
样例外部置备程序。将配置器指定为置备程序。
样例外部置备程序提升。使用外部置备程序提升规则来确定提升到的置备程序。
样例外部 Remedy 规则。定义 Remedy 配置器设置。
通知请求程序。如果要在完成或未完成请求时向请求程序发送电子邮件,请选中此框。在启用此选项时,将显示以下附加字段:
置备请求完成模板。选择在完成请求时使用的电子邮件模板。
置备请求未完成模板。选择在未完成请求时使用的电子邮件模板。
有关电子邮件模板的详细信息,请参见配置任务模板。
单击“保存”。
将显示“配置”页,指示您可以继续执行其他配置任务。
转到“资源”->“列出资源”选项卡。您现在可以基于此配置创建各个外部资源。有关说明,请参见创建外部资源。