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

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

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

ローカルユーザーのパーミッションを設定するには、以下の 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