11.9. Ansible を使用して特定のユーザーに IdM RBAC ロールが割り当てられないようにする手順

Identity Management (IdM) のロールベースアクセス制御 (RBAC) を管理するシステム管理者は、会社内で別の役職に異動した後など、特定のユーザーに RBAC ロールが割り当てられないようにすることもできます。

以下の手順では、Ansible Playbook を使用して、 user_01 および user_02 という名前のユーザーが helpdesk ロールに割り当てられないようにする方法を説明します。

前提条件

  • IdM 管理者パスワードが分かっている。
  • Ansible コントロールノードに ansible-freeipa パッケージがインストールされている。
  • 設定を行う IdM サーバーの完全修飾ドメイン名 (FQDN) で Ansible インベントリーファイル を作成している。
  • Ansible インベントリーファイルが ~/ <MyPlaybooks>/ ディレクトリーにある。

手順

  1. ~/<MyPlaybooks>/ ディレクトリーに移動します。

    $ cd ~/<MyPlaybooks>/
  2. /usr/share/doc/ansible-freeipa/playbooks/role/ にある role-member-user-absent.yml ファイルのコピーを作成します。

    $ cp /usr/share/doc/ansible-freeipa/playbooks/role/role-member-user-absent.yml role-member-user-absent-copy.yml
  3. Ansible Playbook ファイル (role-member-user-absent-copy.yml) を開きます。
  4. iparole タスクセクションに以下の変数を設定して、ファイルを調整します。

    • ipaadmin_password 変数は IdM 管理者のパスワードに設定します。
    • name 変数は、割り当てるロールの名前に設定します。
    • user 一覧をユーザーの名前に設定します。
    • action 変数は member に設定します。
    • state 変数は absent に設定します。

    以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。

    ---
    - name: Playbook to manage IPA role with members.
      hosts: ipaserver
      become: yes
      gather_facts: no
    
      tasks:
      - iparole:
          ipaadmin_password: Secret123
          name: helpdesk
          user
          - user_01
          - user_02
          action: member
          state: absent
  5. ファイルを保存します。
  6. Playbook ファイルとインベントリーファイルを指定して Ansible Playbook を実行します。

    $ ansible-playbook -v -i ~/<MyPlaybooks>/inventory role-member-user-absent-copy.yml

関連情報

  • Ansible Vault を使用してパスワードを別のファイルに保存したり、Playbook ファイルの変数として暗号化する場合は、「Ansible Vault を使用したコンテンツの暗号化」を参照してください。
  • IdM でのロールの概念については「IdM のロール」を参照してください。
  • iparole モジュールを使用する他の Ansible Playbook の例については、/usr/share/doc/ansible-freeipa/ ディレクトリーにある README-role Markdown ファイルを参照してください。このファイルには iparole 変数の定義も含まれます。
  • iparole モジュールを使用する他の Ansible Playbook の例については、/usr/share/doc/ansible-freeipa/playbooks/iparole ディレクトリーを参照してください。