16.2. Ansible Playbook を使用した IdM ホストグループの存在の確認

本セクションでは、Ansible Playbook を使用して、Identity Management (IdM) にホストグループが存在することを確認する方法を説明します。

注記

Ansible を使用しないと、ipa hostgroup-add コマンドを使用して、ホストグループエントリーが IdM に作成されます。ホストグループを IdM に追加すると、IdM に存在するホストグループの状態になります。Ansible はべき等性に依存しているため、Ansible を使用してホストグループを IdM に追加するには、ホストグループの状態を present: state: present として定義する Playbook を作成する必要があります。

前提条件

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

手順

  1. inventory.file などのインベントリーファイル を作成し、ターゲットに設定する IdM サーバーの一覧と共に ipaserver を定義します。

    [ipaserver]
    server.idm.example.com
  2. 必要なホストグループ情報を使用して Ansible Playbook ファイルを作成します。たとえば、databases という名前のホストグループが存在することを確認するには、- ipahostgroup タスクで 名前: データベース を指定します。この手順を単純化するには、/usr/share/doc/ansible-freeipa/playbooks/user/ensure-hostgroup-is-present.yml ファイルのサンプルをコピーして変更できます。

    ---
    - name: Playbook to handle hostgroups
      hosts: ipaserver
      become: true
    
      tasks:
      # Ensure host-group databases is present
      - ipahostgroup:
          ipaadmin_password: MySecret123
          name: databases
          state: present

    Playbook で state: present は、すでに存在しない限り、ホストグループを IdM に追加する要求を示します。

  3. Playbook を実行します。

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

検証手順

  1. admin として ipaserver にログインします。

    $ ssh admin@server.idm.example.com
    Password:
    [admin@server /]$
  2. admin の Kerberos チケットを要求します。

    $ kinit admin
    Password for admin@IDM.EXAMPLE.COM:
  3. IdM に存在するホストグループに関する情報を表示します。

    $ ipa hostgroup-show databases
      Host-group: databases

データベース ホストグループが IdM に存在する。