5.2.2. プロパティーファイルに基づくユーザーおよびパスワード認証の設定

AMQ Broker は、アドレスに基づいてキューにセキュリティーを適用するための柔軟なロールベースのセキュリティーモデルをサポートします。キューは、1 対 1(ポイントツーポイントメッセージングの場合) または多対 1(パブリッシュ/サブスクライブメッセージング用) のいずれかのアドレスにバインドされます。メッセージがアドレスに送信されると、ブローカーはそのアドレスにバインドされたキューのセットを検索し、メッセージをそのキューのセットにルーティングします。

基本的なユーザーとパスワード認証が必要な場合は、PropertiesLoginModule を使用して定義します。このログインモジュールは、ブローカーにローカルに保存される以下の設定ファイルに対してユーザーの認証情報をチェックします。

artemis-users.properties
ユーザーおよび対応するパスワードの定義に使用
artemis-roles.properties
ロールを定義し、ユーザーをそれらのロールに割り当てるのに使用します。
login.config
ユーザーおよびパスワード認証、およびゲストアクセス用のログインモジュールの設定に使用

artemis-users.properties ファイルには、セキュリティーを確保するために、ハッシュ化されたパスワードを含めることができます。

以下のセクションでは、設定方法を説明します。

5.2.2.1. 基本的なユーザーとパスワード認証の設定

以下の手順は、基本的なユーザーとパスワード認証を設定する方法を説明します。

手順

  1. <broker-instance-dir>/etc/login.config 設定ファイルを開きます。デフォルトでは、新しい AMQ Broker 7.8 インスタンスのこのファイルには以下の行を追加します。

    activemq {
       org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule sufficient
           debug=false
           reload=true
           org.apache.activemq.jaas.properties.user="artemis-users.properties"
           org.apache.activemq.jaas.properties.role="artemis-roles.properties";
             };
    activemq
    設定のエイリアス。
    org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule
    実装クラス。
    sufficient

    PropertiesLoginModule に必要とされる成功レベルを指定するフラグ。設定可能な値は次のとおりです。

    • 必須: ログインモジュールが正常に実行される必要があります。認証は、成功または失敗に関係なく、指定のエイリアスで設定されたログインモジュールのリストの実行をそのまま継続します。
    • 必須: ログインモジュールが正常に実行される必要があります。失敗により、即座に制御がアプリケーションに返されます。認証は、指定のエイリアス下で設定されたログインモジュールのリストを実行しません。
    • sufficient: ログインモジュールは正常に実行される必要はありません。成功した場合には、制御がアプリケーションに返り、認証はこれ以上続行しません。認証に失敗すると、認証試行により、指定のエイリアス下で設定されたログインモジュールのリストが続行されます。
    • オプション: ログインモジュールは正常に実行される必要はありません。認証は、成功または失敗に関係なく、指定のエイリアスで設定されたログインモジュールのリストを継続します。
    org.apache.activemq.jaas.properties.user
    ログインモジュール実装のユーザーとパスワードのセットを定義するプロパティーファイルを指定します。
    org.apache.activemq.jaas.properties.role
    ユーザーをログインモジュール実装に定義されたロールにマップするプロパティーファイルを指定します。
  2. <broker-instance-dir>/etc/artemis-users.properties 設定ファイルを開きます。
  3. ユーザーを追加して、ユーザーにパスワードを割り当てます。以下に例を示します。

    user1=secret
    user2=access
    user3=myPassword
  4. <broker-instance-dir>/etc/artemis-roles.properties 設定ファイルを開きます。
  5. artemis-users.properties ファイルに追加したユーザーにロール名を割り当てます。以下に例を示します。

    admin=user1,user2
    developer=user3
  6. <broker-instance-dir>\etc\bootstrap.xml 設定ファイルを開きます。
  7. 必要に応じて、以下のようにセキュリティードメインエイリアス (このインスタンスでは activemq) をファイルに追加します。

    <jaas-security domain="activemq"/>