第6章 セキュリティー


AMQ JMS には、アプリケーションのニーズに応じて活用できるセキュリティー関連の設定オプションが複数あります。

アプリケーション内で Connection を作成する際に、ユーザー名とパスワードなどの基本的なユーザーの認証情報を ConnectionFactory に直接渡す必要があります。ただし、no-argument ファクトリーメソッドを使用している場合は、接続 URI でユーザーの認証情報を指定することもできます。詳細は、「JMS オプション」 セクションを参照してください。

もう 1 つの一般的なセキュリティー対策として、SSL/TLS が使用されます。クライアントは、amqps URI スキームが接続 URI で指定され、動作を設定するさまざまなオプションとともに、SSL/TLS トランスポートを介してサーバーに 接続 します。詳細は、「SSL/TLS オプション」 セクションを参照してください。

以前の項目と並べると、クライアントが、対応するすべてのものから選択するのではなく、サーバーで提供できる特定の SASL メカニズムのみを使用できるようにクライアントを制限することが望ましい場合があります。詳細は、「AMQP オプション」 セクションを参照してください。

受信した ObjectMessagegetObject() を呼び出すアプリケーションはデシリアライズ中に作成された型を制限する必要がある場合があります。AMQP タイプシステムを使用して設定されたメッセージ本文は ObjectInputStream メカニズムを使用しないため、この予防措置は必要ありません。詳細は、「デシリアライズポリシーオプション」 セクションを参照してください。

6.1. Kerberos を使用した認証

クライアントは、適切に設定されたサーバーで使用される場合に Kerberos を使用して認証するように設定できます。Kerberos を有効にするには、以下の手順に従います。

  1. amqp.saslMechanisms URI オプションを使用して、SASL 認証に GSSAPI メカニズムを使用するようにクライアントを設定します。

    amqp://myhost:5672?amqp.saslMechanisms=GSSAPI
    failover:(amqp://myhost:5672?amqp.saslMechanisms=GSSAPI)
  2. java.security.auth.login.config システムプロパティーを、Kerberos LoginModule の適切な設定が含まれる 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 のすべてのホストネストされたオプションとして指定する必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.