38.6. Ansible を使用して新規ローカル IdM ID 範囲を追加する方法
レプリカの ID が不足し、元の IdM ID 範囲を使い果たした場合など、場合によっては、元の IdM 範囲に加え、新しい Identity Management (IdM) ID 範囲の作成が必要になる場合があります。以下の例は、Ansible Playbook を使用して新しい IdM ID 範囲を作成する方法を説明しています。
新しい IdM ID 範囲を追加しても、新しい DNA ID 範囲は自動的に作成されません。必要に応じて、新しい DNA ID 範囲を手動で割り当てる必要があります。割り当て方法の詳細は、DNA ID 範囲の手動割り当て を参照してください。
前提条件
-
IdM
admin
のパスワードを把握している。 次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.14 以降を使用している。
-
Ansible コントローラーに
ansible-freeipa
パッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible ボールトに
ipaadmin_password
が保存されていることを前提としている。
-
ansible-freeipa
モジュールが実行されるノードであるターゲットノードは、IdM クライアント、サーバー、またはレプリカとしての IdM ドメインの一部です。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
$ cd ~/MyPlaybooks/
次の内容で
idrange-present.yml
playbook を作成します。--- - name: Playbook to manage idrange hosts: ipaserver become: no vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure local idrange is present ipaidrange: ipaadmin_password: "{{ ipaadmin_password }}" name: new_id_range base_id: 12000000 range_size: 200000 rid_base: 1000000 secondary_rid_base: 200000000
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i inventory idrange-present.yml
ipaserver
にSSH
を実行し、Directory Server を再起動します。# systemctl restart dirsrv@IDM.EXAMPLE.COM.service
これにより、新しい範囲から UID を持つユーザーを作成すると、セキュリティー識別子(SID)が割り当てられます。
オプション:ID 範囲をすぐに更新します。
ipaserver
で、System Security Services Daemon (SSSD)キャッシュをクリアします。# sss_cache -E
ipaserver
で、SSSD デーモンを再起動します。# systemctl restart sssd
注記SSSD キャッシュをクリアせずにサービスを再起動すると、SSSD は、IdM サーバーに保存されているドメインリストとその他の設定データを更新するときに、新しい ID 範囲のみを検出します。
検証手順
-
ipa idrange-find
コマンドを使用すると、新しい範囲が正しく設定されているかどうかを確認できます。
# ipa idrange-find ---------------- 2 ranges matched ---------------- Range name: IDM.EXAMPLE.COM_id_range First Posix ID of the range: 882200000 Number of IDs in the range: 200000 Range type: local domain range Range name: IDM.EXAMPLE.COM_new_id_range First Posix ID of the range: 12000000 Number of IDs in the range: 200000 Range type: local domain range ---------------------------- Number of entries returned 2 ----------------------------