9.2.3. ユーザー名とパスワード認証の有効化

SASL PLAIN メカニズムを使用して、ユーザー名とパスワードのセットに対して受信クライアント接続を認証できます。このメソッドは独自に使用することも、SSL/TLS 暗号化と組み合わせることもできます。

前提条件

  • cyrus-sasl-plain プラグインがインストールされている。

    Cyrus SASL は、プラグインを使用して特定の SASL メカニズムをサポートします。特定の SASL メカニズムを使用する前に、関連するプラグインをインストールする必要があります。

    Red Hat Enterprise Linux の Cyrus SASL プラグインのリストを表示するには、yum search cyrus-sasl コマンドを使用します。Cyrus SASL プラグインをインストールするには、yum install <plugin> コマンドを使用します。

手順

  1. 必要に応じて、ユーザー名とパスワードを SASL データベースに追加します。

    この例では、新しいユーザー (user1@example.com) を SASL データベース (qdrouterd.sasldb) に追加します。

    $ sudo saslpasswd2 -c -f qdrouterd.sasldb -u example.com user1
    注記

    完全なユーザー名は、入力したユーザー名 (<user-name>@<domain-name>) です。ユーザーをデータベースに追加する場合、ドメイン名を指定する必要はありませんが、これを指定しないと、デフォルトのドメインが自動的に追加されます (ツールが実行されているマシンのホスト名)。

  2. qdrouterd プロセスが SASL データベースを読み取りできることを確認します。

    qdrouterd プロセスが非特権ユーザーとして実行される場合は、ルーターが読み取れるように SASL データベースのパーミッションまたは所有権を調整する必要がある場合があります。

    この例では、qdrouterd ユーザーが SASL データベースの所有者になります。

    $ sudo chown qdrouterd /var/lib/qdrouterd/qdrouterd.sasldb
  3. /etc/sasl2/qdrouterd.conf 設定ファイルを開きます。

    以下の例では、/etc/sasl2/qdrouterd.conf 設定ファイルを示しています。

    pwcheck_method: auxprop
    auxprop_plugin: sasldb
    sasldb_path: qdrouterd.sasldb
    mech_list: ANONYMOUS DIGEST-MD5 EXTERNAL PLAIN GSSAPI
  4. mech_list 属性に PLAIN メカニズムが含まれることを確認します。
  5. /etc/qpid-dispatch/qdrouterd.conf 設定ファイルを開きます。
  6. router セクションで、SASL 設定ファイルへのパスを指定します。

    router {
        mode: interior
        id: Router.A
        saslConfigDir: /etc/sasl2/
    }
    saslConfigDir
    ユーザー名とパスワードを格納する SASL データベースへのパスが含まれる SASL 設定ファイルへのパス。
  7. SASL PLAIN を使用してクライアントを認証するように、この接続の listener を設定します。

    この例では、listener に基本的なユーザー名とパスワード認証を設定します。この場合、SSL/TLS 暗号化は使用されません。

    listener {
        host: 0.0.0.0
        port: 5672
        authenticatePeer: yes
        saslMechanisms: PLAIN
        }