5.2.2. プロパティーファイルに基づくユーザーおよびパスワード認証の設定
AMQ Broker は、アドレスに基づいてキューにセキュリティーを適用するための柔軟なロールベースのセキュリティーモデルをサポートします。キューは、1 対 1(ポイントツーポイントメッセージングの場合) または多対 1(パブリッシュ/サブスクライブメッセージング用) のいずれかのアドレスにバインドされます。メッセージがアドレスに送信されると、ブローカーはそのアドレスにバインドされたキューのセットを検索し、メッセージをそのキューのセットにルーティングします。
基本的なユーザーとパスワード認証が必要な場合は、PropertiesLoginModule
を使用して定義します。このログインモジュールは、ブローカーにローカルに保存される以下の設定ファイルに対してユーザーの認証情報をチェックします。
artemis-users.properties
- ユーザーおよび対応するパスワードの定義に使用
artemis-roles.properties
- ロールを定義し、ユーザーをそれらのロールに割り当てるのに使用します。
login.config
- ユーザーおよびパスワード認証、およびゲストアクセス用のログインモジュールの設定に使用
artemis-users.properties
ファイルには、セキュリティーを確保するために、ハッシュ化されたパスワードを含めることができます。
以下のセクションでは、設定方法を説明します。
5.2.2.1. 基本的なユーザーとパスワード認証の設定
以下の手順は、基本的なユーザーとパスワード認証を設定する方法を説明します。
手順
<broker_instance_dir>/etc/login.config
設定ファイルを開きます。デフォルトでは、新しい AMQ Broker 7.9 インスタンスのこのファイルには以下の行を追加します。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
- ユーザーをログインモジュール実装に定義されたロールにマップするプロパティーファイルを指定します。
-
<broker_instance_dir>/etc/artemis-users.properties
設定ファイルを開きます。 ユーザーを追加して、ユーザーにパスワードを割り当てます。以下は例になります。
user1=secret user2=access user3=myPassword
-
<broker_instance_dir>/etc/artemis-roles.properties
設定ファイルを開きます。 artemis-users.properties
ファイルに追加したユーザーにロール名を割り当てます。以下は例になります。admin=user1,user2 developer=user3
-
<broker_instance_dir>\etc\bootstrap.xml
設定ファイルを開きます。 必要に応じて、以下のようにセキュリティードメインエイリアス (このインスタンスでは activemq) をファイルに追加します。
<jaas-security domain="activemq"/>