一部の企業では、業務の効率化や企業全体の活力向上につなげるため、社員自身がツリー内にエントリを作成できるようにしています。たとえば、Example.com 社には、テニス、水泳、スキー、演劇などのさまざまなクラブが組織された社内委員会があります。
Example.com 社の社員はだれでも、「ACI「Create Group」」に示すように、新しいクラブを表すグループエントリを作成できます。
「ユーザー自身の操作によるグループへの参加とグループからの退会」に示すように、Example.com 社の社員であれば、これらのグループのどれか 1 つのメンバーになることができます。
「ACI「Delete Group」」に示すように、グループエントリの変更や削除ができるのは、グループの所有者のみです。
Example.com 社の社員が ou=Social Committee エントリの下にグループエントリを作成できるようにするには、LDIF で次のような文を作成します。
aci: (targetattr="*") (targattrfilters="add=objectClass: (|(objectClass=groupOfNames)(objectClass=top))") (version 3.0; acl "Create Group"; allow (read,search,add) userdn= "ldap:///uid=*,ou=People,dc=example,dc=com") and dns="*.Example.com";) |
この例では、ACI を ou=Social Committee, dc=example,dc=com エントリに追加することを仮定しています。
この ACI は、書き込みアクセス権を与えないので、エントリを変更できません。
サーバーが top という値を追加するので、targattrfilters キーワードで objectClass=top を指定する必要があります。
この ACI は、example.com ドメイン内のクライアントマシンにのみ適用されます。
Example.com 社の社員が ou=Social Committee エントリの下に属しているグループエントリを変更または削除できるようにするには、LDIF で次のような文を作成します。
aci: (targetattr = "*") (targattrfilters="del=objectClass: (objectClass=groupOfNames)") (version 3.0; acl "Delete Group"; allow (write,delete) userattr="owner#GROUPDN";) |
この例では、aci を ou=Social Committee, dc=example,dc=com エントリに追加しています。
DSCC を使用してこの ACI を作成すると、手動編集モードでのターゲットフィルタの作成とグループ所有権の確認が必要なので、あまり効率的ではありません。