4.4. AMQ 管理コンソールの設定
ユーザーアクセスおよびブローカーのリソースへのアクセスを要求します。
4.4.1. Red Hat Single Sign-On を使用した AMQ 管理コンソールのセキュア化
前提条件
- Red Hat Single Sign-On 7.4
手順
Red Hat Single Sign-On を設定します。
-
AMQ 管理コンソールのセキュア化に使用する Red Hat Single Sign-On のレルムに移動します。Red Hat Single Sign-On の各レルムには、
Broker
という名前のクライアントが含まれます。このクライアントは AMQ に関連しません。 -
Red Hat Single Sign-Onで、
artemis-console
のような新しいクライアントを作成します。 クライアント設定ページに移動し、以下を設定します。
AMQ 管理コンソール URL への 有効なリダイレクト URI の後に
*
が続きます。例を以下に示します。https://broker.example.com:8161/console/*
-
Web Origins は Valid Redirect URIs と同じ値に発行されます。Red Hat Single Sign-On では、
+
を入力できます。これは、許可される CORS オリジンに Valid Redirect URIs の値が含まれていることを示します。
-
クライアントのロールを作成します(例:
guest
)。 - AMQ Management Console へのアクセスが必要なすべてのユーザーには、Red Hat Single Sign-On グループなどを使用して上記のロールが割り当てられていることを確認してください。
-
AMQ 管理コンソールのセキュア化に使用する Red Hat Single Sign-On のレルムに移動します。Red Hat Single Sign-On の各レルムには、
AMQ Broker インスタンスを設定します。
<broker-instance-dir>/instances/broker0/etc/login.config
ファイルに以下を追加して、AMQ Management Console が Red Hat Single Sign-On を使用するように設定します。console { org.keycloak.adapters.jaas.BearerTokenLoginModule required keycloak-config-file="${artemis.instance}/etc/keycloak-bearer-token.json" role-principal-class=org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal ; };
この設定を追加すると、Red Hat Single Sign-On からベアラートークンの JAAS プリンシパルと要件が設定されます。次のステップで説明するように、Red Hat Single Sign-On への接続は
keycloak-bearer-token.json
ファイルで定義されます。以下の内容で
<broker-instance-dir>/etc/keycloak-bearer-token.json
ファイルを作成し、ベアラートークンの交換に使用する Red Hat Single Sign-On への接続を指定します。{ "realm": "<realm-name>", "resource": "<client-name>", "auth-server-url": "<RHSSO-URL>/auth", "principal-attribute": "preferred_username", "use-resource-role-mappings": true, "ssl-required": "external", "confidential-port": 0 }
<realm-name>
- Red Hat Single Sign-On のレルム名
<client-name>
- Red Hat Single Sign-On のクライアントの名前
<RHSSO-URL>
- Red Hat Single Sign-On の URL
以下の内容で
<broker-instance-dir>/etc/keycloak-js-token.json
ファイルを作成し、Red Hat Single Sign-On 認証エンドポイントを指定します。{ "realm": "<realm-name>", "clientId": "<client-name>", "url": "<RHSSO-URL>/auth" }
<broker-instance-dir>/etc/bootstrap.xml
ファイルを編集して、セキュリティ設定を行います。たとえば、
amq
ロールを持つユーザーがメッセージを消費できるようにし、guest
ロールを持つユーザーがメッセージを送信できるようにするには、以下を追加します。<security-setting match="Info"> <permission roles="amq" type="createDurableQueue"/> <permission roles="amq" type="deleteDurableQueue"/> <permission roles="amq" type="createNonDurableQueue"/> <permission roles="amq" type="deleteNonDurableQueue"/> <permission roles="guest" type="send"/> <permission roles="amq" type="consume"/> </security-setting>
- AMQ Broker インスタンスを実行し、AMQ 管理コンソールの設定を検証します。