7.3. 配置 SASL 身份验证
AMQ Python 使用 SASL 协议来执行身份验证。SASL 可以使用多种不同的身份验证 机制。两个网络对等连接时,它们将交换允许的机制,同时选择两者允许的最强大机制。
客户端使用 Cyrus SASL 来执行身份验证。Cyrus SASL 使用插件来支持特定的 SASL 机制。您必须先安装相关的插件,然后才能使用特定的 SASL 机制。例如,您需要 cyrus-sasl-plain 插件才能使用 SASL PLAIN 身份验证。
要查看 Red Hat Enterprise Linux 中的 Cyrus SASL 插件列表,请使用 yum search cyrus-sasl 命令。要安装 Cyrus SASL 插件,请使用 yum install PLUG-IN 命令。
默认情况下,AMQ Python 允许本地 SASL 库配置支持的所有机制。要限制允许的机制并控制可以协商哪些机制,请使用 allowed_mechs 连接选项。它取包含以空格分隔的机制名称列表的字符串。
示例:配置 SASL 身份验证
container.connect("amqps://example.com", allowed_mechs="ANONYMOUS")
container.connect("amqps://example.com", allowed_mechs="ANONYMOUS")
这个示例强制连接使用 ANONYMOUS 机制进行身份验证,即使我们连接的服务器还提供其他选项。有效机制包括 ANONYMOUS、PLAIN、SCRAM-SHA-256、SCRAM-SHA-1、GSSAPI 和 EXTERNAL。
AMQ Python 默认启用 SASL。要禁用它,将 sasl_enabled 连接选项设置为 false。
示例:禁用 SASL
event.container.connect("amqps://example.com", sasl_enabled=False)
event.container.connect("amqps://example.com", sasl_enabled=False)