第6章 セキュリティー

AMQ Broker 7 は、トランスポート層セキュリティーを提供して受信ネットワーク接続をセキュアにし、承認によりそれぞれのアドレスに基づいてキューへのアクセスをセキュアにします。これら両方の領域で、セキュリティーモデルは AMQ 6 と非常に似ています。ただし、設定プロセスは異なります。

6.1. トランスポート層セキュリティーの設定方法

AMQ 6 と同様に、AMQ Broker 7 を使用すると、SSL/TLS を使用して受信ネットワーク接続をセキュア化できます。ただし、設定構文と設定プロパティーにはいくつかの違いがあります。

AMQ 6 では、キーストアとトラストストアを定義する SSL コンテキストを作成し、セキュリティー保護する各トランスポートコネクターに SSL 属性を追加して、トランスポート層セキュリティーが設定されていました。

AMQ Broker 7 では、トランスポート層は SSL をネイティブで使用する Netty をベースにしています。そのため、トランスポート層セキュリティーを設定するには、セキュリティー保護する各アクセプターに必要な SSL 属性を追加するだけです。別の SSL コンテキストを追加する必要はありません。

たとえば、以下の設定では、OpenWire クライアントからのセキュアな接続を受け入れます。

AMQ 6 の場合

  1. INSTALL_DIR/etc/activemq.xml ファイルで SSL コンテキストを定義します。

    <sslContext>
        <sslContext keyStore="file:${activemq.conf}/broker.ks" keyStorePassword="password"/>
    </sslContext>
  2. ブローカー設定ファイルで、OpenWire クライアントからのセキュアな接続を受け入れるようにトランスポートコネクターを作成します。

    <transportConnector name="ssl" uri="ssl://localhost:61617?transport.needClientAuth=true"/>

AMQ Broker 7 の場合

  • BROKER_INSTANCE_DIR/etc/broker.xml 設定ファイルで、OpenWire クライアントからのセキュアな接続を受け入れるようにアクセプターを作成または更新します。

    <acceptor name="netty-ssl-acceptor">tcp://localhost:61617?sslEnabled=true;keyStorePath=${data.dir}/../etc/broker.ks;keyStorePassword=password;needClientAuth=true</acceptor>

一方向または双方向 TLS のいずれかを設定できます。以下の表では、その方法について説明しています。

メソッド説明

一方向 TLS

ブローカーのみが証明書を提示します。この方法では、サーバー側の証明書用に Java KeyStore が必要です。

詳細は、『Configuring AMQ Broker』「Securing connections」を参照してください。

双方向 TLS (相互認証)

ブローカーとクライアントの両方が証明書を提示します。この方法では、サーバー側の証明書用の Java KeyStore と、ブローカーが信頼するクライアントのキーを保持する TrustStore が必要です。

詳細は、『Configuring AMQ Broker』「Securing connections」を参照してください。

注記

AMQ Broker 7 用に既存のキーストアおよびトラストストアを再利用するには、それらを AMQ Broker 7 ブローカーインスタンスにコピーします。

関連情報

  • すべてのトランスポート層セキュリティー設定プロパティーの完全リストは、『Configuring AMQ Broker』「Netty TLS Parameters」を参照してください。