在 Active Directory 中,如何委派对受保护用户帐户的特定属性的写入权限?

Sha*_*den 7 active-directory delegation

我们正在开发一个工具,该工具将通过其他地方员工信息真实性的权威来源使 Active Directory 用户对象的特定属性保持最新,以便当某人的电话号码、经理或位置发生变化时,Active Directory 会自动更新。

对于普通用户来说,使用委派工具可以轻松处理对这些属性的委派操作,但是adminSDHolder应用了ACL 的受保护用户就比较困难了。

adminSDHolder使用 UI将 ACE 添加到ACL 时,您只能授予对所有属性(出于安全原因我们不希望这样做)或adminSDHolder对象本身存在的属性的访问权限- 而不是像department.

您如何授予对受保护的用户对象的特定属性的访问权限adminSDHolder

Sha*_*den 7

这是可行的,但只能通过命令行工具 - 用户界面无法进行更改(并且无法确定这些 ACE 就位后的实际情况)。

例如,为了授予对特定用户对象属性的访问权限telephoneNumber,请使用dsacls

dsacls "CN=AdminSDHolder,CN=System,DC=example,DC=com" /G Allow-User-Management:RPWP;telephoneNumber;
Run Code Online (Sandbox Code Playgroud)

这会为该属性创建一个 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
Run Code Online (Sandbox Code Playgroud)