Kerberos 認証用 Java クライアントの構成

Java™ クライアントは、Kerberos プリンシパル名とパスワード、または Kerberos クレデンシャル・キャッシュ (krb5Ccache) を使用して、WebSphere® Application Server で認証できます。

手順

  1. 基本の Kerberos 構成ファイル (krb5.ini または krb5.conf) を作成します。 詳しくは、Kerberos 構成ファイルの作成を参照してください。
  2. 作成済みの krb5.ini または krb5.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 プロパティーを、下に示すサポートされる値の 1 つに設定します。
    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 委任チケットは renewable (更新可能) ではありません。
  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 ユーザー ID の KERB セグメントに表示されている Kerberos プリンシパル名を、 そのまま正確に入力する必要があります。RACF で 大/小文字混合のパスワードを有効にしていない場合は、kinit コマンドではパスワードを すべて大文字で入力してください。

タスクの結果

これで、Kerberos 認証の Java クライアントが構成されました。

サーバー・サイドでの Kerberos の構成は、管理コンソールまたは wsadmin コマンドのいずれかを使用して完了することができます。 詳しくは、管理コンソールを使用した認証メカニズムとしての 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