4.3. Operator ベースのブローカーデプロイメント用のセキュリティー構成の作成
次の手順は、カスタムリソース(CR)インスタンスを使用して、ユーザーおよび関連するセキュリティー構成を Operator ベースのブローカーデプロイメントに追加する方法を示しています。
前提条件
AMQ Broker Operator がすでにインストールされている必要があります。Operator のインストール方法の 2 つの代替方法については、以下を参照してください。
- ブローカーのセキュリティー保護で説明されているように、ブローカーのセキュリティーについて詳しく理解している必要があります
- CR インスタンスを使用して基本的なブローカーデプロイメントを作成する方法を理解する必要があります。詳細は、「基本的なブローカーインスタンスのデプロイ」 を参照してください。
ブローカーデプロイメントを作成する前または後に、セキュリティー CR をデプロイできます。ただし、ブローカーデプロイメントの作成後にセキュリティー CR を展開すると、新しい設定を適用するために、ブローカー Pod が再起動されます。
カスタムリソース(CR)インスタンスの構成を開始して、ブローカーデプロイメントのユーザーと関連するセキュリティー設定を定義します。
OpenShift コマンドラインインターフェースの使用:
ブローカーデプロイメントのプロジェクトに CR をデプロイする権限を持つユーザーとして OpenShift にログインします。
oc login -u <user> -p <password> --server=<host:port>
-
ダウンロードした Operator インストールアーカイブの
deploy/crs
ディレクトリーに含まれるbroker_activemqartemissecurity_cr.yaml
というサンプル CR ファイルを開きます。
OpenShift Container Platform Web コンソールの使用
- ブローカーデプロイメントのプロジェクトに CR をデプロイする権限を持つユーザーとしてコンソールにログインします。
-
アドレス CRD に基づいて新規 CR インスタンスを起動します。左側のペインで、
をクリックします。 - Active MQArtemis Security CRDをクリックします。
- Instances タブをクリックします。
ActiveMQArtemisSecurity の作成をクリックします。
コンソールで、YAML エディターが開き、CR インスタンスを設定できます。
CR の
Spec
セクションで、ユーザーとロールを定義する行を追加します。以下は例になります。apiVersion: broker.amq.io/v1alpha1 kind: ActiveMQArtemisSecurity metadata: name: ex-prop spec: loginModules: propertiesLoginModules: - name: "prop-module" users: - name: "sam" password: "samsecret" roles: - "sender" - name: "rob" password: "robsecret" roles: - "receiver" securityDomains: brokerDomain: name: "activemq" loginModules: - name: "prop-module" flag: "sufficient" securitySettings: broker: - match: "#" permissions: - operationType: "send" roles: - "sender" - operationType: "createAddress" roles: - "sender" - operationType: "createDurableQueue" roles: - "sender" - operationType: "consume" roles: - "receiver" ...
上記の設定では、ユーザーを2つ定義しています。
-
sender
のロールが割り当てられたsam
という名前のユーザーを定義するprop-module
というpropertiesLoginModule
。 -
receiver
のロールが割り当てられたrob
という名前のユーザーを定義するprop-module
というpropertiesLoginModule
。
これらのロールのプロパティーは、
securityDomains
セクションのbrokerDomain
セクションとbroker
セクションで定義されます。たとえば、send
ロールは、そのロールが割り当てられたユーザーが任意のアドレスに永続キューを作成できるように定義されています。デフォルトでは、構成は現在のネームスペースの CR によって定義されたすべてのデプロイ済みブローカーに適用されます。特定のブローカーに設定を限定する場合は、「セキュリティーのカスタムリソースの設定リファレンス」 に記載のapplyToCrNames
オプションを使用します。注記metadata
セクションで、namespace
プロパティーを追加し、OpenShift Container Platform Web コンソールを使用して CR インスタンスを作成する場合にのみ値を指定する必要があります。指定する値は、ブローカーデプロイメントの OpenShift プロジェクトの名前です。-
CR インスタンスをデプロイします。
OpenShift コマンドラインインターフェースの使用:
- CR ファイルを保存します。
ブローカーデプロイメントのプロジェクトに切り替えます。
$ oc project <project_name>
CR インスタンスを作成します。
$ oc create -f <path/to/address_custom_resource_instance>.yaml
OpenShift Web コンソールの使用
- CR の設定が完了したら、Create をクリックします。