5.5. 認証および承認での Kerberos の使用

AMQP プロトコルでメッセージを送受信する場合、クライアントは Simple Authentication and Security Layer (SASL) フレームワークの GSSAPI メカニズムを使用して、AMQ Broker が認証する Kerberos セキュリティー認証情報を送信できます。Kerberos 認証情報は、認証されたユーザーを LDAP ディレクトリーまたはテキストベースのプロパティーファイルで設定された割り当てられたロールにマッピングすることで、承認にも使用できます。

Transport Layer Security (TLS) と共に SASL を使用して、メッセージングアプリケーションのセキュリティーを確保できます。SASL はユーザー認証を行い、TLS はデータの整合性を確保します。

重要
  • AMQ Broker が Kerberos 認証情報を認証および承認する前に、Kerberos インフラストラクチャーをデプロイし、設定する必要があります。Kerberos のデプロイメントに関する詳細は、オペレーティングシステムのドキュメントを参照してください。

  • Oracle または IBM JDK のユーザーは、Java Cryptography Extension(JCE) をインストールする必要があります。詳細は、Oracle version of the JCE または IBM version of the JCE のドキュメントを参照してください。

以下の手順では、認証および承認に Kerberos を設定する方法を説明します。

5.5.1. Kerberos を使用するネットワーク接続の設定

AMQ Broker は、Simple Authentication and Security Layer (SASL) フレームワークの GSSAPI メカニズムを使用して、Kerberos セキュリティー認証情報と統合します。AMQ Broker で Kerberos を使用するには、Kerberos 認証情報を使用するクライアントを認証または承認する各アクセプターを GSSAPI メカニズムを使用するように設定する必要があります。

以下の手順では、Kerberos を使用するようにアクセプターを設定する方法を説明します。

前提条件

  • AMQ Broker が Kerberos 認証情報を認証および承認する前に、Kerberos インフラストラクチャーをデプロイし、設定する必要があります。

手順

  1. ブローカーを停止します。

    1. Linux の場合:

      <broker_instance_dir>/bin/artemis stop
    2. Windows の場合:

      <broker_instance_dir>\bin\artemis-service.exe stop
  2. <broker_instance_dir>/etc/broker.xml 設定ファイルを開きます。
  3. name-value ペアの saslMechanisms=GSSAPIacceptor の URL のクエリー文字列に追加します。

    <acceptor name="amqp">
      tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI
    </acceptor>

    上記の設定は、Kerberos クレデンシャルの認証時に、アクセプターが GSSAPI メカニズムを使用することを意味します。

  4. (オプション) PLAIN および ANONYMOUS SASL メカニズムもサポートされます。複数のメカニズムを指定するには、コンマ区切りリストを使用します。以下に例を示します。

    <acceptor name="amqp">
      tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN
    </acceptor>

    結果は、GSSAPI および PLAIN SASL メカニズムの両方を使用するアクセプターです。

  5. ブローカーを起動します。

    1. Linux の場合:

      <broker_instance_dir>/bin/artemis run
    2. Windows の場合:

      <broker_instance_dir>\bin\artemis-service.exe start

関連情報