RocketMQ 4.9.4 は (3) を使用して ACL 検証を有効にします

1、RocketMQ ACL

アクセス制御 (ACL、フルネーム アクセス制御リスト、一般にアクセス制御リストとして知られる) は、主に RocketMQ にトピック リソース レベルのユーザー アクセス制御を提供します。

ユーザーが RocketMQ 権限制御を使用する場合、クライアント側で RPCHook を介して AccessKey および SecretKey 署名を挿入できます。同時に、対応する権限制御属性 (トピック アクセス権限、IP ホワイトリスト、AccessKey および SecretKey 署名など) をdistribution/conf /plain_acl.yml 設定ファイル。

ブローカー側は、AccessKey が所有する権限を検証します。検証が失敗した場合は、例外がスローされます。

ACL クライアントは、 org.apache.rocketmq.example.simple パッケージの AclClient コードを参照できます。

公式ガイド

RocketMQ_Multiple_ACL_Files_Design
ACL 使用ガイド

2.ACL検証を有効にする

Broker.conf ファイルで aclEnable=true を構成します。

aclEnable=true

conf/plain_acl.yml で ACL を構成します。

# 设置IP白名单
globalWhiteRemoteAddresses:
- 10.10.103.*
- 192.168.0.*
# 配置用户信息
accounts:
- accessKey: RocketMQ
  secretKey: 12345678
  # 用户级别的IP地址白名单
  whiteRemoteAddress:
  # 当为true可以执行更新、删除主题或者订阅组
  admin: false
  # DENY拒绝、SUB订阅权限、PUB发送权限
  defaultTopicPerm: DENY
  defaultGroupPerm: SUB
  topicPerms:
  - topicA=DENY
  - topicB=PUB|SUB
  - topicC=SUB
  groupPerms:
  - groupA=DENY
  - groupB=PUB|SUB
  - groupC=SUB

3. 権限制御の利用制限

ACL と高可用性展開 (マスター/スレーブ アーキテクチャ) が同時に有効になっている場合は、ブローカー マスター ノードの distribution/conf/plain_acl.yml 構成ファイルにグローバル ホワイトリスト情報を設定する必要があります。 plain_acl.yml 設定ファイルのグローバル ホワイトリスト内のスレーブ ノードからマスター ノードへの IP アドレス。

ACL と高可用性展開 (マルチコピー Dledger アーキテクチャ) が同時に有効になっている場合、ノードがダウンしたときに Dledger グループが自動的にマスターを選択するため、すべての plain_acl.yml 設定ファイルをホワイトニングする必要があります。 Dledger グループのブローカー ノード このリストには、すべてのブローカー ノードの IP アドレスが設定されます。

おすすめ

転載: blog.csdn.net/q283614346/article/details/126530030
おすすめ