22.13. Ansible を使用して、IdM クライアントのローカルサウンドカードへのユーザー ID オーバーライドアクセス権を付与する
ansible-freeipa group および idoverrideuser モジュールを使用して、Identity Management (IdM) または Active Directory (AD) ユーザーを IdM クライアント上の audio ローカルグループのメンバーにすることができます。これにより、IdM または AD ユーザーに、ホスト上のサウンドカードへの特権アクセスが付与されます。
この手順で使用する例では、最初の Playbook タスクで Default Trust View ID ビューに aduser@addomain.com ID オーバーライドを追加します。次の Playbook タスクで、RHEL ホスト上の audio ローカルグループの GID に対応する GID 63 の audio グループを IdM に作成します。同時に、aduser@addomain.com ID オーバーライドを IdM オーディオグループにメンバーとして追加します。
前提条件
-
手順の最初の部分を実行する対象である IdM クライアントへの
rootアクセス権を持っている。この例では、これは client.idm.example.com です。 次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.13 以降を使用している。
-
Ansible コントローラーに
ansible-freeipaパッケージがインストールされている。 - RHEL 8.10 以降を使用している。
- この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成したことを前提としている。
-
この例では、secret.yml Ansible Vault に
ipaadmin_passwordが保存されていることを前提としています。
-
AD フォレストが IdM と信頼関係にある。この例では、AD ドメインの名前は addomain.com であり、ローカルグループ
audioに存在することを確認する AD ユーザーの完全修飾ドメイン名 (FQDN) は aduser@addomain.com です。 -
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
client.idm.example.com で、
/etc/nsswitch.confファイルに[SUCCESS=merge]を追加します。[...] # Allow initgroups to default to the setting for group. initgroups: sss [SUCCESS=merge] filesaudioローカルグループの GID を特定します。$ getent group audio --------------------- audio:x:63Ansible コントロールノードで、aduser@addomain.com ユーザーオーバーライドを Default Trust View に追加するタスクを含む add-aduser-to-audio-group.yml Playbook を作成します。
--- - name: Playbook to manage idoverrideuser hosts: ipaserver become: false tasks: - name: Add aduser@addomain.com user to the Default Trust View ipaidoverrideuser: ipaadmin_password: "{{ ipaadmin_password }}" idview: "Default Trust View" anchor: aduser@addomain.com同じ Playbook 内の別の Playbook タスクを使用して、
GID63 を持つグループ audio を IdM に追加します。aduser idoverrideuser をグループに追加します。- name: Add the audio group with the aduser member and GID of 63 ipagroup: ipaadmin_password: "{{ ipaadmin_password }}" name: audio idoverrideuser: - aduser@addomain.com gidnumber: 63- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-aduser-to-audio-group.yml
検証
AD ユーザーとして IdM クライアントにログインします。
$ ssh aduser@addomain.com@client.idm.example.comAD ユーザーのグループメンバーシップを確認します。
$ id aduser@addomain.com uid=702801456(aduser@addomain.com) gid=63(audio) groups=63(audio)