Red Hat Training

A Red Hat training course is available for RHEL 8

14.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.14 以降を使用している。
    • Ansible コントローラーに ansible-freeipa パッケージがインストールされている。
    • RHEL 9.4 以降を使用している。
    • この例では、~/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 ドメインに含まれている。

手順

  1. client.idm.example.com で、/etc/nsswitch.conf ファイルに [SUCCESS=merge] を追加します。

    [...]
    # Allow initgroups to default to the setting for group.
    initgroups: sss [SUCCESS=merge] files
  2. audio ローカルグループの GID を特定します。

    $ getent group audio
    ---------------------
    audio:x:63
  3. Ansible コントロールノードで、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
  4. 同じ Playbook 内の別の Playbook タスクを使用して、GID 63 を持つグループ 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
  5. ファイルを保存します。
  6. Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。

    $ ansible-playbook --vault-password-file=password_file -v -i inventory add-aduser-to-audio-group.yml

検証

  1. AD ユーザーとして IdM クライアントにログインします。

    $ ssh aduser@addomain.com@client.idm.example.com
  2. AD ユーザーのグループメンバーシップを確認します。

    $ id aduser@addomain.com
    uid=702801456(aduser@addomain.com) gid=63(audio) groups=63(audio)

関連情報