代理授權方法是特殊的認證方式。使用本身的身份識別連結至目錄的使用者,會透過代理授權而授予其他使用者的權限。
若要配置目錄伺服器以允許代理伺服器請求,您必須執行下列動作:
授予管理員與其他使用者相同的代理權限。
授予一般使用者如存取控制策略所定義的一般存取權限。
您可以將代理權限授予目錄的任何使用者,但「目錄管理員」除外。此外,您無法以「目錄管理員」的 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 用戶端應用程式即可連結至目錄,並傳送 ldapsearch 或 ldapmodify 之類的 LDAP 指令,而要求代理 DN 的存取權限。
在此範例中,若用戶端要執行 ldapsearch 指令,指令中將會納入下列控制:
$ ldapsearch -D "uid=MoneyWizAcctSoftware,ou=Applications,dc=example,dc=com" -w - \ -y "uid=AcctAdministrator,ou=Administrators,dc=example,dc=com" ... |
請注意,用戶端會以本身的形式連結,但仍會被授予代理伺服器項目的權限。用戶端不需具備代理伺服器項目密碼。