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


RabbitMQ 和 Qpid 提供身份验证和访问控制机制,用于控制对队列的访问。

简单身份验证和安全层(SASL)是 Internet 协议中身份验证和数据安全性的框架。除简单的用户名和密码外,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)。

15.3.1. RabbitMQ 的 OpenStack 服务配置

本节介绍 OpenStack 服务的典型 RabbitMQ 配置:

[DEFAULT]
rpc_backend = nova.openstack.common.rpc.impl_kombu
rabbit_use_ssl = True
rabbit_host = RABBIT_HOST
rabbit_port = 5671
rabbit_user = compute01
rabbit_password = RABBIT_PASS
kombu_ssl_keyfile = /etc/ssl/node-key.pem
kombu_ssl_certfile = /etc/ssl/node-cert.pem
kombu_ssl_ca_certs = /etc/ssl/cacert.pem
Copy to Clipboard Toggle word wrap
注意

RABBIT_PASS 替换为合适的密码。

15.3.2. Qpid 的 OpenStack 服务配置

本节介绍 OpenStack 服务的典型 Qpid 配置:

[DEFAULT]
rpc_backend = nova.openstack.common.rpc.impl_qpid
qpid_protocol = ssl
qpid_hostname = <IP or hostname of management network interface of messaging server>
qpid_port = 5671
qpid_username = compute01
qpid_password = QPID_PASS
Copy to Clipboard Toggle word wrap
注意

QPID_PASS 替换为合适的密码。

另外,如果将 SASL 与 Qpid 搭配使用,则通过添加来指定 SASL 机制:

qpid_sasl_mechanisms = <space separated list of SASL mechanisms to use for auth>
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat