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 プラグインを有効にするには、以下を実行します。
dsconf
ユーティリティーを使用してプラグインを有効にします。# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin retro-changelog enable
- インスタンスを再起動します。
# dsctl instance_name restart
15.21.1.2. Web コンソールを使用した Retro Changelog プラグインの有効化
Web コンソールを使用して Retro Changelog プラグインを有効にするには、以下を実行します。
- Web コンソールで Directory Server ユーザーインターフェイスを開きます。「Web コンソールを使用した Directory Server へのログイン」を参照してください。
- インスタンスを選択します。
- 左側の一覧で Retro Changelog プラグインを選択します。
- ステータスを On に変更します。
- インスタンスを再起動します。「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
) に読み取り権限を付与しないでください。認証されたアプリケーションとユーザー () に対してのみ、この情報へのアクセスを許可してください。