7.3. SASL 認証の設定
AMQ Python は SASL プロトコルを使用して認証を実行します。SASL はさまざまな認証 メカニズム を使用できます。2 つのネットワークピアが接続すると、許可されたメカニズムが交換され、両方で許可されている最も強力なメカニズムが選択されます。
クライアントは Cyrus SASL を使用して認証を実行します。Cyrus SASL は、プラグインを使用して特定の SASL メカニズムをサポートします。特定の SASL メカニズムを使用する前に、関連するプラグインをインストールする必要があります。たとえば、SASL PLAIN 認証を使用するには、cyrus-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)