20.7.2.4. GSSAPI(Kerberos)
GSSAPI/Kerberos はより複雑なセットアップを必要としますが、集中認証サーバーでは多くの企業で使用されます。Kerberos で正常に認証するには、LoginContext を作成する必要があります。これにより、サービスとの認証に使用するトークンとして使用される TGT(Ticket Granting Ticket)を取得します。
ログイン設定ファイルでログインモジュールを定義する必要があります。
gss.conf
GssExample {
com.sun.security.auth.module.Krb5LoginModule required client=TRUE;
};
GssExample {
com.sun.security.auth.module.Krb5LoginModule required client=TRUE;
};
IBM JDK を使用している場合、上記は以下のようになります。
gss-ibm.conf
GssExample {
com.ibm.security.auth.module.Krb5LoginModule required client=TRUE;
};
GssExample {
com.ibm.security.auth.module.Krb5LoginModule required client=TRUE;
};
以下のシステムプロパティーを設定する必要もあります。
java.security.auth.login.config=gss.conf
java.security.krb5.conf=/etc/krb5.conf
krb5.conf ファイルはお使いの環境に依存しており、KDC を参照する必要があります。kinit を使用して Kerberos 経由で認証できることを確認します。
次に、以下のようにクライアントを設定します。
hotgitops クライアント GSSAPI 設定
簡潔に、同じコールバックハンドラーを使用してクライアントサブジェクトを取得し、SASL GSSAPI mech で認証を処理するのに、異なるコールバックが実際に呼び出されます。NameCallback と PasswordCallback はクライアントサブジェクトを構築する必要がありますが、AuthorizeCallback は SASL 認証中に呼び出されます。