Sun Java System Directory Server Enterprise Edition 6.0 管理ガイド

参照整合性の管理

参照整合性はエントリ間の関係を維持するためのプラグインメカニズムです。グループのメンバーシップなど、一部のタイプの属性には別のエントリの DN が含まれています。参照整合性を利用することで、エントリを削除したときに、そのエントリの DN を含むすべての属性も削除できます。

たとえば、参照整合性が有効になっているときに、あるユーザーのエントリがディレクトリから削除されると、そのユーザーは、所属しているあらゆるグループからも削除されます。参照整合性が無効な状態では、管理者はグループからユーザーを手動で削除する必要があります。これは、Directory Server を、ユーザーとグループの管理にディレクトリを使用するほかの Sun Java System 製品に統合する場合に重要な機能です。

参照整合性のしくみ

参照整合性プラグインが有効になっているときに削除操作や名前変更、または移動の操作を実行すると、指定された属性に対する整合性更新がただちに実行されます。ただし、デフォルトでは、参照整合性検査プラグインは無効になっています。

ディレクトリ内のユーザーエントリまたはグループエントリの削除、名前の変更、移動を行なった場合、常に操作が参照整合性ログファイルに記録されます。

instance-path/logs/referint

更新間隔と呼ばれる指定した時間が経過すると、参照整合性が有効になっているすべての属性が検索され、検索結果のエントリと、ログファイル内に記録された削除または変更されたエントリの DN が照合されます。特定のエントリが削除されたことがログファイルに記録されている場合は、対応する属性が削除されます。特定のエントリが変更されたことがログファイルに記録されている場合は、対応する属性値が記録に従って変更されます。

参照整合性プラグインのデフォルトの設定が有効になっている場合に、削除、名前変更、移動操作を行うと、ただちに memberuniquemember ownerseeAlso、および nsroledn 属性に対する整合性更新が実行されます。ただし、参照整合性検査プラグインの動作は、次のような用途に合わせてユーザーが自由に設定できます。次の動作を設定できます。

Procedure参照整合性検査プラグインを設定する


注 –

参照整合性プラグインで使用される全データベースのすべての属性に、インデックスを設定する必要があります。インデックスはすべてのデータベースの設定内で作成する必要があります。旧バージョン形式の更新履歴ログが有効になっている場合、cn=changelog サフィックスにインデックスを設定する必要があります。詳細については、第 12 章「Directory Server のインデックス」を参照してください。


レプリケートされた環境では、特定の制限が参照整合性検査プラグインの使用に関連付けられています。これらの制限の一覧については、「レプリケーションと参照の完全性」を参照してください。

DSCC を使用してこの作業を実行できます。詳細は、「Directory Service Control Center のインタフェース」と DSCC のオンラインヘルプを参照してください。

  1. すべてのレプリカが設定され、すべてのレプリケーションアグリーメントが定義されていることを確認します。

  2. 参照整合性を維持する一連の属性を定義し、マスターサーバーで使用する更新間隔を決定します。

  3. 同じ属性セットと同じ更新間隔を使用して、すべてのマスターサーバーで参照整合性プラグインを有効化します。

    • 参照整合性の属性を定義するには、次のコマンドを使用します。


      $ dsconf set-server-prop -h host -p port ref-integrity-attr:attribute-name
      
    • 参照整合性の更新間隔を定義するには、次のコマンドを使用します。


      $ dsconf set-server-prop -h host -p port ref-integrity-check-delay:duration
      
    • 参照整合性を有効にするには、次のコマンドを使用します。


      $ dsconf set-server-prop -h host -p port ref-integrity-enabled:on
  4. すべてのコンシューマサーバー上で参照整合性検査プラグインが無効になっていることを確認します。