4.4 实施 SecretStore 支持的身份凭证供应策略

SecretStore 支持的身份凭证供应策略在实施时非常用户化。根据 SecretStore 安装的平台、供应的应用程序以及使用的 Identity Manager 驱动程序,实施该策略时的步骤将有所不同。

实施 SecretStore 支持的身份凭证供应策略:

4.4.1 满足 Novell SecretStore 支持的身份凭证供应策略的要求

若要实施 SecretStore 支持的身份凭证供应策略,必须具备以下条件:

  • 带有 Support Pack 1 的 Identity Manager 3.0
    • 必须安装在 eDirectory 8.7x 上,不支持 eDirectory 8.8
    • 要验证 jsso.jaridmcp.jarjnet.jar 位于 Identity Manager Java 库的标准位置
  • SecretStore 3.3 或更高版本

验证个人环境满足要求后,请按Section 4.4.2, 确定 Novell SecretStore 的部署配置参数继续。

4.4.2 确定 Novell SecretStore 的部署配置参数

若要提供Figure 4-5中阐述的部署方案中描述的同步功能,首先需收集所有与 Identity Manager 和 SecretStore 环境相关的业务处理信息。可以打印Table 4-3, SecretStore 的身份凭证供应策略工作表,并将其用作记录信息的工作表。

Table 4-3 SecretStore 的身份凭证供应策略工作表

所需的配置信息

信息

1) 将为万维网一次签到供应配置哪些应用程序?

 

2) SecretStore 储存库服务器的 DNS 名称或 IP 地址。

 

3) SecretStore 储存库服务器的 SSL LDAP 端口。

 

4) SecretStore 储存库服务器管理员的完全限定的 LDAP 判别名。

 

5) SecretStore 储存库服务器的管理员口令。

 

6) 从 SecretStore 服务器导出 SSL 证书的完整路径及该证书的名称。对于 Identity Manager 服务器而言,该证书必须是本地的。

 

7) 确定多个驱动程序共同使用一个 SecretStore 储存库,还是由每个驱动程序单独使用一个储存库。

 

8) 记录正在使用的 SecretStore 机密的类型。

有两种受支持的机密类型:

  • A:应用程序机密(SS_App:前缀)
  • C:身份凭证集机密(SS_CredSet:前缀)

9) 所供应的每个应用程序的应用程序 ID 或身份凭证集名称。

 

10) 查找每个应用程序的所有所需鉴定密钥,例如用户名和口令等。每个应用程序的鉴定密钥可能会有所不同。

 

11) 确定是否可以使用静态值设置所有的鉴定密钥值。

 

12) 对于每个用户都不同或有可能不同的非静态值,请记录非静态信息(事件信息或 Identity Vault 特性值)的源。

 

13) 如果正在驱动程序上实施 SecretStore 供应,而该驱动程序的口令还与目标应用程序的口令同步,则请确定是在将口令设置到目标应用程序服务器之前还是之后供应 SecretStore。

 

14) 储存库和应用程序对象所储存的驱动程序对象的名称。(可以为不同的驱动程序。)

 

15) 确定目标应用程序的用户对象 DN。

 

供应配置数据的示例

本供应方案将确定位于财务 eDirectory 鉴定树上的用户的以下示例数据,从而为财务部门的 GroupWise 域服务器供应用户的 SecretStore 身份凭证:

SecretStore 储存库信息

Table 4-4 SecretStore 的身份凭证供应策略工作表示例

所需的配置信息

信息

1) 将为万维网一次签到供应配置哪些应用程序?

GroupWise

2) SecretStore 储存库服务器的 DNS 名称或 IP 地址。

151.150.191.5

3) SecretStore 储存库服务器的 SSL LDAP 端口。

636

4) SecretStore 储存库服务器管理员的完全限定的 LDAP 判别名。

cn=admin、ou=finance、o=Tesetco Financials

5) SecretStore 储存库服务器的管理员口令。

dixml

6) 从 SecretStore 服务器导出 SSL 证书的完整路径及该证书的名称。对于 Identity Manager 服务器而言,该证书必须是本地的。

c:\novell\nds\FinanceAD.cer

7) 确定多个驱动程序共同使用一个 SecretStore 储存库,还是由每个驱动程序单独使用一个储存库。

在本示例中,只有一个储存库。

8) 记录正在使用的 SecretStore 机密的类型。

有两种受支持的机密类型:

  • A:应用程序机密(SS_App:前缀)
  • C:身份凭证集机密(SS_CredSet:前缀)

9) 所供应的每个应用程序的应用程序 ID 或身份凭证集名称。

GroupWise_Credentials

10) 查找每个应用程序的所有所需鉴定密钥,例如用户名和口令等。每个应用程序的鉴定密钥可能会有所不同。

用户名口令

11) 确定是否可以使用静态值设置所有的鉴定密钥值。

本方案中没有静态信息。

12) 对于每个用户都不同或有可能不同的非静态值,请记录非静态信息(事件信息或 Identity Vault 特性值)的源。

用户名:Identity Vault 特性“CN”口令:事件 <password>

13) 如果正在驱动程序上实施 SecretStore 供应,而该驱动程序的口令还与目标应用程序的口令同步,则请确定是在将口令设置到目标应用程序服务器之前还是之后供应 SecretStore。

之后

14) 储存库和应用程序对象所储存的驱动程序对象的名称。(可以为不同的驱动程序。)

GroupWise-Finance 驱动程序

15) 确定目标应用程序的用户对象 DN。

Identity Vault 特性“DirXML-ADContext”

其它环境信息:

  • 财务部门 eDirectory 树将作为所有财务应用程序的 SecretStore 储存库。
  • 所有财务部门供应驱动程序都位于名为“财务驱动程序”的驱动程序集中。
  • Identity Vault 特性的 employeeStatus 设置为”值“I”时,必须删除 GroupWise 帐户,GroupWise 用户帐户的 SecretStore 身份凭证也要从 eDirectory 用户中去除。

从所收集的数据中可以看出,SecretStore 储存库信息为供应财务部门应用程序的所有驱动程序提供全局信息。此外,可以静态配置所有供应信息,但 GroupWise 登录参数用户名、口令和目标用户 DN 除外。

确定所有参数后,请按Section 4.4.3, 创建 Novell SecretStore 的储存库对象继续。

4.4.3 创建 Novell SecretStore 的储存库对象

储存库对象储存 SecretStore 的静态配置信息。储存库信息独立于使用应用程序身份凭证的应用程序。无论连接什么系统(例如,SAP、PeopleSoft、Notes 等),所有供应事件都可应用此信息。储存库对象可以在 Designer 或 iManager 中创建。

在 Designer 中创建 Novell SecretStore 储存库对象

在 Designer 中创建储存库对象的方法有很多种,下面的方法是其中之一:

  1. 在“大纲”视图中,右击要储存储存库对象的驱动程序对象。

  2. 单击“身份凭证供应”>“新建储存库对象”

  3. 指定储存库对象的名称。

  4. 选择 NSSRepository.xml 以使用 SecretStore 模板。

  5. 单击“确定”

  6. 在“大纲”视图中,双击储存库对象以添加配置信息。

  7. 单击“是”保存新储存库对象。

  8. 指定 SecretStore 服务器的 DNS 名称或 IP 地址。请参见工作表项 2)

  9. 指定 SecretStore 服务器的 SSL 端口。请参见工作表项 3)

  10. 指定从 SecretStore 服务器导出 SSL 证书的完整路径。此路径必须包括证书名称,而且对于 Identity Manager 服务器而言必须是本地的。请参见工作表项 6)

    NOTE:有关如何导出 SSL 证书的信息,请参考 iManager 文档。

  11. 指定 SecretStore 管理员的完全限定的 LDAP 判别名。请参见工作表项 4)

  12. 单击“设置口令”

  13. 指定并再次输入 SecretStore 管理员的口令,然后单击“确定”。请参见工作表项 5)

  14. 查看信息,然后单击“保存”图标 保存信息。

  15. (可选)如果要创建储存库对象的其它配置参数,请单击“添加新项”图标

    1. 指定参数的名称。

    2. 指定参数的显示名称。

    3. 指定参数说明以供参考。

      参数以字符串的形式储存。

    4. 单击“确定”

    5. 单击“保存”图标 保存储存库对象。

创建储存库对象后,请转至在 Designer 中,创建 Novell SecureLogin 的应用程序对象

在 iManager 中创建 Novell SecretStore 的储存库对象

  1. 在 iManager 中,选择“身份凭证供应”>“配置”

  2. 浏览至将在其中储存储存库对象的驱动程序对象,并选择该对象,然后单击“确定”

  3. 单击“新建”创建储存库。

  4. 指定储存库对象的名称。

  5. 选择 NSSRepository.xml,以使用 SecretStore 模板创建储存库。

  6. 单击“确定”

  7. 指定 SecretStore 服务器的 DNS 名称或 IP 地址。请参见工作表项 2)

  8. 指定 SecretStore 服务器的 SSL 端口。请参见工作表项 3)

  9. 指定从 SecretStore 服务器导出 SSL 证书的完整路径。此路径必须包括证书名称,而且对于 Identity Manager 服务器而言必须是本地的。请参见工作表项 6)

    NOTE:有关如何导出 SSL 证书的信息,请参考 iManager 文档。

  10. 指定 SecretStore 管理员的完全限定的 LDAP 判别名。请参见工作表项 4)

  11. 单击“设置口令”

  12. 指定并再次输入 SecretStore 管理员的口令,然后单击“确定”。请参见工作表项 5)

  13. 查看指定的值,然后单击“确定”

  14. (可选)如果要创建储存库对象的其它配置参数,请单击“新建”

    此示例信息来自Figure 4-1中的方案。

    1. 指定参数的名称。

    2. 指定参数的显示名称。

    3. 指定用作参照的参数说明。

      参数以字符串的形式储存。

    4. 单击“确定”

创建储存库对象后,请转至在 iManager 中,创建 Novell SecureLogin 的应用程序对象

4.4.4 创建 Novell SecretStore 的应用程序对象

应用程序储存 SecretStore 的静态配置参数值。应用程序信息特定于使用应用程序身份凭证的应用程序(例如,GroupWise 客户程序信息或 SAP 数据库客户程序信息)。可以在 Designer 或 iManager 中创建应用程序对象。

在 Designer 中创建 Novell SecretStore 的应用程序对象

在 Designer 中创建应用程序对象的方法有很多种,下面的方法是其中之一:

  1. 在“大纲”视图中,右击要储存应用程序对象的驱动程序对象。

  2. 单击“身份凭证供应”>“新建应用程序对象”

  3. 指定应用程序对象的名称。

  4. 选择 NSSApplication.xml 以使用 SecretStore 模板。

  5. 单击“确定”

  6. 在“大纲”视图中,双击应用程序对象以添加配置信息。

  7. 单击“是”保存新的应用程序对象。

  8. 指定 SecretStore 应用程序 ID。请参见工作表项 9)

  9. 选择“SecretStore 机密类型”。请参见工作表项 8)

  10. 选择“SecretStore 共享机密类型”。请参见工作表项 8)

  11. 选择 SecretStore“使用增强型保护标志”为“禁用”还是“启用”

  12. 如果已启用“增强型保护口令”,则单击“设置口令”以设置该口令。

  13. 指定并再次输入口令,然后单击“确定”

  14. 单击“保存”图标 保存应用程序。

  15. 单击“添加新项”图标 ,添加应用程序所需的鉴定密钥。

    1. 指定鉴定密钥的名称。

    2. 指定鉴定密钥的显示名称。

    3. 指定鉴定密钥的说明以供参考。

      鉴定密钥以字符串的形式储存。

    4. 单击“确定”

    5. 对每个需要输入的新鉴定密钥重复Step 15

  16. 如果鉴定密钥值是所有用户身份凭证共享的静态值,则请指定该值。

  17. 单击“保存”图标 保存应用程序。

创建应用程序对象后,请转至Section 4.4.5, 配置 Novell SecretStore 的身份凭证供应策略

在 iManager 中创建 Novell SecretStore 的应用程序对象

  1. 在 iManager 中,选择“身份凭证供应”>“配置”

  2. 浏览至要储存应用程序对象的驱动程序对象并选择该对象,然后单击“确定”

  3. 选择“应用程序”选项卡,然后单击“新建”

  4. 指定应用程序对象的名称

  5. 选择 NSSApplication.xml,以使用 SecretStore 模板创建应用程序。

  6. 单击“确定”

  7. 指定“SecretStore 应用程序 ID”。请参见工作表项 9)

  8. 选择“SecretStore 机密类型”。请参见工作表项 7)。SecretStore 类型为“共享”或“非共享”

  9. 选择“SecretStore 共享机密类型”。请参见工作表项 8)。共享 SecretStore 类型为“身份凭证集”或“应用程序”

  10. 选择 SecretStore“使用增强型保护标志”为“禁用”还是“启用”

  11. 如果已启用“增强型保护口令”,则单击“设置口令”以设置该口令。

  12. 指定并再次输入口令,然后单击“确定”

  13. 单击“新建”创建应用程序需要的鉴定密钥。请参见工作表项 10)

    1. 指定鉴定密钥的名称。

    2. 指定鉴定密钥的显示名称。

    3. 指定鉴定密钥的说明以供参考。

      鉴定密钥以字符串的形式储存。

    4. 单击“确定”

    5. 对应用程序需要的每个鉴定密钥重复Step 13

  14. 如果鉴定密钥值为静态,则指定该值,然后单击“确定”

创建应用程序对象后,请转至Section 4.4.5, 配置 Novell SecretStore 的身份凭证供应策略

4.4.5 配置 Novell SecretStore 的身份凭证供应策略

创建储存库和应用程序对象后,需要创建一些用于供应 SecretStore 信息的策略。这些策略使用储存在储存库和应用程序对象中的信息。在策略构建器中,有两种操作可用于供应 SecretStore 身份凭证:

清除 SSO 身份凭证

“清除 SSO 身份凭证”操作允许清除 SSO 身份凭证,因此可以取消对对象的供应。

Figure 4-6 清除 SSO 身份凭证

  • 输入身份凭证储存对象 DN: 浏览至储存库对象并选择该对象。

  • 输入目标用户 DN: 使用自变量构建器创建目标用户的 DN。请参见工作表项 15)

  • 输入应用程序身份凭证 ID: 指定应用程序 ID。请参见工作表项 9)

  • 输入登录参数字符串: 起动字符串构建器,然后输入应用程序的每个鉴定密钥。请参见工作表项 10)

设置 SSO 身份凭证

创建用户对象或修改口令后,“设置 SSO 身份凭证”操作允许设置 SSO 身份凭证。

Figure 4-7 设置 SSO 身份凭证

  • 输入身份凭证储存对象 DN: 浏览至储存库对象并选择该对象。

  • 输入目标用户 DN: 使用自变量构建器创建目标用户的 DN。请参见工作表项 15)

  • 输入应用程序身份凭证 ID: 指定应用程序 ID。请参见工作表项 9)

  • 输入登录参数字符串: 起动字符串构建器,然后输入应用程序的每个鉴定密钥。请参见工作表项 10)

身份凭证供应策略的示例

可以根据满足环境的需要实施和自定义身份凭证供应策略。下面的示例说明如何对Figure 4-5演示的方案实施这些策略。

在财务方案中,成功设置 GroupWise 中的口令之后将供应 SecretStore。大多数的必需参数都是静态配置的,可用于储存库对象和应用程序对象中的所有策略。但是也存在一些非静态数据参数(CN、口令和 DirXML-ADContext),在完成 GroupWise 用户 <add><modify-password> 命令,并从 GroupWise 驱动程序 Shim 中返回 <output> 文档后,这些参数才可用。 <output> 文档不再包含任何订购者操作特性,并丢失了命令的用户环境,从而阻止了对此对象的查询。因此,必须执行以下操作:

  • 请确保 GroupWise 驱动程序的订购者创建策略可以强制非静态数据参数的存在。
  • 在将订购者命令发送到 GroupWise 驱动程序 Shim 之前,超速缓存供应操作所需的非静态参数。
  • 成功完成此命令后,请检索 SecretStore 供应要使用的已超速缓存数据。

NOTE:策略样本在 Identity Manager 3.0 Support Pack 1 媒体中为 XML 格式。其文件名分别为 SampleInputTransform.xmlSampleSubCommandTransform.xmlSampleSubEventTransform.xml。这些文件位于以下目录中:

  • linux\setup\utilities\cred_prov
  • nt\dirxml\utilities\cred_prov
  • nw\dirxml\utilities\cred_prov

如果在安装实用程序的过程中选择了身份凭证供应样本策略,则这些文件将安装在 Identity Manager 服务器上。根据所在平台的不同,这些样本策略将分别安装在以下位置:

  • Windows:C:\Novell\NDS\DirXMLUtilities(默认平台;用户可在安装期间进行更改)
  • NetWare:SYS:\System\DirXmlUtilities
  • Linux (eDir 8.7):/usr/lib/dirxml/rules/credprov

这些样本策略提供了开发适用于您的环境的策略的起始点。

操作数据超速缓存

进行所需的数据超速缓存运算时可用的机制是 <operation-data> 要素。您可能需要使用 <add><modify-password> 命令供应 SecretStore 帐户,因此实施非静态数据超速缓存策略的逻辑位置位于订购者命令转换策略中。以下示例显示典型的 SecretStore 供应要素:

<operation-data> <nss-sync-data> <nss-target-user-dn> cn=GLCANYON,ou=finance,o=Testco Financials </nss-target-user-dn> <nss-app-username>GCANYON</nsl-app-username> <password><!-- content suppressed --></password> <nss-passphrase-answer>50024222</nsl-passphrase-answer> </nss-sync-data> </operation-data>

Figure 4-5的财务部门方案样本中,需要以下值来填充操作数据有效负载:

  • 使用 Identity Vault 中的 DirXML-ADContext 特性值填充 <nss-target-user-dn> 要素,该特性值由 eDirectory 驱动程序设置。要确保 eDirectory 驱动程序设置该值时通知 GroupWise 驱动程序,请确保将 DirXML-ADContext 作为通知特性添加到订购者过滤器中。
  • 使用 Identity Vault 中的 CN 特性值填充 <nss-app-username> 要素。
  • 使用 <add><modify-password> 命令中的 <password> 要素值填充口令要素。

SecretStore 供应

在方案样本中,可以检索操作数据且将其用作 SecretStore 身份凭证供应的第一个可用位置位于驱动程序输入转换策略中。在方案样本中,实施了两个策略:

  • 在口令同步成功后设置 SecretStore 身份凭证
  • 如果已删除应用程序用户(未删除 Identity Vault 对象),则去除 SecretStore 身份凭证

    NOTE:SampleInputTransform.xml 文件中含有样本策略,此策略在口令同步成功后设置 SecretStore 身份凭证。该文件位于 Identity Manager 3.0 Support Pack 1 媒体的实用程序目录的 cred_prov 文件夹中。

设置 SecretStore 身份凭证策略需要确保仅当返回命令状态为成功,且存在先前设置的 <operation-data> 时才进行供应。

取消 SecretStore 供应

删除已连接应用程序的用户帐户,但保留 Identity Vault 帐户的策略可以用于多种方案。在财务方案中,将用户的 Identity Vault employeeStatus 特性值设置为“I”时,需要删除 GroupWise 帐户并取消 SecretStore 身份凭证供应。为了处理这种情况,GroupWise 驱动程序的订购者事件转换包含将修改特性值转换为对象删除的策略。因为删除命令完成后仍然需要 eDirectory 帐户名,所以需要在 <delete> 命令中设置 <operation-data> 事件,以便可将此事件用于输入转换策略中的取消 SecretStore 供应策略。

<operation-data> <nss-sync-data> <nss-target-user-dn> cn=GLCANYON,ou=finance,o=Testco Financials </nss-targer-user-dn> </nss-sync-data> </operation-data>

有关如何将 <modify> 事件转换为 <delete> 并创建此要素的策略以 XML 格式存在于名为 SampleSubEventTransform.xml 的文件中,此文件位于 Identity Manager 3.0 Support Pack 1 媒体的 utilities 目录的 cred_prov 文件夹中。