12.2.9. PoC 環境で Ansible Playbook を使用して IdM ユーザーが IdM グループとグループメンバーシップを管理できるようにする
Ansible を使用してロールベースのアクセス制御設定を自動化する方が、PoC 環境で IdM Web UI を使用して IdM ユーザーが IdM グループとグループメンバーシップを管理できるようにする で説明されている、Web UI を使用する方法よりも効率的です。
Ansible Playbook で ansible-freeipa モジュールの role を使用して、Web UI 方式を使用して設定したのと同じ Group Administrator 特権を IdM ユーザー idmuser01 に付与するロールを割り当てる方法を説明します。これにより、idmuser01 が idmuser03 を組み込みのグループ editors に追加できるようになります。
前提条件
- IdM ユーザー idmuser01 および idmuser03 が存在する。詳細は、PoC 環境での Ansible Playbook を使用した複数の IdM ユーザーの追加 を参照してください。
- ansible_user ユーザーとして controller.idm.example.com にログインしている。
手順
~/MyPlaybooks/ ディレクトリーに、必要な RBAC ポリシーを定義した以下の内容を含む Ansible Playbook ファイル assign-group-administrator-privilege-to-idmuser01.yml を作成します。
--- - name: Make idmuser01 a member of an RBAC role that contains the Group Administrators privilege hosts: ipaserver tasks: - name: Create the groupadmin role freeipa.ansible_freeipa.iparole: ipaadmin_password: Secret123 name: groupadmin user: - idmuser01 privilege: - Group Administrators state: present利用可能なオプションの完全なリストは、
/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/README-role.mdファイルで確認できます。Playbook を実行します。
$ ansible-playbook -i inventory assign-group-administrator-privilege-to-idmuser01.yml
検証
idmuser01がgroupadminロールに割り当てられていることを確認します。-
IdM Web UI で、IdM
adminとして Identity > Users に移動します。 -
idmuser01をクリックします。 Roles をクリックします。
ロールの中に
groupadminがリストされていることが確認できます。
-
IdM Web UI で、IdM
idmuser01がidmuser03にグループメンバーシップを割り当てることができることを確認します。-
idmuser01として IdM Web UI にログインします。 - Identity > Users に移動します。
-
idmuser03をクリックします。 - User Groups をクリックします。
- Add をクリックします。
editorsグループを選択し、>をクリックして Prospective 列に移動します。Add をクリックします。ユーザープロファイルで、
idmuser03がeditorsグループのメンバーであることが確認できます。
-