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 を参照してください。
プリンシパルの指定や既存のチケットキャッシュまたはキータブを使用するかどうかなど、Kerberos プロセスに使用する認証情報を確立するように LoginModule
を設定できます。ただし、LoginModule
設定が、必要なすべての認証情報を確立する手段を提供しない場合は、これを要求して、クライアント Connection
オブジェクトからユーザー名とパスワードの値が渡されます。これは、ConnectionFactory
を使用するか、URI オプションから以前に設定した 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 のすべてのホストネストされたオプションに指定する必要があります。