小编Bri*_*ian的帖子

如何在多租户系统中将RabbitMQ中的队列设为私有/安全?

我已经阅读了RabbitMQ提供的入门指南,甚至为stormed-amqp贡献了第六个例子,所以我对AMQP有了一些了解.

但是,该指南并不全面,可以避免身份验证和授权等问题.

我们正在设计一个多租户系统,它将在RPC类型的情况下使用RabbitMQ.RPC的这种实现可能有什么不同之处在于远程过程实际上是系统上的其他租户程序.

基本上,我想隔离数据总线,其中包括以下断言:

  1. 我们的服务器不会将数据传送到错误的租户程序(这很容易处理并且相关但不受质疑).
  2. 租户程序无法从不属于他们的队列中读取数据.
  3. 租户程序无法写入不属于他们的队列.

这个问题严格关于RabbitMQ安全性.我知道RabbitMQ支持SSL,它提供端到端加密,我知道RabbitMQ支持用户名/密码验证.我不知道这些内容是否适用于私有化队列使用(也称为ACL),即连接可能是加密的,用户可能已经过验证,但用户可以从所有队列读取/写入.

有人可以在这个更高级的主题上启发我吗?我相信RabbitMQ可以支持这种系统但不完全正面.我知道RabbitMQ中有些东西我不知道,例如什么是虚拟主机,他们会在这种情况下帮助吗?我只是没有看到当前知识中的解决方案仅限于路由密钥,队列名称和交换.

security amqp rabbitmq multi-tenant

30
推荐指数
3
解决办法
2万
查看次数

标签 统计

amqp ×1

multi-tenant ×1

rabbitmq ×1

security ×1