RabbitMQ - 实时动态创建和管理用户

时间:2012-09-12 08:55:24

标签: security rabbitmq

我们正在评估RabbitMQ的上下文,许多不同的用户将连接到该上下文并提出以下问题:

  1. 是否可以创建RabbitMQ用户并在运行时为我们想要连接到Rabbit的系统的每个用户设置他的权限,并在他的会话终止后删除这个RabbitMQ用户?
  2. 即使我们有数千甚至数百万用户大量连接?
  3. 如果是这样,我们应该使用RabbitMQ Management API(REST)吗?
  4. 我们是否应该通过RabbitMQ的用户和ACL系统强制执行安全性,而不是为每个用户提供一个独立的Exchange,其中包含其他用户无法猜到的随机(某种会话密钥)名称?
  5. 提前致谢。

    修改 - 澄清

    连接到我们系统的每个用户应该只能写入和读取某些动态创建的队列或交换。我们不希望未经授权的用户能够订阅其他人的队列。此外,我们可能允许匿名用户连接到我们的系统,但他们必须遵守相同的安全规则。

    我们找到的解决方案是:

    • 使用RabbitMQ的身份验证和授权系统。我们不确定它的设计是否充满活力。或者是吗?
    • 为每个用户创建某种会话,并使用该随机会话密钥来命名用户的交换和/或队列。这样,只有用户才知道它应该订阅哪些队列。听起来足够安全,满足我们的需求。这是更好的方法吗?

0 个答案:

没有答案