第33章 Ansible Playbook を使用した Identity Management クライアントのインストール
Ansible を使用して、システムを Identity Management (IdM) クライアントとして設定する方法を説明します。システムを IdM クライアントとして設定すると、IdM ドメインに登録され、システムがドメインの IdM サーバーで IdM サービスを使用できるようになります。
デプロイメントは、Ansible ロール ipaclient により管理されます。デフォルトでは、ロールは自動検出モードを使用して、IdM サーバー、ドメイン、およびその他の設定を特定します。ロールは、Ansible Playbook がインベントリーファイルなどに指定した設定を使用するように変更できます。
前提条件
- Ansible コントロールノードに ansible-freeipa パッケージがインストールされている。
- Ansible バージョン 2.15 以降を使用している。
- Ansible と IdM の一般的な概念を理解している。
33.1. 自動検出クライアントインストールモードでインベントリーファイルのパラメーターの設定 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Playbook を使用して Identity Management (IdM) クライアントをインストールするには、インベントリーファイル (例: inventory) でターゲットホストのパラメーターを設定します。
- ホストに関する情報
- タスクの承認
インベントリーファイルは、所有するインベントリープラグインに応じて、多数ある形式のいずれかになります。INI-like 形式は Ansible のデフォルトで、以下の例で使用されています。
RHEL でグラフィカルユーザーインターフェイスでスマートカードを使用するには、Ansible Playbook に ipaclient_mkhomedir 変数を含めるようにします。
手順
-
inventoryファイルを編集のために開きます。 IdM クライアントになるホストの完全修飾ホスト名 (FQDN) を指定します。完全修飾ドメイン名は、有効な DNS 名である必要があります。
-
数字、アルファベット、およびハイフン (
-) のみを使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。 - ホスト名がすべて小文字である。大文字は使用できません。
SRV レコードが IdM DNS ゾーンで正しく設定されている場合は、スクリプトが自動的に必要な値をすべて検出します。
クライアントの FQDN のみが定義されている単純なインベントリーホストファイルの例
[ipaclients] client.idm.example.com [...]
[ipaclients] client.idm.example.com [...]Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
数字、アルファベット、およびハイフン (
クライアントを登録するための認証情報を指定します。以下の認証方法を使用できます。
クライアントを登録する権限のあるユーザーのパスワード。以下はデフォルトのオプションになります。
Ansible Vault を使用してパスワードを保存し、Playbook ファイル (例:
install-client.yml) から Vault ファイルを直接参照します。Ansible Vault ファイルのインベントリーファイルおよびパスワードのプリンシパルを使用した Playbook ファイルの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow あまり安全ではありませんが、
inventory/hostsファイルの[ipaclients:vars]セクションにipaadmin_passwordオプションを使用して、adminの認証情報を提供します。また、別の認証ユーザーを指定するには、ユーザー名にipaadmin_principalオプション、パスワードにipaadmin_passwordオプションを使用します。inventory/hostsインベントリーファイルと、Playbook ファイルinstall-client.ymlは以下のようになります。インベントリーホストファイルの例
[...] [ipaclients:vars] ipaadmin_principal=my_admin ipaadmin_password=Secret123
[...] [ipaclients:vars] ipaadmin_principal=my_admin ipaadmin_password=Secret123Copy to Clipboard Copied! Toggle word wrap Toggle overflow インベントリーファイルのプリンシパルおよびパスワードを使用した Playbook の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以前登録した クライアントキータブ が利用できる場合は、以下を行います。
このオプションは、システムが Identity Management クライアントとして登録されたことがある場合に使用できます。この認証方法を使用するには、
#ipaclient_keytabオプションのコメントを解除して、キータブを保存するファイルへのパスを指定します (例:inventory/hostsの[ipaclient:vars]セクション)。登録時に生成される ランダムなワンタイムパスワード (OTP)。この認証方法を使用するには、インベントリーファイルで
ipaclient_use_otp=trueオプションを使用します。たとえば、inventory/hostsファイルの[ipaclients:vars]セクションにあるipaclient_use_otp=trueオプションのコメントを解除できます。OTP では、以下のいずれかのオプションも指定する必要があります。-
クライアントを登録する権限のあるユーザーのパスワード (例:
inventory/hostsファイルの[ipaclients:vars]セクションにipaadmin_passwordの値を指定)。 -
管理者キータブ (例:
inventory/hostsの[ipaclients:vars]セクションにipaadmin_keytabの値を指定)。
-
クライアントを登録する権限のあるユーザーのパスワード (例:
オプション: クラスターのデプロイを簡素化するために、
ipaclient_configure_dns_resolveおよびipaclient_dns_serversオプション (使用可能な場合) を使用して DNS リゾルバーを指定します。これは、IdM デプロイメントが統合 DNS を使用している場合に特に便利です。DNS リゾルバーを指定するインベントリーファイルスニペット:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ipaclient_dns_serversリストには IP アドレスのみを含める必要があります。ホスト名を含めることはできません。-
RHEL 8.9 以降では、
ipaclient_subid: trueオプションを指定して、IdM ユーザーのサブ ID 範囲を IdM レベルで設定することもできます。