第2章 マクロアクセス制御命令の使用
マクロアクセス制御命令 (ACI) を使用すると、LDAP エントリーの識別名 (DN) またはその一部を対象とするアクセスを自動化し、ACI の数を減らすことができます。
2.1. マクロアクセス制御命令の例
次の図は、サフィックスとして dc=hostedCompany1,dc=example,dc=com
および dc=hostedCompany2,dc=example,dc=com
と、サブドメインの繰り返しパターンを持つディレクトリーツリーを示しています。各サブドメインの構造は、ou=groups
、ou=people
エントリーと同じです。ディレクトリーツリーは、マクロアクセス制御命令 (ACI) を使用して、ACI の総数を減らします。
ディレクトリーツリーに適用される ACI には、繰り返しパターンがあります。たとえば、次の ACI は dc=hostedCompany1,dc=example,dc=com
ノードにあり、DomainAdmins
グループに対する読み取りおよび検索権限を、そのツリー内の任意のエントリーに付与します。
aci: (targetattr="*")(targetfilter=(objectClass=nsManagedDomain)) (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=DomainAdmins,ou=Groups,dc=hostedCompany1,dc=example,dc=com";)
図2.1 マクロ ACI ディレクトリーツリーの例
以下の ACI は、groupdn
キーワードの DN の異なる部分を示しています。
-
dc=hostedCompany1,dc=example,dc=com
ノードには、次の ACI が含まれています。
aci: (targetattr="*")(targetfilter=(objectClass=nsManagedDomain)) (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=DomainAdmins,ou=Groups,dc=hostedCompany1,dc=example,dc=com";)
-
dc=subdomain1,dc=hostedCompany1,dc=example,dc=com
ノードには、次の ACI が含まれています。
aci: (targetattr="*")(targetfilter=(objectClass=nsManagedDomain)) (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=DomainAdmins,ou=Groups,dc=subdomain1,dc=hostedCompany1,dc=example,dc=com";)
-
dc=hostedCompany2,dc=example,dc=com
ノードには、次の ACI が含まれています。
aci: (targetattr="*")(targetfilter=(objectClass=nsManagedDomain)) (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=DomainAdmins,ou=Groups,dc=hostedCompany2,dc=example,dc=com";)
-
dc=subdomain1,dc=hostedCompany2,dc=example,dc=com
ノードには、次の ACI が含まれています。
aci: (targetattr="*")(targetfilter=(objectClass=nsManagedDomain)) (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=DomainAdmins,ou=Groups,dc=subdomain1,dc=hostedCompany2,dc=example,dc=com";)
マクロを使用して、繰り返しパターンの複数の ACI を置き換えます。たとえば、上記の ACI を 1 つに減らすには、次のマクロを使用します。
aci: (target="ldap:///ou=Groups,($dn),dc=example,dc=com") (targetattr="*")(targetfilter=(objectClass=nsManagedDomain)) (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=DomainAdmins,ou=Groups,[$dn],dc=example,dc=com";)