LDAP キャッシュについて

MLDAP ESM モジュールの LDAP 検索結果キャッシュ機能は、セキュリティ マネージャー定義の [Cache Limit] および [Cache TTL] 構成パラメーターに正の値を設定することで有効になります。

注: Micro Focus のサンプル セキュリティ マネージャー定義、および管理ユーザー インターフェイスを使用して新しく作成された定義では、通常、キャッシュ パラメーターに正の値が設定されています。つまり、キャッシュは多くの既存の構成で有効になり、新しい構成ではデフォルトで有効になります。キャッシュを無効にするには、キャッシュ制限またはキャッシュ TTL (あるいはその両方) を 0 に設定します。

各 MLDAP ESM モジュールのキャッシュは、そのセキュリティ マネージャーおよびプロセスに対してプライベートです。キャッシュは、単一のプロセスで実行されているスレッド間でのみ共有されます。

キャッシュの使用方法

MLDAP ESM モジュールは、Verify (ユーザーの認証) および Auth (リソースへのアクセスの承認) の 2 種類の ESF 要求を処理する際に LDAP キャッシュを使用します。ESF Admin などの他の要求は、キャッシュをバイパスします。また、特定の特殊な検索操作ではキャッシュは使用されません。これには、LDAP スキーマのクエリ、オプションのリソース クラスが定義されているかどうかの確認、LDAP サーバーとのセッションがまだ有効かどうかの確認に使用される操作が含まれます。

キャッシュされる可能性のある LDAP 検索結果には、ユーザー、グループ、およびリソース アクセス制御ルール オブジェクトに関する情報が含まれます。

検索結果は、エントリが作成された時刻、最後に使用された日時、使用頻度などの関連メタデータとともにキャッシュ エントリに保存されます。各エントリには、LDAP 検索に関連するすべてのデータを含むキーがあるため、キャッシュされた結果が同一の検索要求に対してのみ返されるようになります。

キャッシュの削除

エントリがキャッシュから削除されるタイミングおよび理由を理解しておくと便利です。削除の原因は 4 つあります。

  • 有効期限切れ:エントリの有効期間が終了しています。この有効期間は、セキュリティ マネージャー構成の [Cache TTL] (Time to Live) で指定された期間です。
  • 早期削除:MLDAP ESM モジュールにキャッシュする新しい検索結果がある場合に、(期限切れのエントリを削除した後) キャッシュに十分なスペースが残っていないと、スペースを増やすために最も長く使われていないエントリが削除されることがあります(LRU 削除とも呼ばれます)。最も長く使われていないエントリとは、最も長い時間キャッシュから返されていないエントリです。LRU 削除の背景にある原則は、使用頻度の低いエントリは価値が低いという考え方です。
  • 古くなっている:MLDAP ESM モジュールは、LDAP リポジトリ内のオブジェクトを変更する場合があります。モジュールでは、変更により、そのオブジェクトに関するキャッシュ情報が古くなっていると認識されます。たとえば、Verify 要求に (成功した) パスワード変更が含まれている場合、そのユーザーの検索結果は古くなります。このような場合、モジュールは対応するキャッシュ エントリを古いエントリとしてマークします。古いエントリはキャッシュから返されず、使用されなくなると削除されます。
  • フラッシュ:ESF 更新機能は、セキュリティ データが更新されたことを ESF に通知するために使用されます。更新要求が MLDAP ESM モジュールによって処理されると、キャッシュがフラッシュされ、キャッシュ内のすべてのエントリが削除されます。

キャッシュ情報

プロセスが ESF を終了すると (通常はシャットダウン中)、MLDAP ESM モジュールはキャッシュのパフォーマンスに関する情報を含むメッセージ 1095 をログに記録します。

オプションのキャッシュ トレース構成設定もあります。これにより、キャッシュ アクティビティに関する詳しい情報が生成されるため、使用には注意が必要です。「MLDAP ESM モジュールのカスタム構成情報」を参照してください。