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")
这个示例强制连接使用 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)