7.3. SASL 認証の設定
AMQ C++ は 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 C++ はローカル SASL ライブラリー設定でサポートされるすべてのメカニズムを許可します。許可されるメカニズムを制限し、ネゴシエートできるメカニズムを制御するには、sasl_allowed_mechs
コネクションオプションを使用します。このオプションは、スペースで区切ったメカニズム名のリストが含まれる文字列を受け入れます。
例: SASL 認証の設定
proton::connection_options opts {};
opts.sasl_allowed_mechs("ANONYMOUS");
container.connect("amqps://example.com", opts);
この例では、サーバーが他のオプションを提供するように接続しても、ANONYMOUS
メカニズムを使用した認証を強制します。有効なメカニズムには、ANONYMOUS
、PLAIN
、SCRAM-SHA-256
、SCRAM-SHA-1
、GSSAPI
、および EXTERNAL
が含まれます。
AMQ C++ はデフォルトで SASL を有効にします。これを無効にするには、sasl_enabled
接続オプションを false に設定します。
例: SASL の無効化
proton::connection_options opts {};
opts.sasl_enabled(false);
container.connect("amqps://example.com", opts);