配置用户注册表

要使用外部安全提供程序,您必须将该提供程序添加到联合存储库中。支持多种类型的存储库,其中包括本地操作系统注册表、独立轻量级目录访问协议 (LDAP) 注册表、独立定制注册表和联合存储库。

关于此任务

IBM® Business Process Manager 的缺省安装提供含有 WebSphere® Application Server 文件注册表的联合存储库。

以下步骤显示了使用联合存储库配置 LDAP 安全提供程序(例如,Microsoft Active Directory)的示例。有关如何配置其他支持的存储库(如 IBM Security Directory Suite,之前称为 IBM Tivoli Directory Server)的更多信息,请参阅 IBM 红皮书 IBM Business Process Manager V7.5 生产拓扑配置 LDAP 作为用户帐户注册表部分。
注: IBM 建议您使用联合存储库(也称为虚拟成员管理器)来配置 LDAP 安全提供程序。
限制:
  • 您必须在独立 LDAP 用户存储库中按用户标识来搜索用户。在此配置中不支持按用户名字或姓氏来搜索用户。
  • 如果将 Active Directory 用作用户存储库,并搜索包含具有变音符的字母的用户名,那么搜索将忽略变音符,并将返回包含该字符(不论该字符是否具有变音符)的所有用户名。例如,如果搜索包含了具有重音符的字母 e 的用户名,那么不仅将返回那些用户名,还将返回包含了具有任何其他重音符的 e 或包含了不具有重音符的 e 的用户名。
要点: 如果删除并重新创建用户,那么与嵌入式 Enterprise Content Management (ECM) 系统的连接可能丢失。请参阅管理 IBM BPM 文档库的技术用户
在 LDAP 配置中,您可以指定一个或多个登录属性,比如 uidmail,以允许用户登录到 WebSphere Application Server。比如,对于以下 LDAP 条目:uid=john1; cn=John Doe; mail=john@company.com,如果您已经指定 uidmail 作为登录属性,用户可以通过 john1 和 john@company.com 登录,但无法通过 John Doe 登录。登录属性的值在某个域的所有存储库中必须唯一。比如,请勿将 cn 用作登录属性,因为它可能不唯一。第一个登录属性还必须稳定。比如,mail 不是一个稳定属性,因为它的值会因结婚或离婚等事件而发生变化。使用 WebSphere Application Server 管理控制台指定登录属性。
注: 第一个登录属性在 IBM Business Process Manager 数据库中变成了用户名。该属性禁止更改。如果您更改了第一个登录属性,会导致在 IBM Business Process Manager 数据库中创建新的用户名和重复的用户条目。在这个例子中,john1 是第一个登录属性的值,并且是 IBM Business Process Manager 数据库中的用户名。但是,如果第一个登录属性从 uid 更改为 mail,那么下次同步用户时,会在 IBM Business Process Manager 数据库中为用户名 john@company.com 创建另一个条目。此外,下次 John 登录时,他将看不到更改之前分配给他的任何任务,因为现在他被视为一个新的(无关)用户。

过程

  1. 登录到 WebSphere Application Server 管理控制台。
  2. 单击安全性 > 全局安全性
  3. 用户帐户存储库下,从可用域定义列表中选择联合存储库
  4. 单击配置
  5. 相关项目下,单击管理存储库
  6. 单击添加 > LDAP 存储库,并指定要添加的提供程序的参数。例如,要添加 Microsoft Active Directory,请指定诸如以下示例的值:
    表 1. 用于添加提供程序的参数
    参数 示例值
    存储库标识 SALOMLDAP // change to suit
    目录类型 Microsoft Windows Active Directory
    主要主机名 10.1.5.18
    绑定专有名称 cn=LDAP_USER,CN=Users,DC=COMPANYQA,DC=com
    绑定密码 pwsaaswp
  7. 单击确定,然后单击保存
  8. 在“联合存储库”页面上,单击将基本条目添加到域,并指定诸如以下示例的值:
    表 2. 用于将基本条目添加到域的参数
    基本条目名称 示例值
    基本条目的专有名称(用于唯一标识域中的该条目集) cn=Users,DC=COMPANYQA,DC=com
    该存储库中基本条目的专有名称 cn=Users,DC=COMPANYQA,DC=com
  9. 单击确定,然后单击保存

    如果您的外部安全提供程序 (LDAP) 包含大量条目,那么必须增加联合存储库中的最大搜索结果数。完全同步将查询 LDAP 中的所有条目。 此流程受限于 wimconfig.xml 中的最大搜索值。 在 WebSphere Application Server 中,最大搜索结果数的缺省值是 4500 个条目。此值并非 WebSphere Application Server 可以处理的最大 LDAP 用户或组数,而是基于 wimconfig.xml 文件中的配置值返回的最大数。检查 SystemOut.log 文件以查找 CWWIM1018E 错误代码。如果您遇到此问题,那么可以增加 wimconfig.xml 文件中的最大搜索结果数,如 WebSphere Application Server 信息中心中主题LDAP 存储库搜索期间发生 MaxResultsExceededException 中所述。完成更改后,请重新启动 IBM BPM 服务器,然后进行完全同步

  10. 在“全局安全性”页面上,单击设置为当前值,然后单击应用
  11. 关闭所有 IBM BPM 服务器。 对于网络部署环境,您必须关闭所有服务器、节点代理程序和 Deployment Manager。
  12. 确保在 WebSphere Application Server 文件注册表和您刚添加的安全提供程序中不存在重复的用户。 如果存在重复的用户,那么运行 IBM Business Process Manager 产品组件时将发生错误。
  13. 虽然不需要设置任何虚拟成员管理器 (VMM) 属性,但是您可以使用 100Custom.xml 文件设置下表中的一个或多个 VMM 属性(如果属性适用于您的环境):
    表 3. IBM Business Process Manager VMM 属性
    属性 100Custom.xml 结构 描述
    user-full-name-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <user-full-name-prop>cn
       </user-full-name-prop>
      </vmm-options>
     </security>
    </common>

    IBM Business Process Manager 不再自动检索 LDAP displayname 属性,以用作全名。用户全名现在来源于 LDAP cn 属性。但是,如果您仍希望用户全名派生自 displayname 属性,您可以使用 user-full-name-prop 属性。

    此属性的缺省值为 cn。有关此属性的更多信息,请参阅主题以更易于读取的格式检索用户的全名

    normalize-whitespaces-for-distinguished-names-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <normalize-whitespaces-for-distinguished-names-prop>true
       </normalize-whitespaces-for-distinguished-names-prop>
      </vmm-options>
     </security>
    </common>
    启用或禁用检测并移除 VMM LDAP 存储库中专有名称内空格的操作。

    此属性的缺省值为 true。有关此属性的更多信息,请参阅主题配置 IBM BPM 以处理 LDAP 服务器中的空格和字母大小写变化

    normalize-case-for-distinguished-names-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <normalize-case-for-distinguished-names-prop>INSQL
       </normalize-case-for-distinguished-names-prop>
      </vmm-options>
     </security>
    </common>
    启用或禁用将虚拟 VMM LDAP 存储库中专有名称内大写字母标准化的操作。

    此属性的缺省值为 INSQL。有关此属性的更多信息,请参阅主题配置 IBM BPM 以处理 LDAP 服务器中的空格和字母大小写变化

    group-user-member-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <group-user-member-prop>groupusermember</group-user-member-prop>
      </vmm-options>
     </security>
    </common>
    使用反映组内所有用户的组成员资格属性来配置 IBM Business Process Manager 和 VMM。

    此属性没有缺省值。有关此属性的更多信息,请参阅主题使用可反映组内所有用户的组成员资格属性来配置 IBM BPM 和 VMM

    group-member-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <group-member-prop>groupmember</group-member-prop>		
      </vmm-options>
     </security>
    </common>

    使用反映组内直接用户的组成员资格属性来配置 IBM Business Process Manager 和 VMM。

    此属性没有缺省值。有关此属性的更多信息,请参阅主题使用可反映组内直接用户的组成员资格属性来配置 IBM BPM 和 VMM

    group-name-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <group-name-prop>cn
       </group-name-prop>
      </vmm-options>
     </security>
    </common>
    指定联合存储库中将视为组名的属性名称。该属性可以映射到在多个连接的存储库内具有不同名称的属性。此属性的缺省值为 cn
    user-id-prop
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <user-id-prop>principalName
       </user-id-prop>
      </vmm-options>
     </security>
    </common>
    指定联合存储库中视为用户标识的属性的名称。此属性的缺省值为 principalName。缺省值将自动映射到各个联合存储库中的第一个登录属性。此值正确,但仍可进行配置以实现向后兼容性。
    threshold-for-existing-user-retrieval-mode
    <common merge="mergeChildren">
     <security>
      <vmm-options>
       <threshold-for-existing-user-retrieval-mode>1000
       </threshold-for-existing-user-retrieval-mode>
      </vmm-options>
     </security>
    </common>
    确定为每个用户调用 VMM 还是一次性为所有用户调用 VMM。

    此属性的缺省值为 1000,表示有 1000 个可用用户。有关此属性的更多信息,请参阅主题同步用户

    主题Security configuration properties中包含有关 LDAP 属性的更多信息。有关用户注册表内的重复属性以及必须唯一且稳定的注册表元素的信息,请参阅主题同步用户和组
  14. 启动所有 IBM BPM 服务器。 对于网络部署环境,您必须重新启动所有服务器、节点代理程序和 Deployment Manager。

    如果您已为运行时环境配置服务器集群,请停止并重新启动该集群中的所有服务器。