存取控制專案
存取控制專案 (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 不提供其他支援例程。