第6章 プラグイン開始更新のバインド DN の追跡
Directory Server では、プラグインがエントリーを更新するアクションを実行するユーザーを追跡できます。追跡が有効になり、ユーザーが実行するアクションの結果としてプラグインがエントリーを変更した場合は、更新されたエントリーの modifiersname
属性でユーザーの名前を確認できます。
6.1. プラグインによって実行されるエントリー変更のユーザー情報の追跡
ユーザーがエントリーを変更するアクションを実行すると、ディレクトリーツリー全体で他の自動変更をトリガーできます。デフォルトでは、Directory Server は、データ変更を開始したアクションを実行したユーザー名を追跡しません。ユーザー情報を追跡するには、nsslapd-plugin-binddn-tracking
パラメーターを使用できます。
たとえば、管理者がユーザーを削除すると、Referential Integrity Postoperation プラグインはすべてのグループからユーザーを自動的に削除します。サーバーにバインドされているユーザーアカウントによって実行されたエントリーの初期アクションを確認できます。ただし、デフォルトで、関連するすべての更新はプラグインによって実行されているように表示され、どのユーザーが更新を開始したかの情報はありません。
2 つ目の例は、MemberOf プラグインを使用してグループメンバーシップでユーザーエントリーを更新する場合があります。グループアカウントの更新はバインドされたユーザーが実行済みとして表示されますが、ユーザーエントリーの編集は MemberOf プラグインによって実行されると表示されます。
dn: cn=example_group,ou=groups,dc=example,dc=com modifiersname: uid=example,ou=people,dc=example,dc=com dn: uid=example,ou=people,dc=example,dc=com modifiersname: cn=MemberOf Plugin,cn=plugins,cn=config
nsslapd-plugin-binddn-tracking
パラメーターにより、サーバーは、どのユーザーが更新操作を開始したか、また操作を実際に実行した内部プラグインを追跡できます。バインドされたユーザーは modifiersname
および creatorsname
の運用属性に表示されますが、更新を実行したプラグインは internalModifiersname
および internalCreatorsname
操作属性に表示されます。以下に例を示します。
dn: uid=example,ou=people,dc=example,dc=com modifiersname: uid=admin,ou=people,dc=example,dc=com internalModifiersname: cn=MemberOf Plugin,cn=plugins,cn=config
nsslapd-plugin-binddn-tracking
パラメーターは、バインドされたユーザーと、その接続に対して実行される更新の関係を追跡し、維持します。
internalModifiersname
属性および internalCreatorsname
属性は、常にプラグインをアイデンティティーとして表示します。属性の値は次のとおりです。
-
cn=ldbm database,cn=plugins,cn=config
(コアの Directory Server が変更を実行する際に) -
プラグインがエントリーを変更した場合の
cn=the DN of the plug-in,cn=plugins,cn=config