用于控制对对象属性的访问的 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,这意味着它允许访问对象的所有属性。 属性集 1 的特定于对象的 ACE 允许每个人访问属性 A 和 B。另一个特定于对象的 ACE 允许每个人访问属性 C。请注意,尽管此 DACL 没有任何拒绝访问的 ACE,但它隐式拒绝对除组 A 以外的所有人进行属性 D 访问。

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

系统评估:

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

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