22.2. 队列身份验证和访问控制
RabbitMQ 和 Qpid 提供控制对队列的访问的身份验证和访问控制机制。
简单身份验证和安全层(SASL)是用于在互联网协议中进行身份验证和数据安全的框架。RabbitMQ 和 Qpid 均提供 SASL 和其他可插拔身份验证机制,除了允许增强身份验证安全性的简单用户名和密码之外。虽然 RabbitMQ 支持 SASL,但 OpenStack 中的支持目前不允许请求特定的 SASL 身份验证机制。OpenStack 中的 RabbitMQ 支持允许通过未加密的连接或用户名和密码以及 X.509 客户端证书进行身份验证,以建立安全的 TLS 连接。
考虑在所有 OpenStack 服务节点上为客户端连接消息传递队列配置 X.509 客户端证书,并在可能的情况下使用 X.509 客户端证书执行身份验证。使用用户名和密码时,应为每个服务创建帐户,以及用于精细访问队列的细粒度可审核性。
在部署之前,请考虑排队服务器使用的 TLS 库。Qpid 使用 Mozilla 的 NSS 库,而 RabbitMQ 使用 Erlang 的 TLS 模块来使用 OpenSSL。