使用 LDAP 注册表为 Liberty JVM 服务器配置安全性

Liberty 使用用户注册表来认证用户并检索有关要执行安全相关操作的用户和组的信息,包括认证和授权。 缺省 CICS ® Liberty 安全性使用 SAF 注册表。 但是,在 CICS 上运行的许多事务由在分布式应用程序服务器上认证其身份的用户启动,因此 CICS 还支持在 Liberty 中使用轻量级目录访问协议 (LDAP) 注册表。 要使用 LDAP,需要手动配置 server.xml

开始之前

  • 确保将 CICS 区域配置为使用 SAF 安全性,并将 SEC=YES 定义为系统初始化参数。
  • 授权应用程序开发者和系统管理员创建,查看,更新和除去 JVMSERVERBUNDLE 资源,以将 Web 应用程序部署到 Liberty JVM 服务器中。 JVMSERVER 资源控制 JVM 服务器的可用性, BUNDLE 资源是 Java™ 应用程序的部署单元,并控制应用程序的可用性。

关于此任务

此任务说明如何为 Liberty JVM 服务器配置 LDAP 安全性,以及如何将 Liberty 安全性与 CICS 安全性集成。 分布式身份映射可用于将 SAF 用户标识与分布式身份相关联。 您可以使用 CICS 分布式身份映射功能来设置分布式身份映射。 然后,用户可以使用其分布式身份 (由 LDAP 服务器认证) 登录到 CICS Web 应用程序。 z/OS® 安全性产品 (RACMAP) 中定义的过滤器确定此身份到 SAF 用户标识的映射。 然后,此 SAF 用户标识可用于通过 JEE 应用程序角色安全性授予对 Web 应用程序的访问权,从而提供与 CICS 事务和资源安全性的集成。 您可以将 SAF 用户标识映射到一个或多个分布式身份。

用于运行任何 Web 请求的缺省事务标识为 CJSA。 您可以使用类型为 JVMSERVERURIMAP 将 CICS 配置为在其他事务标识下运行 Web 请求。 您可以指定 URIMAP 以匹配 Web 应用程序的通用上下文根 (URI) ,从而将事务标识的作用域限定为组成应用程序的 servlet 集。 或者,您可以选择使用更精确的 URI在不同的事务下运行每个单独的 servlet。

过程

  1. 具有 SAF 授权的分布式身份映射

    您可以使用 CICS 分布式身份映射功能 cicsts:distributedIdentity-1.0 ,使 LDAP 分布式身份能够映射到 SAF 用户标识。 当与 CICS 安全性功能部件 cicsts:security-1.0配合使用时, Liberty LDAP 安全性用于认证,并且将尊重 EJB 角色映射中的 JEE 应用程序角色安全性以进行授权。 CICS 事务在映射的 SAF 用户标识下运行,以提供与 CICS 事务和资源安全性的集成。

    1. 配置 WebSphere® Liberty Angel 进程以向 Liberty JVM 服务器提供认证和授权服务,有关更多信息,请参阅 Liberty 服务器 Angel 进程
    2. cicsts:security-1.0cicsts:distributedIdentity-1.0 功能部件添加到 server.xml中的 featureManager 列表。
      <featureManager>
         ...
         <feature>cicsts:security-1.0</feature>
         <feature>cicsts:distributedIdentity-1.0</feature>
      </featureManager>
      ...
      
    3. 通过在 server.xml中定义 LDAP 服务器,配置 Liberty 以使用 LDAP 认证,例如:
        <ldapRegistry id="ldap"
                       host="host.domain.com" port="389"
                       ldapType="IBM Tivoli Directory Server"
                       baseDN="ou=users,dc=domain,dc=com"
                       ignoreCase="true">
        </ldapRegistry>
      有关使用 Liberty 配置 LDAP 用户注册表的完整详细信息,请参阅 在 Liberty 中配置 LDAP 用户注册表
    4. 除去 safRegistry 元素 (如果存在)。 保存对 server.xml的更改。
    5. 进行必要的 RACF ® 定义,包括设置 RACMAP以将分布式身份映射到 SAF 用户标识 (如 Configuring LDAP user registries in Liberty 中所述) ,并提供这些用户标识对相应 EJBROLES 的访问权,如 使用 SAF 角色映射的授权中所述。 CICS 在 safCredentials 配置元素中为您配置 SAF 授权和 mapDistributedIdentities 属性。

    cicsts:distributedIdentity-1.0 功能部件与 cicsts:security-1.0 功能部件配合使用时, Liberty LDAP 安全性将用于认证,并且将尊重来自 EJB 角色映射的 JEE 应用程序角色安全性以进行授权。 CICS 事务在 RACMAP 映射的用户标识下运行,提供与 CICS 事务和资源安全性的集成。

    下一步操作

    返回顶部

  2. 没有 SAF 授权的分布式身份映射

    可以允许 CICS 事务在 RACMAP 映射的用户标识下运行,同时遵循应用程序的 <application-bnd> 元素中配置的角色。 将工作从分布式 Liberty 迁移到 CICS Liberty 时,这可能很有用。 请注意,无法使用 CICS 束来安装应用程序,因为未使用 SAF 授权。 有关更多详细信息,请参阅 使用 SAF 角色映射进行授权

    1. 配置 WebSphere Liberty Angel 进程以向 Liberty JVM 服务器提供认证和授权服务,有关更多信息,请参阅 Liberty 服务器 Angel 进程
    2. cicsts:security-1.0ldapRegistry-3.0 功能部件添加到 server.xml中的 featureManager 列表。
      <featureManager>
         ...
         <feature>cicsts:security-1.0</feature>
         <feature>ldapRegistry-3.0</feature>
      </featureManager>
      ...
      
    3. 通过在 server.xml中定义 LDAP 服务器,配置 Liberty 以使用 LDAP 认证,例如:
        <ldapRegistry id="ldap"
                       host="host.domain.com" port="389"
                       ldapType="IBM Tivoli Directory Server"
                       baseDN="ou=users,dc=domain,dc=com"
                       ignoreCase="true">
        </ldapRegistry>
      在 Liberty 中配置 LDAP 用户注册表中提供了有关使用 Liberty 配置 LDAP 用户注册表的完整详细信息。
    4. 通过将 safCredentials 配置元素中的 mapDistributedIdentities 属性设置为 server.xml中的 true ,配置 Liberty 以使用分布式身份过滤器将分布式身份映射到 SAF 用户标识。
    5. 除去 safRegistry 元素 (如果存在)。 保存对 server.xml的更改。
    6. 创建必要的 RACF 定义,包括设置 RACMAP以将分布式身份映射到 SAF 用户标识,如 Configuring LDAP user registries in Liberty中所述。
    7. 如果授权需要 JEE 应用程序角色安全性,请参阅主题 使用 SAF 角色映射进行授权。 请注意,当 SAF 未用于 JEE 角色授权时,不能使用 CICS 束来安装应用程序。

    应用程序使用 Liberty LDAP 安全性进行认证,并且将 <application-bnd> 元素中的 JEE 应用程序角色安全性用于分布式身份的授权。 在 CICS 中,事务在 RACMAP 映射的用户标识下运行,提供与 CICS 事务和资源安全性的集成。

    下一步操作

    返回顶部

  3. 用于认证和授权的 LDAP

    LDAP 安全性可以在 CICS Liberty JVM 服务器中用于使用 JEE 应用程序角色安全性进行认证和授权。 然后,可以使用 URIMAP 定义来设置用于运行事务的用户标识。 如果将分布式应用程序迁移到 CICS Liberty JVM 服务器中,而不需要任何重要的安全性资源更改,那么此场景可能很有用。

    1. cicsts:security-1.0ldapRegistry-3.0 功能部件添加到 server.xml中的 featureManager 列表。
      <featureManager>
         ...
         <feature>cicsts:security-1.0</feature>
         <feature>ldapRegistry-3.0</feature>
      </featureManager>
      ...
      
    2. 通过在 server.xml中定义 LDAP 服务器,配置 Liberty 以使用 LDAP 认证,例如:
        <ldapRegistry id="ldap"
                       host="host.domain.com" port="389"
                       ldapType="IBM Tivoli Directory Server"
                       baseDN="ou=users,dc=domain,dc=com"
                       ignoreCase="true">
        </ldapRegistry>
      有关使用 Liberty 配置 LDAP 用户注册表的完整详细信息,请参阅 在 Liberty 中配置 LDAP 用户注册表
    3. 除去 safRegistry 元素 (如果存在)。 保存对 server.xml的更改。
    4. 要配置 JEE 应用程序角色安全性以进行授权,请参阅主题 使用 SAF 角色映射进行授权。 请注意,当 SAF 未用于 JEE 角色授权时,不能使用 CICS 束来安装应用程序。

    应用程序将 Liberty LDAP 安全性用于认证,并且将 <application-bnd>元素中的 JEE 应用程序角色安全性用于授权。 在相应的以 URIMAPCICS DFLTUSER 用户标识运行的 CICS 事务中。

    下一步操作

    返回顶部

下一步操作

这适用于所有三个场景:
  • 修改 Liberty 认证高速缓存。
  • 设置 URIMAP 定义以将 Web 应用程序 URI 映射到事务标识。
这适用于场景 1 和 2:
  • 设置 CICS 事务安全性定义,以根据映射的用户标识授予对 URI 的访问权。
返回顶部