共用方式為


控制物件屬性存取的 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 讀取/寫入物件的所有屬性
  • 允許其他人讀取/寫入屬性以外的所有屬性許可權

若要這樣做,請在物件的 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 允許每個人存取 Property C。請注意,雖然此 DACL 沒有任何拒絕存取的 ACE,但它隱含地拒絕除了群組 A 以外的所有人的 Property D 存取。

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

系統會評估:

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

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