存取權杖中的 SID 屬性

存取權杖中的每個使用者和群組安全性識別碼 (SID) 都有一組屬性,可控制系統如何在存取檢查中使用 SID。 下表列出控制存取檢查的屬性。

屬性 描述
SE_GROUP_ENABLED 啟用具有此屬性的 SID 以進行存取檢查。 當系統執行存取檢查時,它會檢查存取允許和拒絕的 存取控制專案 , (ACE) 套用至存取權杖中其中一個啟用的 SID。 除非設定SE_GROUP_USE_FOR_DENY_ONLY屬性,否則存取檢查期間會忽略不含此屬性的 SID。
SE_GROUP_USE_FOR_DENY_ONLY 具有此屬性的 SID 是僅限拒絕的 SID。 當系統執行存取檢查時,它會檢查套用至 SID 的拒絕存取 ACE,但會忽略 SID 的存取允許 ACE。 如果設定此屬性,則不會設定SE_GROUP_ENABLED屬性,且無法重新啟用 SID。

若要設定或清除群組 SID 的SE_GROUP_ENABLED屬性,請使用 AdjustTokenGroups 函式。 您無法停用具有 SE_GROUP_MANDATORY 屬性的群組 SID。 您無法使用 AdjustTokenGroups 來停用存取權杖的使用者 SID。

若要判斷權杖中是否啟用 SID,也就是是否具有 SE_GROUP_ENABLED 屬性,請呼叫 CheckTokenMembership 函式。

若要設定 SID 的SE_GROUP_USE_FOR_DENY_ONLY屬性,請在呼叫 CreateRestrictedToken 函式時指定的僅限拒絕 SID 清單中包含 SID。 CreateRestrictedToken 可以將 SE_GROUP_USE_FOR_DENY_ONLY 屬性套用至任何 SID,包括具有 SE_GROUP_MANDATORY 屬性的使用者 SID 和群組 SID。 不過,您無法從 SID 移除僅限拒絕屬性,也無法使用 AdjustTokenGroups 在僅限拒絕的 SID 上設定SE_GROUP_ENABLED屬性。

若要取得 SID 的屬性,請使用 TokenGroups 值呼叫 GetTokenInformation 函式。 函式會傳回可識別群組 SID 及其屬性 之SID_AND_ATTRIBUTES 結構的陣列。