4.5. Ansible のワンタイムパスワード方式を使用して IdM クライアントをインストールする
アイデンティティー Management (IdM) で新しいホストのワンタイムパスワード (OTP) を生成し、それを使用してシステムを IdM ドメインに登録できます。この手順では、別の IdM ホストで IdM クライアントの OTP を生成した後、Ansible を使用して IdM クライアントをインストールする方法について説明します。
IdM クライアントをインストールするこの方法は、組織内に異なる権限を持つ 2 人のシステム管理者が存在する場合に便利です。
- IdM 管理者の認証情報を持つもの。
-
IdM クライアントになるためのホストへの
ルート
アクセスを含む、必要な Ansible 認証情報を持つ別のもの。
IdM 管理者は、OTP パスワードが生成される手順の最初の部分を実行します。Ansible 管理者は、OTP を使用して IdM クライアントをインストールする手順の残りの部分を実行します。
前提条件
-
IdM
管理者の
認証情報、または少なくともホスト登録
権限と、IdM に DNS レコードを追加する権限を持っている必要があります。 - IdM クライアントをインストールできるように、Ansible 管理対象ノードでユーザーエスカレーションメソッドを設定しました。
- Ansible コントロールノードが RHEL 8.7 以前で実行されている場合は、Ansible コントロールノードにパッケージをインストールできる必要があります。
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.14 以降を使用している。
-
Ansible コントローラーに
ansible-freeipa
パッケージがインストールされている。 - IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成しました。
- 管理ノードが、静的 IP アドレスと作業パッケージマネージャーを備えた Red Hat Enterprise Linux 9 システムである。
手順
ホスト登録
権限と DNS レコードを追加する権限を持つ役割を持つ IdM ユーザーとして IdM ホストにSSH 接続します
。$ ssh admin@server.idm.example.com
新しいクライアントの OTP を生成します。
[admin@server ~]$ ipa host-add client.idm.example.com --ip-address=172.25.250.11 --random -------------------------------------------------- Added host "client.idm.example.com" -------------------------------------------------- Host name: client.idm.example.com Random password: W5YpARl=7M.n Password: True Keytab: False Managed by: server.idm.example.com
--ip-address= <your_host_ip_address> オプションは、指定された IP アドレスを持つホストを IdM DNS に追加します。
IdM ホストを終了します。
$ exit logout Connection to server.idm.example.com closed.
Ansible コントローラーで、ランダムパスワードを含めるようにインベントリーファイルを更新します。
[...] [ipaclients] client.idm.example.com [ipaclients:vars] ipaclient_domain=idm.example.com ipaclient_otp=W5YpARl=7M.n [...]
Ansible コントローラーが RHEL 8.7 以前を実行している場合は、
krb5-workstation
パッケージによって提供されるkinit
ユーティリティーをインストールします。$ sudo dnf install krb5-workstation
Playbook を実行してクライアントをインストールします。
$ ansible-playbook -i inventory install-client.yml