配置 Java 客户机以进行 Kerberos 认证

Java™ 客户机可使用 Kerberos 主体名称和密码或使用 Kerberos 凭证高速缓存 (krb5Ccache),向 WebSphere® Application Server 进行认证。

过程

  1. 创建 Kerberos 配置文件(krb5.inikrb5.conf)。有关更多信息,请参阅创建 Kerberos 配置文件
  2. 将您所创建的 krb5.inikrb5.conf 文件放入缺省位置。 如果任一文件都不在缺省位置中,那么您必须在 sas.client.props 文件中,为 com.ibm.COBRA.krb5ConfigFile 设置正确的路径和 Kerberos 配置文件名。

    [Windows]缺省位置是 c:\winnt\krb5.ini

    [Linux]缺省位置是 /etc/krb5.conf

    [AIX][HP-UX][Solaris][z/OS]缺省位置是 /etc/krb5/krb5.conf

    [IBM i]缺省位置是 /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf

  3. sas.client.props 文件中,将 com.ibm.CORBA.authenticationTarget 属性设置为 KRB5。 有关更多信息,请阅读有关配置安全性的信息。
  4. 此外,在 sas.client.props 文件中,将 com.ibm.CORBA.loginSource 属性设置为如下所示的其中一个受支持的值:
    如果 authenticationTarget 是 BasicAuth,那么受支持的 loginSource 如下:
    • prompt [缺省值]
    • properties
    • stdin
    • none
    如果 authenticationTarget 是 KRB5,那么受支持的 loginSource 如下:
    • prompt [缺省值]
    • properties
    • stdin
    • none
    • krb5Ccache
    • krb5Ccache:prompt
    • krb5Ccache:properties
    • krb5Ccache:stdin
    另请考虑如下各项:
    krb5Ccache:prompt
    先使用 krb5Ccache 向 WebSphere Application Server 认证。如果失败,那么回退到 prompt。
    krb5Ccache:properties
    先使用 krb5Ccache 向 WebSphere Application Server 认证。如果失败,那么回退到 properties。
    krb5Ccache:stdin
    先使用 krb5Ccache 向 WebSphere Application Server 认证。如果失败,那么回退到 stdin。
  5. 如果 authenticationTarget 是 KRB5,那么 Java 客户机应用程序必须具有 wsjaas_client.conf 文件。 如果不使用 launchClient 命令,那么必须设置 java 选项,如下所示:
    -Djava.security.auth.login.config=wsjaas_client.config
  6. 如果 authenticationTarget 是 KRB5 且 loginSource 是 Kerberos 凭证高速缓存,请执行以下操作:
    1. wsjaas_client.conf 文件中,更新 WSKRB5Login 条目:
      WSKRB5Login{
          com.ibm.ws.security.auth.kerberos.Krb5LoginModuleWrapperClient required
          credsType=INITIATOR useFirstPass=false 
      forwardable=false renewable=false noAddress=false;
      };
    2. 如果 Kerberos 凭证高速缓存并不在缺省位置中,请将 com.ibm.CORBA.krb5CcacheFile 属性设置为 URL: 例如:
      com.ibm.CORBA.krb5CcacheFile=FILE:/home/smith/krb5cc_smith
      Kerberos 凭证高速缓存文件的缺省位置取决于您所使用的操作系统。以如下顺序定位用户凭证高速缓存:

      Java 属性 KRB5CCNAME 所引用的文件
      <user.home>/krb5cc_<user.name>
      <user.home>/krb5cc(如果无法获取 <user.name>)

      注: 如果使用 Kerberos 凭证高速缓存进行认证,那么客户机 Kerberos 授权凭单不可更新。
  7. 可选: 如果发生错误,请确保所有 WebSphere Application Server 机器的时钟都与 KDC 机器的时钟同步。通过使用 kinit 命令来验证 Kerberos 主体名称和密码。 建议使用 Java SE Development Kit (JDK) 8 随附的 kinit 命令。
    请输入以下内容以获取此命令的帮助:
    kinit -help
    kinit 命令的示例如下所示。在本示例中,可以为 duke 获取 Kerberos 授予凭单的凭单 (TGT),且 Kerberos 凭证高速缓存是存储在缺省位置 c:\Documents and Settings\duke\krb5cc_duke 中:
    kinit duke@JAVA.SUN.COM
    注: 此命令用法可能并不适用于所有 KDC 版本。
    [z/OS]
    注: Kerberos 主体名称和密码都区分大小写。如果是在 z/OS 上使用 KDC,那么必须按原样输入 RACF 用户标识的 KERB 段中所显示的 Kerberos 主体名称。除非对 RACF 启用了混合大小写的密码,否则必须对 kinit 命令输入所有字母均为大写的密码。

结果

您现在已配置 Java 客户机进行 Kerberos 认证。

可使用管理控制台或使用 wsadmin 命令在服务器端完成 Kerberos 的配置。有关更多信息,请阅读有关使用管理控制台将 Kerberos 配置成认证机制或 Kerberos 认证命令的信息。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_kerb_auth_client
文件名:tsec_kerb_auth_client.html