1.4. ブローカー設定ファイルのモジュラー


共通の設定を共有する複数のブローカーがある場合は、個別のファイルに共通設定を定義し、各ブローカーの broker.xml 設定ファイルにこれらのファイルを含めることができます。

ブローカー間で共有できる最も一般的な設定には、以下が含まれます。

  • アドレス
  • アドレス設定
  • セキュリティー設定

手順

  1. 共有する broker.xml セクションごとに個別の XML ファイルを作成します。

    各 XML ファイルには、broker.xml の単一のセクションのみを含めることができます (例: アドレス設定またはアドレス設定のどちらかですが、両方ではありません)。top-level 要素は、要素 namespace (xmlns="urn:activemq:core") も定義する必要があります。

    以下の例は、my-security-settings.xml で定義されたセキュリティー設定を示しています。

    my-security-settings.xml

    <security-settings xmlns="urn:activemq:core">
       <security-setting match="a1">
          <permission type="createNonDurableQueue" roles="a1.1"/>
       </security-setting>
       <security-setting match="a2">
          <permission type="deleteNonDurableQueue" roles="a2.1"/>
       </security-setting>
    </security-settings>

  2. 共通の設定を使用する各ブローカーの <broker_instance_dir>/etc/broker.xml 設定ファイルを開きます。
  3. 開かれた broker.xml ファイルごとに、以下を行います。

    1. broker.xml の最初の <configuration> 要素で、以下の行が表示されることを確認します。

      xmlns:xi="http://www.w3.org/2001/XInclude"
    2. 共有設定が含まれる各 XML ファイルに対して XML 包含を追加します。

      この例には my-security-settings.xml ファイルが含まれます。

      broker.xml

      <configuration ...>
          <core ...>
              ...
              <xi:include href="/opt/my-broker-config/my-security-settings.xml"/>
              ...
          </core>
      </configuration>

    3. 必要に応じて、broker.xml を検証し、XML がスキーマに対して有効であることを確認します。

      任意の XML バリデータープログラムを使用できます。この例では、xmllint を使用して、artemis-server.xsl スキーマに対して broker.xml を検証します。

      $ xmllint --noout --xinclude --schema /opt/redhat/amq-broker/amq-broker-7.2.0/schema/artemis-server.xsd /var/opt/amq-broker/mybroker/etc/broker.xml
      /var/opt/amq-broker/mybroker/etc/broker.xml validates

関連情報

1.4.1. モジュール設定ファイルのリロード

ブローカーが設定変更を定期的にチェックすると (configuration-file-refresh-period で指定される頻度)、xi:include を使用して broker.xml 設定ファイルに含まれる設定ファイルへの変更を自動的に検出しません。たとえば、broker.xmlmy-address-settings.xml が含まれ、my-address-settings.xml に加えられると、ブローカーは my-address-settings.xml の変更を自動的に検出せず、設定を再読み込みしません。

broker.xml 設定ファイルのリロードと、それに含まれる変更された設定ファイルを 強制するには、broker.xml 設定ファイルの "last modified" タイムスタンプが変更されたことを確認する必要があります。標準の Linux touch コマンドを使用して、他の変更を加えずに broker.xml の最終変更のタイムスタンプを更新できます。以下に例を示します。

$ touch -m <broker_instance_dir>/etc/broker.xml

または、管理 API を使用して Broker のリロードを強制的に実行することもできます。設定ファイルは、ActiveMQServerControl で管理操作 reloadConfigurationFile() を使用してリロードできます (ObjectName org. apache.activemq.artemis:broker="BROKER_NAME" またはリソースネーム server を使用)。

関連情報

  • 管理 API の使用方法は、AMQ Broker の管理の 管理 API の使用 を参照してください。

1.4.2. 外部 XML エンティティー (XXE) 処理の無効化

broker.xml ファイルに含まれる別個のファイルでブローカー設定をモジュール化しない場合は、XXE 処理を無効にして AMQ Broker を XXE セキュリティー脆弱性から保護できます。モジュラーブローカー設定がない場合、Red Hat は XXE 処理を無効にすることを推奨します。

手順

  1. <broker_instance_dir>/etc/artemis.profile ファイルを開きます。
  2. 新しい引数 -Dartemis.disableXxe を Java システム引数の JAVA_ARGS リストに追加します。

    -Dartemis.disableXxe=true
  3. artemis.profile ファイルを保存します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.