サーバーのデータベースアクセス権の設定に関するガイドライン

複製を正しく実行するため、データベース ACL でサーバーに適切なアクセス権を与えます。サーバーのデータベースへのアクセス権を設定するときは、次のガイドラインに従ってください。

最低でもユーザー以上のアクセスレベルを割り当てる

たとえば、サーバー A のレプリカの設計が変更された場合、この変更内容がサーバー B に複製されるのは、サーバー A にサーバー B のレプリカに対して [設計者] 以上のアクセス権が設定されている場合だけです。

サーバーをデータベースの各設計要素に対応する読み込みのアクセスリストに追加する

データベースの設計要素に、読み込みのアクセスリストが設定されていて、[読者] のアクセス権を与えられた一部のユーザーだけがアクセスできるようになっている場合は、その読み込みのアクセスリストに、データベース ACL で [読者] のアクセス権を設定されているサーバー名だけでなく、複製サーバーの名前も追加します。たとえば、サーバー A のレプリカにフォームのアクセスリストがあって、そのフォームで作成した文書を読み込めるユーザーが制限されている場合は、その読み込みのアクセスリストにサーバー B を追加し、ACL でサーバー B に [読者] 以上のアクセス権を与えて、サーバー B がそのフォームで作成した新しい文書やそのフォームで作成した文書の変更内容を受信できるようにします。

中間サーバーに適切なアクセス権を割り当てる

中間サーバー経由で複製する場合、中間サーバーは、まず複製先として動作し、次に複製元として動作します。このため、中間サーバーには変更内容を受け渡しできるアクセスレベルが必要です。たとえば、サーバー A のレプリカの ACL を変更し、サーバー A からサーバー B 経由でサーバー C に複製できるようにするとします。この場合、サーバー B のレプリカにはサーバー A を [管理者] のアクセス権で設定し、サーバー C のレプリカにはサーバー B を [管理者] のアクセス権で設定することが必要です。

A 方向の複製には [読者] のアクセス権を割り当てる

サーバーがレプリカから情報を受信できても、変更内容を送り返せないようにするには、サーバーにレプリカへの [読者] のアクセス権を与えます。たとえば、サーバー B がサーバー A のレプリカから変更内容を受信できても、サーバー A に変更内容を送信できないようにするには、サーバー B にサーバー A のレプリカへの [読者] のアクセス権を与えます。

作成者が行った変更を複製するには [編集者] のアクセス権を割り当てる

レプリカに [作成者] フィールドが含まれていて、作成者が自分が作成した文書を更新できるようになっている場合に、この更新内容を複製するには、サーバーは、複製先レプリカに対して [作成者] ではなく [編集者] 以上のアクセス権が必要です。例えば、[作成者] のアクセス権が設定されているユーザーがサーバー A のレプリカを変更した場合、サーバー B のレプリカに対し、サーバー A に [編集者] 以上のアクセス権がある場合のみ、その内容がサーバー B に複製されます。