用于控制对对象的属性的访问的 ACE

目录服务(DS)对象的 自由访问控制列表(DACL)可以包含 访问控制条目的层次结构(ACE),如下所示:

  1. 保护对象本身的 ACE
  2. 特定于对象的 ACE,用于保护对象上设置的指定属性
  3. 保护对象上指定属性的对象特定的 ACE

在此层次结构中,在较高级别授予或拒绝的权限也适用于较低级别。 例如,如果属性集中的对象特定的 ACE 允许受托人ADS_RIGHT_DS_READ_PROP权限,则受托方对该属性集的所有属性具有隐式读取访问权限。 同样,允许ADS_RIGHT_DS_READ_PROP访问的对象本身的 ACE 授予受托方对所有对象的属性的读取访问权限。

下图显示了假设 DS 对象的树及其属性集和属性。

目录服务对象层次结构

假设你想要允许以下访问此 DS 对象的属性:

  • 允许组 A 读取/写入权限访问所有对象的属性
  • 允许除属性 D 以外的所有属性的其他人读取/写入权限

为此,请设置对象的 DACL 中的 ACE,如下表所示。

受托 人 对象 GUID ACE 类型 访问权限
组 A 没有 允许访问的 ACE ADS_RIGHT_DS_READ_PROP |ADS_RIGHT_DS_WRITE_PROP
每个人 都 属性集 1 访问允许的对象 ACE ADS_RIGHT_DS_READ_PROP |ADS_RIGHT_DS_WRITE_PROP
每个人 都 属性 C 访问允许的对象 ACE ADS_RIGHT_DS_READ_PROP |ADS_RIGHT_DS_WRITE_PROP

 

组 A 的 ACE 没有对象 GUID,这意味着它允许访问所有对象的属性。 特定于对象的 ACE for Property Set 1 允许每个人访问属性 A 和 B。另一个特定于对象的 ACE 允许每个人访问属性 C。请注意,尽管此 DACL 没有任何访问被拒绝的 ACE,但它隐式拒绝对除组 A 以外的所有人的属性 D 访问。

当用户尝试访问对象的属性时,系统会按顺序检查 ACE,直到显式授予、拒绝请求的访问权限或不再有 ACE,在这种情况下,将隐式拒绝访问。

系统评估:

  • 应用于对象本身的 ACE
  • 适用于包含所访问属性的属性集的对象特定的 ACE
  • 应用于所访问属性的对象特定的 ACE

系统忽略应用于其他属性集或属性的对象特定的 ACE。