第30章 Ansible Playbook を使用してユーザーグループにパーミッションを委譲してユーザーを管理する手順
委譲は、セルフサービスルールおよびロールベースのアクセス制御 (RBAC) などの IdM のアクセス制御メソッドの 1 つです。委譲を使用して、あるユーザーのグループにパーミッションを割り当てて別のユーザーのグループのエントリーを管理できます。
委譲ルールの一般情報の詳細は、委譲ルール のセクションを参照してください。
30.1. Ansible を使用して委譲ルールが存在する状態にする リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Ansible Playbook を使用して、新しい IdM 委譲ルールの特権を定義し、そのルールが存在する状態にする方法を説明します。この例では、新しい basic manager attributes 委譲ルールにより、managers グループが employees グループのメンバーに対して以下の属性の読み取りと書き込みを行うことができます。
-
businesscategory -
departmentnumber -
employeenumber -
employeetype
前提条件
コントロールノード:
- Ansible バージョン 2.15 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル が作成されている (この例の場合)。
-
secret.yml Ansible vault に
ipaadmin_passwordが保存されており、secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできる (この例の場合)。
-
ターゲットノード (
freeipa.ansible_freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/delegation/ディレクトリーにあるdelegation-present.ymlファイルのコピーを作成します。cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/delegation/delegation-present.yml delegation-present-copy.yml
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/delegation/delegation-present.yml delegation-present-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ansible Playbook ファイル
delegation-present-copy.ymlを開きます。 freeipa.ansible_freeipa.ipadelegationタスクセクションで次の変数を設定して、ファイルを変更します。-
name変数は新しい委譲ルールの名前に設定します。 -
permission変数は、付与するパーミッションをコンマ区切りのリスト (readおよびwrite) で設定します。 -
attribute変数は、委譲されたユーザーグループが管理できる属性のリスト (businesscategory、departmentnumber、employeenumberおよびemployeetype) に変数を設定します。 -
group変数は、属性の表示や変更権限を付与したグループの名前に設定します。 -
membergroup変数は、属性の表示または変更が可能なグループ名に設定します。
以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ファイルを保存します。
FreeIPA Ansible コレクション内の変数とサンプル Playbook の詳細は、コントロールノードの
/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/README-delegation.mdファイルと/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/ipadelegationディレクトリーを参照してください。Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory delegation-present-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory delegation-present-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow