Sun Java System Directory Server Enterprise Edition 6.2 管理指南

巨集 ACI 範例

下列是巨集 ACI 的優點及其運作方式的最佳範例。圖 6–1 說明使用巨集 ACI 的目錄樹狀結構可有效降低整體的 ACI 數目。

在此圖例中,請注意相同的樹狀結構 (ou=groups,ou=people) 具有重複的子網域模式。此模式也同樣在樹狀結構中的各處重複,因為 Example.com 目錄樹狀結構中存有兩個尾碼 dc=hostedCompany2,dc=example,dc=comdc=hostedCompany3,dc=example,dc=com,並未顯示在此圖中。

目錄樹狀結構中的 ACI 也具有重複的模式。例如,下列 ACI 位於 dc=hostedCompany1,dc=example,dc=com 節點上:


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";)

此 ACI 會授予 domainAdmins 群組對 dc=hostedCompany1,dc=example,dc=com 樹狀結構中任何項目的讀取與搜尋權限。

圖 6–1 巨集 ACI 的範例目錄樹狀結構

範例目錄樹狀結構的形貌,可顯示 dc=hostedcompany1,dc=example,dc=com 與各種子網域。

下列 ACI 位於 dc=hostedCompany1,dc=example,dc=com 節點上:


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";)

下列 ACI 位於 dc=subdomain1,dc=hostedCompany1, dc=example,dc=com 節點上:


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";)

下列 ACI 位於 dc=hostedCompany2,dc=example,dc=com 節點上:


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";)

下列 ACI 位於 dc=subdomain1,dc=hostedCompany2, dc=example,dc=com 節點上:


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 中,唯一的不同之處是 groupdn 關鍵字中所指定的 DN。只要使用 DN 的巨集,即可在樹狀結構的根,亦即 dc=example,dc=com 節點上,以一個 ACI 取代這些 ACI。此巨集 ACI 如下所示:


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";)

請注意,此時必須加入先前未使用的 target 關鍵字。

在前述範例中,ACI 的數目已從四個縮減為一個。但其真正的好處在於您在目錄樹狀結構中所減少的重複模式。