Sun Java System Directory Server Enterprise Edition 6.0 관리 설명서

주제의 [$dn] 대체

[$dn]의 대체 메커니즘은 ($dn)의 경우와 약간 다릅니다. 일치를 발견할 때까지 대상 자원의 DN을 여러 번 검사하며 매번 가장 왼쪽의 RDN 구성 요소를 삭제합니다.

예를 들어 cn=all,ou=groups, dc=subdomain1,dc=hostedCompany1,dc=example,dc=com 하위 트리를 대상으로 하는 LDAP 요청과 다음과 같은 ACI가 있다고 가정합니다.


aci: (targetattr="*")
 (target="ldap:///ou=Groups,($dn),dc=example,dc=com")
 (version 3.0; acl "Domain access"; allow (read,search)
 groupdn="ldap:///cn=DomainAdmins,ou=Groups,[$dn],
 dc=example,dc=com";)

    서버는 다음과 같이 이 ACI를 확장합니다.

  1. 서버는 대상의 ($dn)dc=subdomain1,dc=hostedCompany1과 일치하는지 확인합니다.

  2. 주제의 [$dn]dc=subdomain1,dc=hostedCompany1로 대체합니다.

    따라서 주제는 groupdn="ldap:///cn=DomainAdmins,ou=Groups, dc=subdomain1,dc=hostedCompany1,dc=example,dc=com"이 됩니다. 바인드 DN이 이 그룹의 구성원이어서 액세스 권한이 부여되면 매크로 확장이 중단되고 ACI 평가가 수행됩니다. 바인드 DN이 그룹의 구성원이 아니면 프로세스가 계속됩니다.

  3. 주제의 [$dn]dc=hostedCompany1로 대체합니다.

    따라서 주제는 groupdn="ldap:///cn=DomainAdmins,ou=Groups, dc=hostedCompany1,dc=example,dc=com"이 됩니다. 다시 바인드 DN이 이 그룹의 구성원인지 테스트하여, 구성원일 경우 ACI를 완전히 평가합니다. 바인드 DN이 그룹의 구성원이 아니면 일치한 값의 마지막 RDN에서 매크로 확장이 중단되고 이 ACI에 대한 평가가 완료됩니다.

[$dn] 매크로를 사용할 경우 도메인 수준 관리자에게 디렉토리 트리의 모든 하위 도메인에 대한 액세스 권한을 유연성 있게 부여할 수 있다는 장점이 있습니다. 따라서 [$dn] 매크로는 도메인간 계층 관계를 표시할 때 유용합니다.

예를 들어 다음과 같은 ACI를 가정해 보십시오.


aci: (target="ldap:///ou=*,($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";)

ACI는 cn=DomainAdmins,ou=Groups, dc=hostedCompany1,dc=example,dc=com 구성원에게 dc=hostedCompany1 아래의 모든 하위 도메인에 대한 액세스 권한을 부여합니다. 따라서 해당 그룹에 속하는 관리자는 ou=people,dc=subdomain1.1,dc=subdomain1과 같은 하위 트리에 액세스할 수 있습니다.

하지만 이와 동시에 cn=DomainAdmins,ou=Groups, dc=subdomain1.1의 구성원에게는 ou=people,dc=subdomain1, dc=hostedCompany1ou=people,dc=hostedCompany1 노드에 대한 액세스가 거부됩니다.