15.21. Retro Changelog プラグインの使用

Retro Changelog プラグインは、Directory Server 4.x に実装された changelog との互換性を維持するように Directory Server を設定します。
注記
Directory Server 4.x 形式の changelog に依存するディレクトリークライアントの changelog を維持する必要がある場合は、Retrolog プラグインのみを有効にします。
Retro Changelog プラグインを使用するには、ディレクトリーサーバーインスタンスをシングルサプライヤーレプリカとして設定する必要があります。
Directory Server が Retro Changelog を維持するように設定されていると、この changelog は特別な接尾辞 cn=changelog の下に別のデータベースに保存されます。
Retro Changelog は単一レベルのエントリーで設定されます。changelog の各エントリーには、オブジェクトクラス changeLogEntry があります。changelog エントリーで可能な属性のリストは、『Red Hat Directory Server の設定、コマンド、およびファイルリファレンス』 の changelog 属性 セクションを参照してください。

15.21.1. Retro Changelog プラグインの有効化

本セクションでは、Retro Changelog プラグインを有効にする方法を説明します。
警告
retro 変更ログバックエンドでレプリケーションを有効にしないでください。retro 変更ログでレプリケーションを有効にすると、次のような結果になる場合があります。
  • 過剰な量のレプリケーショントラフィックが生成され、その半分は重複した更新です。
  • retro 変更ログのトリミングに関連する削除操作でエラーが発生します。
  • レプリケーションのパフォーマンスが非常に低く、サプライヤーでの更新が収束しません。

15.21.1.1. コマンドラインを使用した Retro Changelog プラグインの有効化

コマンドラインを使用して Retro Changelog プラグインを有効にするには、以下を実行します。
  1. dsconf ユーティリティーを使用してプラグインを有効にします。
    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin retro-changelog enable
  2. インスタンスを再起動します。
    # dsctl instance_name restart

15.21.1.2. Web コンソールを使用した Retro Changelog プラグインの有効化

Web コンソールを使用して Retro Changelog プラグインを有効にするには、以下を実行します。
  1. Web コンソールで Directory Server ユーザーインターフェイスを開きます。「Web コンソールを使用した Directory Server へのログイン」を参照してください。
  2. インスタンスを選択します。
  3. Plugins メニューを選択します。
  4. 左側の一覧で Retro Changelog プラグインを選択します。
  5. ステータスを On に変更します。
  6. Save Config をクリックします。
  7. インスタンスを再起動します。「Web コンソールを使用した Directory Server インスタンスの起動および停止」を参照してください。

15.21.2. Retro Changelog のトリム

nsslapd-changelogmaxage パラメーターで設定したレコードの最大年齢を下げ、nsslapd-changelog-trim-interval で設定した次のトリミング間隔を実行すると、Retro Changelog のサイズが自動的に縮小されます。
たとえば、Retro Changelog のレコードの最大期間を 2 日に設定するには、以下を実行します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin retro-changelog set --max-age="2d"

15.21.3. Retro Changelog の検索および変更

Changelog は検索操作に対応し、(&(changeNumber>=X)(changeNumber<=Y)) 形式のフィルターが含まれる検索に対して最適化されます。
一般的なルールとして、changelog のエントリーの追加操作や変更操作は実行しないでください。ただし、エントリーを削除して changelog のサイズをトリミングすることができます。デフォルトのアクセス制御ポリシーを変更するには、Retro Changelog エントリーのみを変更します。

15.21.4. Retro Changelog およびアクセス制御ポリシーの見直し

Directory Server が Retro Changelog を作成するとき、アクセス制御規則 (ACI) は作成されず、Directory Manager のみにアクセス制御規則 (読み取り、検索、比較、書き込み、削除) が適用されます。
Retro Changelog に適用されるデフォルトのアクセス制御ポリシーを変更するには、cn=changelog エントリーの aci 属性を変更します。たとえば、すべての許可されたユーザーに 読み取り検索、および 比較 権限を付与する場合は、次の ACI を cn=changelog に追加します。
dn: cn=changelog
aci: (targetattr="changeNumber || objectClass")(targetfilter="(objectClass=changelogentry)")
 (version 3.0; acl "Enable authenticated users to read the retro changelog"; allow (read, search, compare)
 (userdn="ldap:///all");)
警告
Changelog エントリーにはパスワードなどの機密情報が含まれている可能性があるため、aci 属性を修正する際は、匿名ユーザー (userdn=anyone) に読み取り権限を付与しないでください。認証されたアプリケーションとユーザー () に対してのみ、この情報へのアクセスを許可してください。