7.2. Kerberos を使用した認証
クライアントは、適切に設定されたサーバーで使用される場合に Kerberos を使用して認証するように設定できます。Kerberos を有効にするには、以下の手順に従います。
amqp.saslMechanismsURI オプションを使用して、SASL 認証にGSSAPIメカニズムを使用するようにクライアントを設定します。amqp://myhost:5672?amqp.saslMechanisms=GSSAPI failover:(amqp://myhost:5672?amqp.saslMechanisms=GSSAPI)
amqp://myhost:5672?amqp.saslMechanisms=GSSAPI failover:(amqp://myhost:5672?amqp.saslMechanisms=GSSAPI)Copy to Clipboard Copied! Toggle word wrap Toggle overflow java.security.auth.login.configシステムプロパティーを、KerberosLoginModuleの適切な設定が含まれる JAAS ログイン設定ファイルのパスに設定します。-Djava.security.auth.login.config=<login-config-file>
-Djava.security.auth.login.config=<login-config-file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログイン設定ファイルは以下の例のようになります。
amqp-jms-client { com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true; };amqp-jms-client { com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true; };Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用される正確な設定は、接続のためにクレデンシャルを確立する方法と、使用中の特定の 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 のすべてのホストネストされたオプションに指定する必要があります。