Identity Management でのレプリケーションの管理
レプリケーション環境の準備および検証
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
Jira からのフィードバック送信 (アカウントが必要)
- Jira の Web サイトにログインします。
- 上部のナビゲーションバーで Create をクリックします。
- Summary フィールドにわかりやすいタイトルを入力します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- ダイアログの下部にある Create をクリックします。
第1章 レプリケーショントポロジーの管理 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) ドメイン内のサーバー間のレプリケーションを管理できます。レプリカを作成すると、Identity Management (IdM) が初期サーバーとレプリカ間にレプリカ合意を作成します。複製されるデータはトポロジーの接尾辞に保存され、2 つのレプリカの接尾辞間でレプリカ合意があると、接尾辞がトポロジーセグメントを形成します。
1.1. IdM レプリカ間のレプリカ合意 リンクのコピーリンクがクリップボードにコピーされました!
管理者が、既存のサーバーに基づいてレプリカを作成すると、Identity Management (IdM) は、初期サーバーとレプリカとの間に レプリカ合意 を作成します。レプリカ合意は、データと設定が 2 台のサーバー間で継続的に複製されることを保証します。
IdM は、複数の読み取り/書き込みレプリカ複製 を使用します。この設定では、レプリカ合意に参加しているすべてのレプリカが更新の受信と提供を行うので、サプライヤーとコンシューマーとみなされます。レプリカ合意は常に双方向です。
図1.1 サーバーとレプリカ合意
IdM は、2 種類のレプリカ合意を使用します。
- ドメインレプリカ合意 は、アイデンティティー情報をレプリケートします。
- 証明書レプリカ合意 は、証明書情報をレプリケートします。
両方の複製チャンネルは独立しています。2 台のサーバー間で、いずれかまたは両方の種類のレプリカ合意を設定できます。たとえば、サーバー A とサーバー B にドメインレプリカ合意のみが設定されている場合は、証明書情報ではなく ID 情報だけが複製されます。
1.2. トポロジー接尾辞 リンクのコピーリンクがクリップボードにコピーされました!
トポロジー接尾辞は、レプリケートされるデータを保存します。IdM は、domain と ca の 2 種類のトポロジー接尾辞に対応します。それぞれの接尾辞は、個別のサーバーである個別のレプリケーショントポロジーを表します。
レプリカ合意が設定されると、同じタイプのトポロジー接尾辞を 2 つの異なるサーバーに結合します。
domain接尾辞: dc=example,dc=comdomain接尾辞には、ドメイン関連のデータがすべて含まれています。2 つのレプリカの
domain接尾辞間でレプリカ合意が設定されると、ユーザー、グループ、およびポリシーなどのディレクトリーデータが共有されます。ca接尾辞: o=ipacaca接尾辞には、Certificate System コンポーネントのデータが含まれます。これは認証局 (CA) がインストールされているサーバーにのみ存在します。2 つのレプリカの
ca接尾辞間でレプリカ合意が設定されると、証明書データが共有されます。
図1.2 トポロジー接尾辞
新規レプリカのインストール時には、ipa-replica-install スクリプトが 2 つのサーバー間に初期トポロジーレプリカ合意をセットアップします。
1.3. トポロジーセグメント リンクのコピーリンクがクリップボードにコピーされました!
2 つのレプリカの接尾辞間でレプリカ合意があると、接尾辞は トポロジーセグメント を形成します。各トポロジーセグメントは、左ノードと右ノード で構成されます。ノードは、レプリカ合意に参加しているサーバーを表します。
IdM のトポロジーセグメントは常に双方向です。各セグメントは、サーバー A からサーバー B、およびサーバー B からサーバー A への 2 つのレプリカ合意を表します。そのため、データは両方の方向でレプリケートされます。
図1.3 トポロジーセグメント
1.4. WebUI を使用したレプリケーショントポロジーの視覚的表現の表示および変更 リンクのコピーリンクがクリップボードにコピーされました!
Web UI を使用すると、レプリケーショントポロジーの表現を表示、操作、変換できます。Web UI のトポロジーグラフは、ドメイン内のサーバー間の関係を表示します。マウスのボタンを押したままドラッグすることで、個々のトポロジーノードを移動できます。
トポロジーグラフの解釈
ドメインのレプリカ合意に参加しているサーバーは、オレンジ色の矢印によって接続されます。CA のレプリカ合意に参加しているサーバーは、青色の矢印によって接続されます。
- トポロジーグラフの例: 推奨されるトポロジー
以下の推奨トポロジーの例は、4 台のサーバーに対して考えられる推奨トポロジーの 1 つを示しています。各サーバーは少なくとも 2 つの他のサーバーに接続されており、複数のサーバーが CA サーバーです。
図1.4 推奨されるトポロジーの例
- トポロジーグラフの例: 推奨されないトポロジー
推奨されないトポロジーの例では、
server1が単一障害点になります。その他のすべてのサーバーは、このサーバーとのレプリカ合意がありますが、他のサーバーとは合意がありません。したがって、server1が失敗すると、他のすべてのサーバーは分離されます。このようなトポロジーの作成は避けてください。
図1.5 推奨されないトポロジーの例: 単一障害点
前提条件
- IdM 管理者としてログインしている。
手順
- → → を選択します。
トポロジーを変更します。
マウスの左ボタンを使用してトポロジーグラフのノードを移動できます。
マウスのホイールを使用して、トポロジーグラフを拡大および縮小できます。
マウスの左ボタンを保持することで、トポロジーグラフのキャンバスを移動できます。
- トポロジーに加えた変更がグラフに反映されていない場合は、 をクリックします。
1.5. CLI を使用したトポロジー接尾辞の表示 リンクのコピーリンクがクリップボードにコピーされました!
レプリカ合意では、トポロジー接尾辞にレプリケートされたデータが保存されます。トポロジー接尾辞は CLI を使用して表示できます。
手順
ipa topologysuffix-findコマンドを入力して、トポロジー接尾辞のリストを表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6. CLI を使用したトポロジーセグメントの表示 リンクのコピーリンクがクリップボードにコピーされました!
レプリカ合意では、2 つのレプリカの接尾辞間にレプリカ合意がある場合、接尾辞がトポロジーセグメントを形成します。トポロジーセグメントは CLI を使用して表示できます。
手順
ipa topologysegment-findコマンドを入力して、ドメインまたは CA 接尾辞に設定されている現在のトポロジーセグメントを表示します。たとえば、ドメイン接尾辞の場合は、以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、ドメイン関連のデータのみが
server1.example.comとserver2.example.comの 2 つのサーバー間で複製されます。オプション: 特定のセグメントの詳細のみを表示するには、
ipa topologysegment-showコマンドを入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.7. Web UI を使用した 2 台のサーバー間のレプリケーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) Web UI を使用すると、2 つのサーバーを選択し、それらのサーバー間に新しいレプリカ合意を作成できます。
前提条件
- IdM 管理者としてログインしている。
手順
トポロジーグラフで、サーバーノードの 1 つにマウスを合わせます。
図1.6 ドメインまたは CA オプション
-
作成するトポロジーセグメントのタイプに応じて、
domainまたは円のca部分をクリックします。 新しいレプリカ合意を表す新しい矢印が、マウスポインターの下に表示されます。マウスを他のサーバーノードに移動し、そこでクリックします。
図1.7 新規セグメントの作成
-
Add Topology Segmentウィンドウで をクリックして、新規セグメントのプロパティーを確認します。
2 台のサーバー間の新しいトポロジーセグメントは、サーバーをレプリカ合意に参加させます。トポロジーグラフには、更新されたレプリケーショントポロジーが表示されるようになりました。
図1.8 新規に作成されたセグメント
1.8. Web UI を使用した 2 台のサーバー間のレプリケーションの停止 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) Web UI を使用すると、サーバーからレプリカ合意を削除できます。
前提条件
- IdM 管理者としてログインしている。
手順
削除するレプリカ合意を表す矢印をクリックします。これにより、矢印がハイライト表示されます。
図1.9 トポロジーセグメントのハイライト表示
- をクリックします。
Confirmationウィンドウで をクリックします。IdM は、2 台のサーバー間のトポロジーセグメントを削除します。これにより、そのレプリカ合意が削除されます。トポロジーグラフには、更新されたレプリケーショントポロジーが表示されるようになりました。
図1.10 トポロジーセグメントの削除
1.9. CLI を使用した 2 つのサーバー間のレプリケーションの設定 リンクのコピーリンクがクリップボードにコピーされました!
ipa topologysegment-add コマンドを使用して、2 台のサーバー間のレプリカ合意を設定できます。
前提条件
- IdM 管理者認証情報がある。
手順
2 つのサーバーのトポロジーセグメントを作成します。プロンプトが表示されたら、以下を指定します。
-
必要なトポロジー接尾辞:
domainまたはca - 2 つのサーバーを表す、左ノードと右のノード
オプション: セグメントのカスタム名
以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいセグメントを追加すると、サーバーをレプリカ合意に参加させます。
-
必要なトポロジー接尾辞:
検証
新しいセグメントが設定されていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10. CLI を使用した 2 つのサーバー間のレプリケーションの停止 リンクのコピーリンクがクリップボードにコピーされました!
ipa topology_segment-del コマンドを使用して、コマンドラインからレプリカ合意を終了できます。
前提条件
- IdM 管理者認証情報がある。
手順
オプション: 削除する特定のレプリケーションセグメントの名前がわからない場合は、使用可能なすべてのセグメントを表示します。
ipa topologysegment-findコマンドを使用します。プロンプトが表示されたら、必要なトポロジー接尾辞 (domainまたはca) を指定します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なセグメントを出力で特定します。
2 つのサーバーを結合するトポロジーセグメントを削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow セグメントを削除すると、レプリカ合意が削除されます。
検証
セグメントがリストに表示されなくなったことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11. Web UI を使用したトポロジーからのサーバーの削除 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) の Web インターフェイスを使用して、トポロジーからサーバーを削除できます。この操作では、サーバーコンポーネントがホストからアンインストールされません。
前提条件
- IdM 管理者としてログインしている。
- 削除するサーバーが、残りのトポロジーで他のサーバーに接続する 唯一のサーバーではない。この場合、他のサーバーが分離されますが、これは許可されていません。
- 削除するサーバーが、最後の CA または DNS サーバー ではない。
サーバーの削除は元に戻せないアクションです。サーバーを削除すると、トポロジーに戻す唯一の方法は、マシンに新しいレプリカをインストールすることです。
手順
- → → を選択します。
削除するサーバーの名前をクリックします。
図1.11 サーバーの選択
- をクリックします。
関連情報
1.12. CLI を使用したトポロジーからのサーバーの削除 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して、トポロジーから Identity Management (IdM) サーバーを削除できます。
前提条件
- IdM 管理者認証情報がある。
- 削除するサーバーが、残りのトポロジーで他のサーバーに接続する 唯一のサーバーではない。この場合、他のサーバーが分離されますが、これは許可されていません。
- 削除するサーバーが、最後の CA または DNS サーバー ではない。
サーバーの削除は元に戻せないアクションです。サーバーを削除すると、トポロジーに戻す唯一の方法は、マシンに新しいレプリカをインストールすることです。
手順
server1.example.com を削除するには、次のコマンドを実行します。
別のサーバーで
ipa server-delコマンドを実行して、server1.example.comを削除します。このコマンドは、サーバーを参照するすべてのトポロジーセグメントを削除します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
server1.example.comで、ipa server-install --uninstallコマンドを実行して、マシンからサーバーコンポーネントをアンインストールします。ipa server-install --uninstall
[root@server1 ~]# ipa server-install --uninstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.13. 古い RUV レコードの削除 リンクのコピーリンクがクリップボードにコピーされました!
レプリカ合意を適切に削除せずに IdM トポロジーからサーバーを削除すると、古いレプリカ更新ベクトル (RUV) レコードは、トポロジー内の残りの複数のサーバーに残されます。これは、たとえば自動化により発生する可能性があります。これらのサーバーは、現在削除されたサーバーから更新を受け取ることを想定しています。この場合は、残りのサーバーから古い RUV レコードをクリーンアップする必要があります。
前提条件
- IdM 管理者認証情報がある。
- どのレプリカが壊れているか、または不適切に削除されたかがわかっている。
手順
ipa-replica-manage list-ruvコマンドを使用して、RUV の詳細をリスト表示します。このコマンドは、レプリカ ID を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ipa-replica-manage list-ruvコマンドは、誤作動したり、不適切に削除されたりしたレプリカだけでなく、トポロジー内のすべてのレプリカをリスト表示します。ipa-replica-manage clean-ruvを使用して、指定したレプリカに関連付けられた古い RUV を削除します。古い RUV を持つすべてのレプリカ ID に対してこのコマンドを繰り返します。たとえば、server1.example.comとserver2.example.comが誤作動したり、レプリカが不適切に削除されたりすることを確認している場合:ipa-replica-manage clean-ruv 6 ipa-replica-manage clean-ruv 5
ipa-replica-manage clean-ruv 6 ipa-replica-manage clean-ruv 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ipa-replica-manage clean-ruv の使用には、特別な注意を払って続行してください。有効なレプリカ ID を指定してコマンドを実行すると、レプリカデータベース内のそのレプリカに関連するすべてのデータが破損します。
この場合は、$ ipa-replica-manage re-initialize --from server1.example.com を使用して、別のレプリカからレプリカを再初期化します。
検証
-
ipa-replica-manage list-ruvを再度実行します。このコマンドで破損した RUV が表示されなくなった場合は、レコードが正常に消去されています。 このコマンドで、依然として破損した RUV が表示される場合は、このタスクを使用して手動で削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.14. IdM Web UI を使用して IdM トポロジーで利用可能なサーバーロールを表示する リンクのコピーリンクがクリップボードにコピーされました!
IdM サーバーにインストールされるサービスに基づいて、さまざまな サーバーロール を実行できます。以下に例を示します。
- CA サーバー
- DNS サーバー
- キーリカバリー認証局 (KRA) サーバー
手順
サポートされるサーバーロールの完全なリストは、 → → を参照してください。
注記-
Role status が
absentの場合は、トポロジー内でそのロールを実行しているサーバーがないことを示しています。 -
Role status が
enabledの場合は、トポロジー内でそのロールを実行しているサーバーが 1 台以上あることを示しています。
図1.12 Web UI でのサーバーロール
-
Role status が
1.15. IdM CLI を使用して IdM トポロジーで利用可能なサーバーロールを表示する リンクのコピーリンクがクリップボードにコピーされました!
IdM サーバーにインストールされるサービスに基づいて、さまざまな サーバーロール を実行できます。以下に例を示します。
- CA サーバー
- DNS サーバー
- キーリカバリー認証局 (KRA) サーバー
手順
トポロジー内のすべての CA サーバーと現在の CA 更新サーバーを表示するには、以下を実行します。
ipa config-show ... IPA masters: server1.example.com, server2.example.com, server3.example.com IPA CA servers: server1.example.com, server2.example.com IPA CA renewal master: server1.example.com
$ ipa config-show ... IPA masters: server1.example.com, server2.example.com, server3.example.com IPA CA servers: server1.example.com, server2.example.com IPA CA renewal master: server1.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、特定のサーバー (例: server.example.com) で有効になっているロールのリストを表示するには、以下を実行します。
ipa server-show Server name: server.example.com ... Enabled server roles: CA server, DNS server, KRA server
$ ipa server-show Server name: server.example.com ... Enabled server roles: CA server, DNS server, KRA serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow または、
ipa server-find --servroleコマンドを使用して、特定のサーバーロールが有効になっているすべてのサーバーを検索します。たとえば、すべての CA サーバーを検索するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.16. レプリカの CA 更新サーバーおよび CRL パブリッシャーサーバーへのプロモート リンクのコピーリンクがクリップボードにコピーされました!
IdM デプロイメントで組み込み認証局 (CA) を使用する場合は、IdM CA サーバーの 1 つが CA サブシステム証明書の更新を管理する CA 更新サーバーとして機能します。IdM CA サーバーの 1 つは、証明書失効リストを生成する IdM CRL パブリッシャーサーバーとしても機能します。
デフォルトでは、CA 更新サーバーおよび CRL パブリッシャーサーバーロールは、システム管理者が ipa-server-install または ipa-ca-install コマンドを使用して CA ロールをインストールした最初のサーバーにインストールされます。ただし、CA ロールが有効になっている他の IdM サーバーに 2 つのロールのいずれかを転送することはできます。
前提条件
- IdM 管理者認証情報がある。
第2章 Ansible Playbook を使用して IdM を管理する環境の準備 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) を管理するシステム管理者は、Red Hat Ansible Engine を使用する際に以下を行うことが推奨されます。
- ホームディレクトリーに Ansible Playbook 専用のサブディレクトリー (例: ~/MyPlaybooks) を作成します。
-
/usr/share/doc/ansible-freeipa/*と/usr/share/doc/rhel-system-roles/*ディレクトリーおよびサブディレクトリーから ~/MyPlaybooks ディレクトリーにサンプル Ansible Playbook をコピーして調整します。 - ~/MyPlaybooks ディレクトリーにインベントリーファイルを追加します。
このプラクティスを使用すると、すべての Playbook を 1 カ所で見つけることができます。また、root 権限を呼び出しなくても Playbook を実行できます。
マネージドノードで root 権限があれば、ipaserver、ipareplica、ipaclient、および ipabackup ansible-freeipa ロールを実行できます。これらのロールには、ディレクトリーおよび dnf ソフトウェアパッケージマネージャーへの特権アクセスが必要です。
~/MyPlaybooks ディレクトリーを作成し、それを使用して Ansible Playbook を保存および実行できるように設定するには、次の手順に従います。
前提条件
- マネージドノードに IdM サーバー (server.idm.example.com および replica.idm.example.com) をインストールした。
- DNS およびネットワークを設定し、コントロールノードから直接マネージドノード (server.idm.example.com および replica.idm.example.com) にログインすることができる。
-
IdM
adminのパスワードを把握している。
手順
Ansible 設定および Playbook のディレクトリーをホームディレクトリーに作成します。
mkdir ~/MyPlaybooks/
$ mkdir ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks
$ cd ~/MyPlaybooksCopy to Clipboard Copied! Toggle word wrap Toggle overflow ~/MyPlaybooks/ansible.cfg ファイルを以下の内容で作成します。
[defaults] inventory = /home/your_username/MyPlaybooks/inventory [privilege_escalation] become=True
[defaults] inventory = /home/your_username/MyPlaybooks/inventory [privilege_escalation] become=TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ~/MyPlaybooks/inventory ファイルを以下の内容で作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定は、これらの場所にあるホストの 2 つのホストグループ (eu と us) を定義します。さらに、この設定は、eu および us グループのすべてのホストを含む ipaserver ホストグループを定義します。
オプション: SSH 公開鍵および秘密鍵を作成します。テスト環境でのアクセスを簡素化するには、秘密鍵にパスワードを設定しないでください。
ssh-keygen
$ ssh-keygenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各マネージドノードの IdM
adminアカウントに SSH 公開鍵をコピーします。ssh-copy-id admin@server.idm.example.com ssh-copy-id admin@replica.idm.example.com
$ ssh-copy-id admin@server.idm.example.com $ ssh-copy-id admin@replica.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow これらのコマンドでは、IdM
管理者パスワードを入力します。
第3章 Ansible を使用した IdM でのレプリケーショントポロジーの管理 リンクのコピーリンクがクリップボードにコピーされました!
複数の Identity Management (IdM) サーバーを維持し、冗長性の目的で相互に複製して、サーバーの損失を軽減または防止することができます。たとえば、1 台のサーバーに障害が発生しても、その他のサーバーがドメインにサービスを提供し続けます。障害が発生していないサーバーの 1 台から新しいレプリカを作成し、失われたサーバーを回復することもできます。
IdM サーバーに保存されているデータは、レプリカ合意に基づいて複製されます。2 台のサーバーでレプリカ合意が設定されている場合は、データを共有します。レプリケートされるデータはトポロジーの suffix に保存されます。2 つのレプリカに接尾辞間でレプリカ合意があると、接尾辞はトポロジー segment を形成します。
この章では、Ansible を使用して IdM レプリカ合意、トポロジーセグメント、およびトポロジー接尾辞を管理する方法を説明します。
3.1. Ansible を使用して、レプリカ合意が IdM に存在することを確認 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) サーバーに保存されているデータは、レプリカ合意に基づいて複製されます。2 台のサーバーでレプリカ合意が設定されている場合は、データを共有します。レプリカ合意は常に双方向のものです。最初のレプリカからサーバーから別のレプリカにデータが複製されるだけでなく、別ののレプリカから最初のレプリカにもデータが複製されます。
この手順に従い、Ansible Playbook を使用して、server.idm.example.com と replica.idm.example.com との間で domain タイプのレプリカ合意が存在することを確認説明します。
前提条件
- トポロジーで IdM レプリカを接続するためのガイドライン に記載されている IdM トポロジーを設計するための推奨事項を確実に理解している。
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_passwordが保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipaパッケージによって提供されるadd-topologysegment.ymlAnsible Playbook ファイルをコピーします。cp /usr/share/doc/ansible-freeipa/playbooks/topology/add-topologysegment.yml add-topologysegment-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/add-topologysegment.yml add-topologysegment-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
add-topologysegment-copy.ymlファイルを開いて編集します。 ipatopologysegmentタスクセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 -
追加するセグメントのタイプに応じて、
suffix変数をdomainまたはcaのいずれかに設定します。 -
leftの変数をレプリカ合意の左ノードに設定する IdM サーバーの名前に設定します。 -
レプリカ合意の適切なノードとなる IdM サーバーの名前に
right変数を設定します。 -
state変数はpresentに設定されていることを確認します。
以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory add-topologysegment-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-topologysegment-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. Ansible を使用して複数の IdM レプリカ間でレプリカ合意を存在させる手順 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) サーバーに保存されているデータは、レプリカ合意に基づいて複製されます。2 台のサーバーでレプリカ合意が設定されている場合は、データを共有します。レプリカ合意は常に双方向のものです。最初のレプリカからサーバーから別のレプリカにデータが複製されるだけでなく、別ののレプリカから最初のレプリカにもデータが複製されます。
以下の手順に従って、IdM の複数のレプリカのペア間でレプリカ合意が存在することを確認します。
前提条件
- トポロジーで IdM レプリカを接続するためのガイドライン に記載されている IdM トポロジーを設計するための推奨事項を確実に理解している。
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_passwordが保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipaパッケージによって提供されるadd-topologysegments.ymlAnsible Playbook ファイルをコピーします。cp /usr/share/doc/ansible-freeipa/playbooks/topology/add-topologysegments.yml add-topologysegments-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/add-topologysegments.yml add-topologysegments-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
add-topologysegments-copy.ymlファイルを開いて編集します。 varsセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 すべてのトポロジーセグメントについて、
ipatopology_segmentsセクションに行を追加し、以下の変数を設定します。-
追加するセグメントのタイプに応じて、
suffix変数をdomainまたはcaのいずれかに設定します。 -
leftの変数をレプリカ合意の左ノードに設定する IdM サーバーの名前に設定します。 -
レプリカ合意の適切なノードとなる IdM サーバーの名前に
right変数を設定します。
-
追加するセグメントのタイプに応じて、
-
add-topologysegments-copy.ymlファイルのtasksセクションで、state変数がpresentに設定されていることを確認します。以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory add-topologysegments-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-topologysegments-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. Ansible を使用して 2 つのレプリカ間でレプリカ合意が存在するかどうかの確認 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) サーバーに保存されているデータは、レプリカ合意に基づいて複製されます。2 台のサーバーでレプリカ合意が設定されている場合は、データを共有します。レプリカ合意は常に双方向のものです。最初のレプリカからサーバーから別のレプリカにデータが複製されるだけでなく、別ののレプリカから最初のレプリカにもデータが複製されます。
以下の手順に従って、IdM のレプリカのペア間でレプリカ合意が存在することを確認します。Ansible を使用して IdM にレプリカ合意が存在することを確認する場合 とは対照的に、この手順では既存の設定は変更されません。
前提条件
- トポロジーで IdM レプリカを接続するためのガイドライン に記載されている Identity Management (IdM) トポロジーを設計するための推奨事項を確実に理解している。
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_passwordが保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipaパッケージによって提供されるcheck-topologysegments.ymlAnsible Playbook ファイルをコピーします。cp /usr/share/doc/ansible-freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/check-topologysegments.yml check-topologysegments-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
check-topologysegments-copy.ymlファイルを開いて編集します。 varsセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 すべてのトポロジーセグメントについて、
ipatopology_segmentsセクションに行を追加し、以下の変数を設定します。-
追加するセグメントのタイプに応じて、
suffix変数をdomainまたはcaのいずれかに設定します。 -
leftの変数をレプリカ合意の左ノードに設定する IdM サーバーの名前に設定します。 -
レプリカ合意の適切なノードとなる IdM サーバーの名前に
right変数を設定します。
-
追加するセグメントのタイプに応じて、
-
check-topologysegments-copy.ymlファイルのtasksセクションで、state変数がpresentに設定されていることを確認します。以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory check-topologysegments-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4. Ansible を使用してトポロジーの接尾辞が IdM に存在することを確認 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) のレプリカ合意のコンテキストでは、トポロジー接尾辞はレプリケートされるデータを保存します。IdM は、domain と ca の 2 種類のトポロジー接尾辞に対応します。それぞれの接尾辞は、個別のバックエンドである個別のレプリケーショントポロジーを表します。レプリカ合意が設定されると、同じタイプのトポロジー接尾辞を 2 つの異なるサーバーに結合します。
domain 接尾辞には、ユーザー、グループ、ポリシーに関するデータなど、ドメイン関連のすべてのデータが含まれます。ca 接尾辞には、Certificate System コンポーネントのデータが含まれます。これは認証局 (CA) がインストールされているサーバーにのみ存在します。
以下の手順に従って、Ansible Playbook を使用して、トポロジー接尾辞が IdM に存在することを確認します。この例では、domain 接尾辞が IdM に存在することを確認する方法を説明します。
前提条件
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_passwordが保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipaパッケージによって提供されるverify-topologysuffix.ymlAnsible Playbook ファイルをコピーします。cp /usr/share/doc/ansible-freeipa/playbooks/topology/ verify-topologysuffix.yml verify-topologysuffix-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/ verify-topologysuffix.yml verify-topologysuffix-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ansible Playbook ファイル
verify-topologysuffix-copy.ymlを開きます。 ipatopologysuffixセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 -
suffix変数はdomainに設定します。ca接尾辞が存在することを確認する場合は、変数をcaに設定します。 -
state変数がverifiedに設定されていることを確認します。他のオプションは使用できません。
以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory verify-topologysuffix-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory verify-topologysuffix-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. Ansible を使用した IdM レプリカの再初期化 リンクのコピーリンクがクリップボードにコピーされました!
レプリカが長時間オフラインになっている場合や、データベースが破損している場合は、レプリカを再初期化できます。再初期化により、新しいデータセットでレプリカが更新されます。たとえば、バックアップからの権限のある復元を行う必要がある場合に、再初期化を使用できます。
レプリケーションの更新とは対照的に、レプリカが変更エントリーのみを送信する間、データベース全体を再初期化します。
コマンドを実行するローカルホストは、再初期化されたレプリカです。データの取得元となるレプリカを指定するには、direction オプションを使用します。
以下の手順に従って、Ansible Playbook を使用して server.idm.example.com から replica.idm.example.com の domain データを再初期化します。
前提条件
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_passwordが保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipaパッケージによって提供されるreinitialize-topologysegment.ymlAnsible Playbook ファイルをコピーします。cp /usr/share/doc/ansible-freeipa/playbooks/topology/reinitialize-topologysegment.yml reinitialize-topologysegment-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/reinitialize-topologysegment.yml reinitialize-topologysegment-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
reinitialize-topologysegment-copy.ymlファイルを開いて編集します。 ipatopologysegmentセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 -
suffix変数はdomainに設定します。caデータを再初期化する場合は、変数をcaに設定します。 -
leftの変数をレプリカ合意の左ノードに設定します。 -
レプリカ合意の
rightなノードに正しい変数を設定します。 -
direction変数は再初期化されるデータの方向に設定します。left-to-rightは、左のノードから適切なノードにデータフローがあることを意味します。 state変数がreinitializedに設定されていることを確認します。以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory reinitialize-topologysegment-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory reinitialize-topologysegment-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6. Ansible を使用して IdM にレプリカ合意がないことを確認する手順 リンクのコピーリンクがクリップボードにコピーされました!
Identity Management (IdM) サーバーに保存されているデータは、レプリカ合意に基づいて複製されます。2 台のサーバーでレプリカ合意が設定されている場合は、データを共有します。レプリカ合意は常に双方向のものです。最初のレプリカからサーバーから別のレプリカにデータが複製されるだけでなく、別ののレプリカから最初のレプリカにもデータが複製されます。
以下の手順に従って、2 つのレプリカ間のレプリカ合意が IdM に存在しないことを確認します。この例では、domain タイプのレプリカ合意が、replica01.idm.example.com と replica02.idm.example.com IdM サーバー間で存在させないようにする方法を説明します。
前提条件
- トポロジー内のレプリカの接続 に記載されている IdM トポロジーの設計に関する推奨事項を理解している。
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_passwordが保存されていること、および secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
~/MyPlaybooks/ ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-freeipaパッケージによって提供されるdelete-topologysegment.ymlAnsible Playbook ファイルをコピーします。cp /usr/share/doc/ansible-freeipa/playbooks/topology/delete-topologysegment.yml delete-topologysegment-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/topology/delete-topologysegment.yml delete-topologysegment-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
delete-topologysegment-copy.ymlファイルを開いて編集します。 ipatopologysegmentタスクセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_password変数の値が secret.yml Ansible vault ファイルで定義されていることを示します。 -
suffix変数はdomainに設定します。また、caデータが左右ノードと右のノード間で複製されないようにするには、変数をcaに設定します。 -
leftの変数を、レプリカ合意の左ノードである IdM サーバーの名前に設定します。 -
右側の変数を、レプリカ合意の右のノードである IdM サーバーの名前に設定します。 -
state変数は、absentに設定されていることを確認します。
以下は、今回の例で使用するように変更した Ansible Playbook ファイルです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
- ファイルを保存します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory delete-topologysegment-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory delete-topologysegment-copy.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 Healthcheck を使用した IdM レプリケーションの確認 リンクのコピーリンクがクリップボードにコピーされました!
Healthcheck ツールを使用して、Identity Management (IdM) レプリケーションをテストできます。
前提条件
- RHEL バージョン 8.1 以降を使用している。
5.1. IdM のレプリケーションとトポロジーのヘルスチェックテスト リンクのコピーリンクがクリップボードにコピーされました!
ヘルスチェックツールには、Identity Management (IdM) トポロジー設定のテストが含まれています。テストでは、レプリケーション競合の問題を検索します。
IPATopologyDomainCheck テストと ReplicationConflictCheck テストは、ipa-healthcheck --list-sources コマンドによる出力の ipahealthcheck.ipa.topology と ipahealthcheck.ds.replication ソースの下にあります。
- IPATopologyDomainCheck
次の設定をテストします。
- どの IdM サーバーもトポロジーから切断されない。
- 推奨される数を超えるレプリカ合意が IdM サーバーにない。
テストに成功すると、設定済みのドメインが返されます。成功しなかった場合は、特定の接続エラーが報告されます。
注記このテストでは、
domain接尾辞に対してipa topologysuffix-verifyコマンドを実行します。このサーバーで IdM Certificate Authority サーバーロールが設定されている場合は、ca接尾辞のコマンドも実行されます。- ReplicationConflictCheck
-
LDAP 内で
(&(!(objectclass=nstombstone))(nsds5ReplConflict=*))に一致するエントリーを検索します。
5.2. Healthcheck を使用したレプリケーションのスクリーニング リンクのコピーリンクがクリップボードにコピーされました!
Healthcheck ツールを使用して Identity Management (IdM) のレプリケーションおよびトポロジー設定のスタンドアロン手動テストを実行するには、次の手順に従います。
前提条件
-
root権限がある。
手順
以下を入力します。
ipa-healthcheck --source=ipahealthcheck.ds.replication --source=ipahealthcheck.ipa.topology
# ipa-healthcheck --source=ipahealthcheck.ds.replication --source=ipahealthcheck.ipa.topologyCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
--source=ipahealthcheck.ds.replicationおよび--source=ipahealthcheck.ipa.topologyオプションを指定すると、IdM Healthcheck によってレプリケーション競合とトポロジーテストだけが実行されます。
以下のような 4 つの結果が取得できます。
SUCCESS - テストに成功
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - WARNING - テストには成功したが、問題の可能性あり
ERROR - テストが失敗
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CRITICAL - テストが失敗し、IdM サーバー機能に影響が及ぶ
-
問題を確認するには、すべての IdM サーバーで上記のテストを実行します。