存取控制條目(ACE)描述與特定安全性識別碼(SID)相關聯的存取權限。 OS 會評估 ACE,以根據其認證計算授與給特定程式的有效存取權。 例如,當使用者登入計算機然後執行程式時,程式會使用與該特定使用者帳戶相關聯的認證。
當程式嘗試開啟物件時,Windows 會比較與程式相關聯的認證與與對象相關聯的安全性控制件。 安全性參考監視器接著會使用 ACE 資訊來判斷是否應該允許或拒絕對指定物件的存取。 由 ACE 決定安全性子系統的行為。
下圖說明訪問控制條目。
安全性子系統使用數種類型的 ACES,包括下列類型。 ACE 結構的 Type 成員會控制 ACE 的解譯。 定義的類型為:
ACCESS_ALLOWED_ACE_TYPE—此類型表示 ACE 會指定授與特定 SID 的訪問許可權。
ACCESS_DENIED_ACE_TYPE表示 ACE 指定要拒絕特定 SID 的訪問許可權。
SYSTEM_AUDIT_ACE_TYPE表示 ACE 會指定稽核行為。
SYSTEM_ALARM_ACE_TYPE表示 ACE 會指定警示行為。
ACCESS_ALLOWED_COMPOUND_ACE_TYPE 表示 ACE 與特定伺服器以及其模仿的實體相關聯。
ACCESS_XXX類型可用來控制物件的程式設計存取。 SYSTEM_XXX 類型可用來控制存取物件時的安全性子系統稽核和警示行為。 安全性子系統的實際行為是藉由結合與 對象相關聯之部分或所有 ACE 的資訊來計算。
驅動程式可以使用 RtlAddAccessAllowedAce 例程來建構 ACCESS_ALLOWED_ACE_TYPE 的 ACE。 若要新增其他類型的 ACE 專案,驅動程式寫入器必須建構自己的函式,因為 WDK 不提供其他支援例程。