共用方式為


控制物件屬性存取的 ACE

(DS) 物件的目錄服務 DACL) (存取控制清單 可以包含 存取控制專案的 階層 (ACE) ,如下所示:

  1. 保護物件本身的 ACE
  2. 物件特定的 ACE ,可保護物件上所設定的指定屬性
  3. 保護物件上指定屬性的物件特定 ACE

在此階層中,較高層級授與或拒絕的許可權也適用于較低層級。 例如,如果屬性集上的物件特定 ACE 允許信任者ADS_RIGHT_DS_READ_PROP許可權,則信任者具有該屬性集之所有屬性的隱含讀取權限。 同樣地,允許ADS_RIGHT_DS_READ_PROP存取的物件本身的 ACE 可讓信任者讀取存取所有物件的屬性。

下圖顯示假設 DS 物件的樹狀結構及其屬性集和屬性。

目錄服務物件階層

假設您想要允許下列存取此 DS 物件的屬性:

  • 允許群組 物件所有屬性的讀取/寫入權限
  • 允許其他人讀取/寫入屬性以外的所有屬性許可權

若要這樣做,請在物件的 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

 

Group A 的 ACE 沒有物件 GUID,這表示它允許存取所有物件的屬性。 屬性集 1 的物件特定 ACE 可讓每個人都存取屬性 A 和 B。另一個物件特定的 ACE 可讓所有人存取 Property C。請注意,雖然此 DACL 沒有任何拒絕存取的 ACE,但它會隱含拒絕屬性 D 存取群組 A 以外的所有人。

當使用者嘗試存取物件的 屬性時,系統會依序檢查 ACE,直到明確授與、拒絕要求的存取權,或沒有其他 ACE,在此情況下,會隱含拒絕存取。

系統會評估:

  • 套用至物件本身的 ACE
  • 套用至包含所存取屬性之屬性集的物件特定 ACE
  • 套用至所存取屬性的物件特定 ACE

系統會忽略套用至其他屬性集或屬性的物件特定 ACE。