我想确保我的 RabbitMQ 集群上的所有用户都只拥有他们预期目的所需的权限。
我在 2 个 RabbitMQ 集群之间使用Exchange Federation,我想限制用户在上游集群上的权限,以便它只能联合来自一个 Exchange 的消息。这是为了确保下游集群使用的用户不能发布/订阅/配置超出其预期目的的任何内容(或至少尽可能多)。
我知道权限可能很复杂,因为必须在上游集群上动态创建工作队列和绑定,所以这可能并不简单。
我发现的所有示例都指定将用户的权限设置为:
配置正则表达式 | 写正则表达式 | 阅读正则表达式 |
---|---|---|
.* | .* | .* |
当用户具有这些设置时,联合工作正常,但这是一个全能的用户,我对此并不满意。如果我尝试将其重新配置为更具体的内容,则会出现如下错误:
{server_initiated_close,403,
<<"ACCESS_REFUSED - access to exchange 'exchange-a' in vhost 'vhost-a' refused for user 'user-a'">>}
如何限制这些权限以防止联合用户拥有超出其需要的访问权限?