16.7. 一方向の同期の設定
図16.1「Active Directory - Directory Server の同期プロセス」に示すように、同期はデフォルトで 双方向 となります。つまり、Active Directory の変更が Directory Server に送信され、Directory Server の変更が Active Directory に送信されることを意味します。
変更が一方向のみに送信される場合は、一方向同期 を作成できます。これはサプライヤーとコンシューマーの関係と似ています。[1] マルチサプライヤーとは対照的です。
同期合意の追加属性
oneWaySync
は、一方向の同期を有効にし、変更を送信する方向を指定します。使用できる値は fromWindows
(Active Directory から Directory Server への同期の場合) および toWindows
(Directory Server から Active Directory の同期の場合) です。この属性がない場合、同期は双方向になります。
図16.3 一方向の同期
同期プロセス自体は、双方向と一方向の同期にほぼ同じです。これは、同じ同期間隔と設定を使用します。唯一の違いは、同期情報の要求方法にあります。
Windows Active Directory から Directory Server への同期では、定期的な同期の更新間隔で、Directory Server が Active Directory Server に接続し、DirSync コントロールを送信して更新を要求します。ただし、Directory Server は、その側から変更やエントリーは送信されません。つまり、同期更新は、Active Directory の変更内容が Directory Server のエントリーに送信され、更新されることで設定されています。
Directory Server から Active Directory 同期では、Directory Server は通常の更新で Active Directory サーバーにエントリー変更を送信しますが、Active Directory 側から更新を要求しないように DirSync 制御は含まれません。
--one-way-sync="direction"
オプションを使用して、以下のいずれかの状況で一方向同期を有効にします。
- 「ステップ 9: 同期用のデータベースの設定および同期合意の作成」 で新しい同期合意を作成する場合は、オプションを dsconf repl-winsync-agmt create コマンドに渡します。
- 同期合意がすでに存在する場合は、合意を更新します。たとえば、AD から Directory Server への同期を設定するには、以下を実行します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com repl-winsync-agmt set --one-way-sync="fromWindows" --suffix="dc=example,dc=com" example-agreement
注記
一方向同期を有効にすると、同期されていないサーバーで自動的に変更ができなくなる わけではないため、同期更新間の同期ピア間で不整合が生じる可能性があります。たとえば、一方向性同期は、Active Directory から Directory Server に行くように設定されているため、Active Directory が (実質的に) データサプライヤーとなります。Directory Server でエントリーを変更または削除すると、Directory Server 情報はその情報とは異なるため、これらの変更は Active Directory に引き継がれません。次の同期更新時に、編集内容は Directory Server で上書きされ、削除済みのエントリーが再追加されます。
データの不整合が発生するのを防ぐには、アクセス制御ルールを使用して、同期 されていない サーバーの同期サブツリー内のエントリーを編集または削除しないようにします。Directory Server のアクセス制御については、18章アクセス制御の管理で説明しています。Active Directory の場合は、適切な Windows ドキュメントを参照してください。
一方向の同期はパスワードの同期には影響しません。同期方向が
toWindows
に設定されている場合でも、Active Directory サーバー上のパスワードを更新した後に、パスワードは Directory Server に送信されます。