要开启RocketMQ 5.0 ACL 2.0,您需要按照以下步骤配置您的RocketMQ集群:
编辑 Broker 配置文件:
在Broker的配置文件(如broker.conf)中,添加或修改以下配置项以开启认证与授权功能,并支持从ACL 1.0迁移至ACL 2.0(如果适用):
authenticationEnabled = true
authenticationProvider = org.apache.rocketmq.auth.authentication.provider.DefaultAuthenticationProvider
initAuthenticationUser = {"username":"your_username","password":"your_password"}
innerClientAuthenticationCredentials = {"accessKey":"your_accesskey","secretKey":"your_secretkey"}
authenticationMetadataProvider = org.apache.rocketmq.auth.authentication.provider.LocalAuthenticationMetadataProvider
authorizationEnabled = true
authorizationProvider = org.apache.rocketmq.auth.authorization.provider.DefaultAuthorizationProvider
authorizationMetadataProvider = org.apache.rocketmq.auth.authorization.provider.LocalAuthorizationMetadataProvider
如果是从ACL 1.0迁移
migrateAuthFromV1Enabled = true
替换your_username、your_password、your_accesskey、your_secretkey为您的实际认证凭据。
配置 Proxy(如果使用RocketMQ Proxy):
如果您的架构中包含了RocketMQ Proxy,也需要在Proxy的配置文件中相应地开启认证与授权功能,并指定相应的认证与授权提供者。示例如下:
{
"authenticationEnabled": true,
"authenticationProvider": "org.apache.rocketmq.auth.authentication.provider.DefaultAuthenticationProvider",
"authenticationMetadataProvider": "org.apache.rocketmq.proxy.auth.ProxyAuthenticationMetadataProvider",
"innerClientAuthenticationCredentials": "{"accessKey":"your_accesskey", "secretKey":"your_secretkey"}",
"authorizationEnabled": true,
"authorizationProvider": "org.apache.rocketmq.auth.authorization.provider.DefaultAuthorizationProvider",
"authorizationMetadataProvider": "org.apache.rocketmq.proxy.auth.ProxyAuthorizationMetadataProvider"
}
重启 Broker 与 Proxy:
保存配置更改后,重新启动Broker和Proxy服务,让新的认证与授权设置生效。
用户与ACL管理:
开启ACL后,您可以通过提供的命令行工具mqadmin进行用户管理与ACL策略的创建、更新、删除等操作。具体命令请参考知识中的示例。
此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
5.x版本数据链路不再支持RAM授权策略,采用RocketMQ开源ACL2.0权限体系。详见用户身份识别。
(实例默认配置)智能身份识别
智能身份识别的具体认证流程如下:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/