Delegation
在 Active Directory 中,如何委派受保護使用者帳戶特定屬性的寫入權限?
我們正在開發一種工具,該工具將使 Active Directory 使用者對象的特定屬性與其他地方的員工資訊真相的權威來源保持同步,以便當某人的電話號碼或經理或位置發生變化時,Active Directory 會自動更新。
對於普通使用者,使用委託工具處理這些屬性的委託操作很簡單,但
adminSDHolder
應用了 ACL 的受保護使用者則比較困難。使用 UI將 ACE 添加到
adminSDHolder
ACL 時,您只能授予對所有屬性(出於安全原因我們不希望這樣做)或adminSDHolder
對象本身存在的屬性的訪問權限 - 而不是使用者屬性(如department
.您如何授予對受保護的使用者對象的特定屬性的訪問權限
adminSDHolder
?
這是可行的,但只能通過命令行工具 - UI 無法進行更改(並且無法確定這些 ACE 在到位後實際上是什麼)。
為了授予對特定使用者對象屬性的訪問權限,例如
telephoneNumber
,使用dsacls
:dsacls "CN=AdminSDHolder,CN=System,DC=example,DC=com" /G Allow-User-Management:RPWP;telephoneNumber;
這會為該屬性創建一個 ACE,這沒有意義,
adminSDHolder
因為它沒有telephoneNumber
,但隨後會應用於受保護的使用者。請注意,UI 工具看起來像這樣,您授予這些屬性中的每一個以創建不確定的 ACE:
但是,
dsacls "CN=AdminSDHolder,CN=System,DC=example,DC=com"
將顯示真相:Allow Allow-User-Management SPECIAL ACCESS for sn WRITE PROPERTY READ PROPERTY Allow Allow-User-Management SPECIAL ACCESS for telephoneNumber WRITE PROPERTY READ PROPERTY