Openldap

授予對 authzTo 屬性的訪問權限

  • November 21, 2019

我正在嘗試授予某些帳戶對其authzTo屬性的身份驗證訪問權限,以允許代理授權

我嘗試添加這個 ldif:

dn: olcDatabase={-1}frontend,cn=config
changetype: modify
add: olcAccess
olcAccess: {1}to authzTo by dn.children="ou=Special Accounts,dc=example,dc=com" auth
-

使用命令ldapadd -f perm.ldif -D "cn=admin,cn=config" -W

但收到此錯誤:

modifying entry "olcDatabase={-1}frontend,cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
   additional info: <olcAccess> handler exited with 1

使用詳細輸出並調高調試級別並沒有給我更多線索。誰能看到我做錯了什麼?

在處理了其他一些權限之後,意識到我在做什麼愚蠢。它應該是attrs=authzTo,而不僅僅是authzTo它本身。而我真正想要的是

to dn.children="ou=Special Accounts,dc=example,dc=com" attrs=authzTo by self auth

編輯:OP 明確詢問了“auth”,而不是“write”訪問,所以這個答案不是很相關。

我意識到我在這個問題上遲到了 8 年,但我認為需要注意的是,允許對自己的 authzTo 屬性進行寫訪問是個壞主意。

源規則非常強大。如果普通使用者有權在他們自己的條目中寫入 authzTo 屬性,那麼他們可以編寫允許他們像其他任何人一樣授權的規則。因此,在使用源規則時,authzTo 屬性應使用僅允許特權使用者設置其值的 ACL 進行保護。

(引自https://www.linuxtopia.org/online_books/network_administration_guides/ldap_administration/sasl_SASL_Proxy_Authorization.html

引用自:https://serverfault.com/questions/232856