从proxy的源码来看 会在进行org.apache.rocketmq.acl.plain.Plai

从proxy的源码来看 会在进行org.apache.rocketmq.acl.plain.PlainAccessValidator#validate校验,如果proxy都校验不通过,更加不会走broker,这个解决了我第一层疑惑(为什么要在proxy配置plain_acl.yaml才能生效),另外第二层疑惑就是我在proxy的acl_plain.yaml加了一个新的ak/sk 但是broker是没有配置的 竟然请求成功了?broker此时难道不做权限校验吗?

展开
收起
真的很搞笑 2023-04-25 17:39:58 213 分享 版权
2 条回答
写回答
取消 提交回答
  • 5.0里面是proxy暴露的用户的, namesrv、broker理论上用户看不见。 所以在proxy上做acl就行,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-04-27 14:43:55
    赞同 展开评论
  • 在您的情况中,您的代理(Proxy)配置了 plain_acl.yaml 文件,其中包含访问控制列表(ACL)规则,用于对客户端请求进行验证。如果请求不符合 ACL 规则,则 Proxy 将拒绝该请求,并返回错误响应。因此,如果您在 Proxy 的 plain_acl.yaml 文件中添加了新的 AK/SK,并且在请求中提供了正确的 AK/SK,那么该请求将被 Proxy 接受,并被发送到 Broker 进行处理。

    Broker 默认情况下会启用 ACL,如果您没有在 Broker 的配置文件中指定明确的 ACL 规则,则默认情况下所有的请求都将被拒绝。因此,如果您没有在 Broker 的配置文件中指定 ACL 规则,并且在请求中提供了正确的 AK/SK,Broker 会拒绝该请求并返回错误响应的。

    2023-04-25 20:08:55
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理