15.4. Ansible Playbook を使用して DNS 情報を含む IdM ホストエントリーが存在することを確認する

本セクションでは、Ansible Playbook を使用して、Identity Management (IdM) にホストエントリーが存在することを確認する方法を説明します。ホストエントリーは、完全修飾ドメイン名 (FQDN) およびそれらの IP アドレスで定義されます。

注記

Ansible を使用しないと、ipa host-add コマンドを使用してホストエントリーが IdM に作成されます。ホストを IdM に追加する結果は、IdM に存在するホストの状態です。Ansible の復元により、Ansible を使用してホストを IdM に追加するには、ホストの状態を present: state: present として定義する Playbook を作成する必要があります。

前提条件

  • IdM 管理者パスワードが分かっている。
  • ansible-freeipa パッケージが Ansible コントローラーにインストールされている。

手順

  1. inventory.file などのインベントリーファイルを作成し、そのファイルに ipaserver を定義します。

    [ipaserver]
    server.idm.example.com
  2. IdM に存在するホストの 完全修飾ドメイン名 (FQDN) で Ansible Playbook ファイルを作成します。また、IdM サーバーが DNS を管理するように設定され、ホストの IP アドレスが分かっている場合は、ip_address パラメーターの値を指定します。ホストが DNS リソースレコードに存在するには、IP アドレスが必要です。この手順を単純化するには、/usr/share/doc/ansible-freeipa/playbooks/host/host-present.yml ファイルのサンプルをコピーして変更できます。また、その他の追加情報を含めることもできます。

    ---
    - name: Host present
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Ensure host01.idm.example.com is present
        ipahost:
          ipaadmin_password: MySecret123
          name: host01.idm.example.com
          description: Example host
          ip_address: 192.168.0.123
          locality: Lab
          ns_host_location: Lab
          ns_os_version: CentOS 7
          ns_hardware_platform: Lenovo T61
          mac_address:
          - "08:00:27:E3:B1:2D"
          - "52:54:00:BD:97:1E"
          state: present
  3. Playbook を実行します。

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-host-is-present.yml
注記

この手順では、IdM LDAP サーバーにホストエントリーを作成しますが、ホストを IdM Kerberos レルムに登録しません。そのためには、ホストを IdM クライアントとしてデプロイする必要があります。詳細は「Ansible Playbook で Identity Management クライアントのインストール」を参照してください。

検証手順

  1. admin として IdM サーバーにログインします。

    $ ssh admin@server.idm.example.com
    Password:
  2. ipa host-show コマンドを入力し、ホストの名前を指定します。

    $ ipa host-show host01.idm.example.com
      Host name: host01.idm.example.com
      Description: Example host
      Locality: Lab
      Location: Lab
      Platform: Lenovo T61
      Operating system: CentOS 7
      Principal name: host/host01.idm.example.com@IDM.EXAMPLE.COM
      Principal alias: host/host01.idm.example.com@IDM.EXAMPLE.COM
      MAC address: 08:00:27:E3:B1:2D, 52:54:00:BD:97:1E
      Password: False
      Keytab: False
      Managed by: host01.idm.example.com

この出力では、host01.idm.example.com が IdM に存在することを確認します。