7.2. Kerberos を使用した認証
クライアントは、適切に設定されたサーバーで使用される場合に Kerberos を使用して認証するように設定できます。Kerberos を有効にするには、以下の手順に従います。
amqp.saslMechanisms
URI オプションを使用して、SASL 認証にGSSAPI
メカニズムを使用するようにクライアントを設定します。amqp://myhost:5672?amqp.saslMechanisms=GSSAPI failover:(amqp://myhost:5672?amqp.saslMechanisms=GSSAPI)
java.security.auth.login.config
システムプロパティーを、KerberosLoginModule
の適切な設定が含まれる JAAS ログイン設定ファイルのパスに設定します。-Djava.security.auth.login.config=<login-config-file>
ログイン設定ファイルは以下の例のようになります。
amqp-jms-client { com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true; };
使用される正確な設定は、接続に対してクレデンシャルを確立する方法と、使用中の特定の LoginModule
によって異なります。Oracle Krb5LoginModule
の詳細は、Oracle Krb5LoginModule
class reference を参照してください。IBM Java 8 Krb5LoginModule
の詳細は、IBM Krb5LoginModule
class reference を参照してください。
LoginModule
を設定して、プリンシパルの指定や既存のチケットキャッシュまたはキータブを使用するかどうかなど、Kerberos プロセスに使用する認証情報を確立できます。しかし、LoginModule
設定が必要なすべてのクレデンシャルを確立する手段を提供しない場合、ConnectionFactory
を使用して Connection
を作成する場合、クライアント Connection
オブジェクトからユーザー名とパスワードの値が渡されます。
Kerberos は認証の目的でのみサポートされることに注意してください。暗号化には SSL/TLS 接続を使用します。
以下の接続 URI オプションを使用して、Kerberos 認証プロセスに影響を与えることができます。
- sasl.options.configScope
-
認証に使用されるログイン設定エントリーの名前。デフォルトは
amqp-jms-client
です。 - sasl.options.protocol
-
GSSAPI SASL プロセス中に使用されるプロトコル値。デフォルトは
amqp
です。 - sasl.options.serverName
-
GSSAPI SASL プロセス中に使用される
serverName
値。デフォルトは、接続 URI からのサーバーのホスト名です。
これまでで説明した amqp.
オプションおよび transport.
オプションと同様に、これらのオプションはホストごとに指定するか、フェイルオーバー URI のすべてのホストネストされたオプションとして指定する必要があります。