17.2. 队列身份验证和访问控制

RabbitMQ 和qpid 提供控制对队列访问的身份验证和访问控制机制。

简单的身份验证和安全层(SASL)是在互联网协议中进行身份验证和数据安全的框架。RabbitMQ 和qpid 在简单的用户名和密码之外提供 SASL 和其他可插拔验证机制,从而提高了身份验证安全性。虽然 RabbitMQ 支持 SASL,但 OpenStack 中的支持目前不允许请求特定的 SASL 身份验证机制。OpenStack 中的 RabbitMQ 支持通过未加密的连接或用户名和密码与 X.509 客户端证书一起进行用户名和密码身份验证,以建立安全的 TLS 连接。

考虑在所有 OpenStack 服务节点上配置 X.509 客户端证书,以便客户端连接消息传递队列,并在可能的情况下(当前只有qpid)使用 X.509 客户端证书执行身份验证。在使用用户名和密码时,应为每个服务和节点创建帐户,以精细地审核对队列的访问。

在部署之前,请考虑排队服务器使用的 TLS 库。qpid 使用 Mozilla 的 NSS 库,而 RabbitMQ 使用 Erlang 的 TLS 模块使用 OpenSSL。