15.5. Ansible Playbook を使用して無作為のパスワードで複数の IdM ホストエントリーが存在することを確認する

ipahost モジュールを使用すると、システム管理者は、単一の Ansible タスクのみを使用して、IdM に複数のホストエントリーが存在するか、または存在しないかを確認できます。本セクションでは、完全修飾ドメイン名 (FQDN) によってのみ定義される複数のホストエントリーが存在することを確認する方法を説明します。Ansible Playbook を実行すると、ホストのパスワードが無作為に生成されます。

注記

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 ファイルを作成します。Ansible Playbook が IdM にホストがすでに存在し、update_passwordon_create に制限されている場合でも、各ホストの無作為なパスワード を生成するようにするには、random: yes および force: yes オプションを追加します。この手順を簡素化するには、/usr/share/doc/ansible-freeipa/README-host.md Markdown ファイルからサンプルをコピーして変更できます。

    ---
    - name: Ensure hosts with random password
      hosts: ipaserver
      become: true
    
      tasks:
      - name: Hosts host01.idm.example.com and host02.idm.example.com present with random passwords
        ipahost:
          ipaadmin_password: MySecret123
          hosts:
          - name: host01.idm.example.com
            random: yes
            force: yes
          - name: host02.idm.example.com
            random: yes
            force: yes
        register: ipahost
  3. Playbook を実行します。

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-hosts-are-present.yml
    [...]
    TASK [Hosts host01.idm.example.com and host02.idm.example.com present with random passwords]
    changed: [r8server.idm.example.com] => {"changed": true, "host": {"host01.idm.example.com": {"randompassword": "0HoIRvjUdH0Ycbf6uYdWTxH"}, "host02.idm.example.com": {"randompassword": "5VdLgrf3wvojmACdHC3uA3s"}}}
注記

無作為にワンタイムパスワード (OTP) を使用して IdM クライアントとしてホストをデプロイするには、「Ansible Playbook を使用した IdM クライアント登録の認証オプション」または「ワンタイムパスワードを使用したクライアントのインストール: 対話型インストール」を参照してください。

検証手順

  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
      Password: True
      Keytab: False
      Managed by: host01.idm.example.com

この出力では、host01.idm.example.com がランダムパスワードで IdM に存在することを確認します。