50.4. Ansible を使用してドメイン解決順序を持つ ID ビューを作成する

ansible-freeipa idview モジュールを使用すると、Identity Management (IdM) デプロイメントの ID ビューを追加、変更、削除できます。たとえば、短縮名表記を有効にするために、ドメイン解決順序を持つ ID ビューを作成できます。

短縮名表記では、aduser05@ad.example.com などの Active Directory (AD) の完全なユーザー名が、短縮ログイン (この場合は aduser05) に置き換えられます。そのため、SSH を使用して IdM クライアントにログインする場合、aduser05ssh aduser05@ad.example.com@client.idm.example.com ではなく ssh aduser05@client.idm.example.com と入力できます。id などの他のコマンドでも同じように入力できます。

この手順では、Ansible を使用して以下を実行します。

  • 短縮名の修飾に使用する、コロン区切りのドメインの文字列を定義します。この例では、文字列は ad.example.com:idm.example.com です。
  • 文字列で識別される最初のドメインでユーザー名をまず検索するように SSSD に指示する ID ビューを作成します。この例では、ad.example.com です。
  • ID ビューを特定のホストに適用します。この例では、これは testhost.idm.example.com です。
注記

IdM クライアントに適用できるのは、1 つの ID ビューだけです。新しい ID ビューを適用すると、該当する場合、以前の ID ビューが自動的に削除されます。

前提条件

  • コントロールノードでは、

    • Ansible バージョン 2.14 以降を使用している。
    • ansible-freeipa パッケージがインストールされている。
    • ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している。
    • RHEL 9.4 以降を使用している。
    • secret.yml Ansible vault に ipaadmin_password が保存されている。
  • testhost.idm.example.com が IdM クライアントである。
  • ターゲットノード (ansible-freeipa モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。

手順

  1. ~/MyPlaybooks/ ディレクトリーに移動し、次の内容を含む Ansible Playbook ファイル add-id-view-with-domain-resolution-order.yml を作成します。

    ---
    - name: Playbook to add idview and apply it to an IdM client
      hosts: ipaserver
      vars_files:
      - /home/<user_name>/MyPlaybooks/secret.yml
      become: false
      gather_facts: false
    
      tasks:
      - name: Add idview and apply it to testhost.idm.example.com
        ipaidview:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: test_idview
          host: testhost.idm.example.com
          domain_resolution_order: "ad.example.com:ipa.example.com"
  2. Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。

    $ ansible-playbook --vault-password-file=password_file -v -i inventory add-id-view-with-domain-resolution-order.yml

検証

  1. testhost.idm.example.com に SSH で接続します。
  2. 短縮名だけを使用して、ad.example.com ドメインからユーザー情報を取得できることを確認します。

    [root@testhost ~]# id aduser05
    uid=1916901102(aduser05) gid=1916900513(domain users) groups=1916900513(domain users)