프록시 인증 방법은 특별한 인증 형식입니다. 자신의 아이디를 사용하여 디렉토리에 바인드하는 사용자에게 프록시 인증을 통해 다른 사용자의 권한을 부여합니다.
프록시 요청을 허용하도록 디렉토리 서버를 구성하려면 다음을 수행해야 합니다.
관리자에게 프록시에 대한 다른 사용자 권한을 부여합니다.
일반 사용자에게 액세스 제어 정책에 정의된 일반 액세스 권한을 부여합니다.
디렉토리 관리자를 제외한 모든 디렉토리 사용자에게 프록시 권한을 부여할 수 있습니다. 디렉토리 관리자의 DN을 프록시 DN으로 사용할 수는 없습니다. 프록시 권한을 부여하면 디렉토리 관리자 DN을 제외한 모든 DN을 프록시 DN으로 지정할 수 있는 권한을 부여하는 것이므로 특히 주의해야 합니다. 디렉토리 서버가 동일한 작업에서 프록시 인증 제어를 둘 이상 수신하면 클라이언트 응용 프로그램에 오류가 반환되고 작업 시도는 실패하게 됩니다.
Example.com은 MoneyWizAcctSoftware로 바인드하는 클라이언트 응용 프로그램이 LDAP 데이터에 대해 계정 관리자와 동일한 액세스 권한을 갖도록 허용합니다.
적용되는 매개 변수는 다음과 같습니다.
클라이언트 응용 프로그램의 바인드 DN은 uid=MoneyWizAcctSoftware, ou=Applications,dc=example,dc=com입니다.
클라이언트 응용 프로그램이 액세스를 요청하는 대상 하위 트리는 ou=Accounting,dc=example,dc=com입니다.
ou=Accounting,dc=example,dc=com 하위 트리에 대한 액세스 권한을 가진 계정 관리자가 디렉토리에 있습니다.
클라이언트 응용 프로그램이 계정 관리자와 동일한 액세스 권한을 사용하여 계정 하위 트리에 액세스하려면 다음과 같은 조건에 부합해야 합니다.
계정 관리자에게 ou=Accounting,dc=example,dc=com 하위 트리에 대한 액세스 권한이 있어야 합니다. 예를 들어 아래 ACI는 계정 관리자 항목에 모든 권한을 부여합니다.
aci: (targetattr="*") (version 3.0; acl "allowAll-AcctAdmin"; allow (all) userdn="ldap:///uid=AcctAdministrator,ou=Administrators, dc=example,dc=com";) |
클라이언트 응용 프로그램에 프록시 권한을 부여하는 아래 ACI가 디렉토리에 있어야 합니다.
aci: (targetattr="*") (version 3.0; acl "allowproxy- accountingsoftware"; allow (proxy) userdn= "ldap:///uid=MoneyWizAcctSoftware,ou=Applications, dc=example,dc=com";) |
이 ACI가 디렉토리에 있으면 MoneyWizAcctSoftware 클라이언트 응용 프로그램은 디렉토리에 바인드하여 프록시 DN의 액세스 권한이 필요한 ldapsearch 또는 ldapmodify와 같은 LDAP 명령을 전송할 수 있습니다.
위의 예에서 클라이언트가 ldapsearch 명령을 수행하려면 명령에 다음과 같은 컨트롤이 포함됩니다.
$ ldapsearch -D "uid=MoneyWizAcctSoftware,ou=Applications,dc=example,dc=com" -w - \ -y "uid=AcctAdministrator,ou=Administrators,dc=example,dc=com" ... |
클라이언트는 자신으로 바인드하지만 프록시 항목의 권한이 부여되며프록시 항목의 비밀번호를 제공할 필요가 없습니다.