第19章 Pacemaker クラスターにユーザーパーミッションの設定

hacluster ユーザー以外の特定のユーザーに、Pacemaker クラスターを管理するパーミッションを付与できます。個々のユーザーに付与できるパーミッションには、以下の 2 つのセットがあります。

  • 個々のユーザーが Web UI を介してクラスターを管理し、ネットワーク経由でノードに接続する pcs コマンドを実行できるパーミッション。ネットワーク経由でノードに接続するコマンドには、クラスターを設定するコマンド、またはクラスターからノードを追加または削除するためのコマンドが含まれます。
  • クラスター設定の読み取り専用アクセスまたは読み書きアクセスを許可するためのローカルユーザーのパーミッションです。ネットワーク経由で接続する必要のないコマンドには、リソースの作成や制約の設定など、クラスター構成を編集するコマンドが含まれます。

両方のパーミッションセットが割り当てられている状況では、ネットワーク経由で接続するコマンドのパーミッションが最初に適用され、次にローカルノードのクラスター構成を編集するパーミッションが適用されます。ほとんどの pcs コマンドでは、ネットワークアクセスは必要ありません。その場合は、ネットワークパーミッションが適用されません。

19.1. ネットワーク上でノードにアクセスするためのパーミッションの設定

特定のユーザーに、Web UI でクラスターを管理し、ネットワーク経由でノードに接続する pcs コマンドを実行するパーミッションを付与するには、パーミッションを付与するユーザーをグループ haclient に追加します。これはクラスター内のすべてのノードで行う必要があります。

19.2. ACL でローカルパーミッションの設定

pcs acl コマンドを使用して、ローカルユーザーにアクセス制御リスト (ACL) を使用してクラスター設定への読み取り専用アクセスまたは読み取り/書き込みアクセスを許可するパーミッションを設定できます。

デフォルトでは、ACL は有効になっていません。ACL が有効になっていないと、root ユーザーと、すべてのノードの haclient グループのメンバーであるユーザーには、クラスター設定へのローカルの読み取り/書き込みに関する完全なパーミッションが付与されます。一方、haclient グループのメンバーではないユーザーには、パーミッションが付与されません。ただし、ACL が有効になっている場合は、haclient グループのメンバーであっても、ACL からそのユーザーに付与されたものにしかアクセスできません。

ローカルユーザーのパーミッションを設定するには、以下の 2 つの手順を実行します。

  1. pcs acl role create…​ コマンドを実行して、そのロールのパーミッションを定義する ロール を作成します。
  2. pcs acl user create コマンドで、作成したロールをユーザーに割り当てます。複数のロールを同じユーザーに割り当てると、拒否 パーミッションが優先されてから、書き込み読み取り の順に適用されます。

以下の例では、rouser という名前のローカルユーザーに、クラスター設定に対する読み取り専用アクセスを提供します。設定の特定の部分のみにアクセスを制限することもできます。

警告

この手順を root として実行するか、すべての構成の更新を作業ファイルに保存して、完了したらアクティブな CIB にプッシュできるようにすることが重要です。それ以外の場合は、それ以上変更を加えられないようにすることができます。作業ファイルに設定の更新を保存する方法は「作業ファイルへの設定変更の保存」を参照してください。

  1. この手順では、rouser ユーザーがローカルシステムに存在し、rouser ユーザーが haclient グループのメンバーであることが必要です。

    # adduser rouser
    # usermod -a -G haclient rouser
  2. pcs acl enable コマンドを使用して、Pacemaker ACL を有効にします。

    # pcs acl enable
  3. cib に対して読み取り専用のパーミッションが付与されている read-only という名前のロールを作成します。

    # pcs acl role create read-only description="Read access to cluster" read xpath /cib
  4. pcs ACL システムで rouser ユーザーを作成し、そのユーザーに read-only ロールを割り当てます。

    # pcs acl user create rouser read-only
  5. 現在の ACL を表示します。

    # pcs acl
    User: rouser
      Roles: read-only
    Role: read-only
      Description: Read access to cluster
      Permission: read xpath /cib (read-only-read)
  6. rouserpcs コマンドを実行する各ノードで、rouser としてログインし、ローカルの pcsd サービスに対して認証を行います。これは、ACL ユーザーとして pcs status などの特定の pcs コマンドを実行するために必要です。

    [rouser ~]$ pcs client local-auth

このページには機械翻訳が使用されている場合があります (詳細はこちら)。