ACE 字串

安全性描述項定義語言 (SDDL) 會在安全描述元字串的 DACL 和 SACL 元件中使用 ACE 字串。

安全性描述元字串格式 範例所示,安全性描述元字串中的每個 ACE 都會以括弧括住。 ACE 的欄位順序如下,並以分號分隔 (;) 。

注意

條件 式存取控制專案 (ACE) 具有與其他 ACE 類型不同的格式。 如需條件式 ACE,請參閱 條件式 ACE 的安全性描述元定義語言

ace_type;ace_flags;rights;object_guid;inherit_object_guid;account_sid;(resource_attribute)

欄位

ace_type

字串,表示ACE_HEADER結構的AceType成員值。 ACE 類型字串可以是 Sddl.h 中定義的下列其中一個字串:

ACE 類型字串 Sddl.h 中的常數 AceType 值
"A" SDDL_ACCESS_ALLOWED ACCESS_ALLOWED_ACE_TYPE
"D" SDDL_ACCESS_DENIED ACCESS_DENIED_ACE_TYPE
「OA」 SDDL_OBJECT_ACCESS_ALLOWED ACCESS_ALLOWED_OBJECT_ACE_TYPE
「OD」 SDDL_OBJECT_ACCESS_DENIED ACCESS_DENIED_OBJECT_ACE_TYPE
「AU」 SDDL_AUDIT SYSTEM_AUDIT_ACE_TYPE
"AL" SDDL_ALARM SYSTEM_ALARM_ACE_TYPE
「OU」 SDDL_OBJECT_AUDIT SYSTEM_AUDIT_OBJECT_ACE_TYPE
「OL」 SDDL_OBJECT_ALARM SYSTEM_ALARM_OBJECT_ACE_TYPE
「ML」 SDDL_MANDATORY_LABEL SYSTEM_MANDATORY_LABEL_ACE_TYPE Windows Server 2003: 無法使用。
「XA」 SDDL_CALLBACK_ACCESS_ALLOWED ACCESS_ALLOWED_CALLBACK_ACE_TYPE Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「XD」 SDDL_CALLBACK_ACCESS_DENIED ACCESS_DENIED_CALLBACK_ACE_TYPE Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「RA」 SDDL_RESOURCE_ATTRIBUTE SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「SP」 SDDL_SCOPED_POLICY_ID SYSTEM_SCOPED_POLICY_ID_ACE_TYPE Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「XU」 SDDL_CALLBACK_AUDIT SYSTEM_AUDIT_CALLBACK_ACE_TYPE Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「ZA」 SDDL_CALLBACK_OBJECT_ACCESS_ALLOWED ACCESS_ALLOWED_CALLBACK_ACE_TYPE Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「TL」 SDDL_PROCESS_TRUST_LABEL SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE Windows Server 2012、Windows 8、Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003:無法使用。
「FL」 SDDL_ACCESS_FILTER SYSTEM_ACCESS_FILTER_ACE_TYPE Windows Server 2016、Windows 10 版本 1607、Windows 10版本 1511、Windows 10版本 1507、Windows Server 2012 R2、Windows 8.1、Windows Server 2012、Windows 8、Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003:無法使用。

注意

如果ace_type ACCESS_ALLOWED_OBJECT_ACE_TYPE,而且object_guidinherit_object_guid都未指定GUID,則ConvertStringSecurityDescriptorToSecurityDescriptor會將ace_type轉換為ACCESS_ALLOWED_ACE_TYPE。

ace_flags

字串,表示ACE_HEADER結構的AceFlags成員值。 ACE 旗標字串可以是 Sddl.h 中定義的下列字串串連:

ACE 旗標字串 Sddl.h 中的常數 AceFlag 值
「CI」 SDDL_CONTAINER_INHERIT CONTAINER_INHERIT_ACE
「OI」 SDDL_OBJECT_INHERIT OBJECT_INHERIT_ACE
「NP」 SDDL_NO_PROPAGATE NO_PROPAGATE_INHERIT_ACE
「IO」 SDDL_INHERIT_ONLY INHERIT_ONLY_ACE
「識別碼」 SDDL_INHERITED INHERITED_ACE
「SA」 SDDL_AUDIT_SUCCESS SUCCESSFUL_ACCESS_ACE_FLAG
「FA」 SDDL_AUDIT_FAILURE FAILED_ACCESS_ACE_FLAG
「TP」 SDDL_TRUST_PROTECTED_FILTER TRUST_PROTECTED_FILTER_ACE_FLAG Windows Server 2016、Windows 10版本 1607、Windows 10版本 1511、Windows 10版本 1507、Windows Server 2012 R2、Windows 8.1、Windows Server 2012、Windows 8、Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003:無法使用。
「CR」 SDDL_CRITICAL CRITICAL_ACE_FLAG Windows Server 版本 1803,Windows 10版本 1803,Windows Server 版本 1709,Windows 10版本 1709,Windows 10版本 1703,Windows Server 2016,Windows 10版本 1607,Windows 10版本 1511,Windows 10版本 1507、Windows Server 2012 R2、Windows 8.1、Windows Server 2012、Windows 8、Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003:無法使用。

權利

表示 ACE 所控制 之存取權限 的字串。 此字串可以是存取權限的十六進位字串標記法,例如 「0x7800003F」,也可以是下列字串的串連。

一般存取權限

存取權限字串 Sddl.h 中的常數 存取權值
「GA」 SDDL_GENERIC_ALL GENERIC_ALL
「GR」 SDDL_GENERIC_READ GENERIC_READ
「GW」 SDDL_GENERIC_WRITE GENERIC_WRITE
「GX」 SDDL_GENERIC_EXECUTE GENERIC_EXECUTE

標準存取權限

存取權限字串 Sddl.h 中的常數 存取權值
「RC」 SDDL_READ_CONTROL READ_CONTROL
「SD」 SDDL_STANDARD_DELETE DELETE
「WD」 SDDL_WRITE_DAC WRITE_DAC
「WO」 SDDL_WRITE_OWNER WRITE_OWNER

目錄服務物件存取權限

存取權限字串 Sddl.h 中的常數 存取權值
「RP」 SDDL_READ_PROPERTY ADS_RIGHT_DS_READ_PROP
「WP」 SDDL_WRITE_PROPERTY ADS_RIGHT_DS_WRITE_PROP
「CC」 SDDL_CREATE_CHILD ADS_RIGHT_DS_CREATE_CHILD
「DC」 SDDL_DELETE_CHILD ADS_RIGHT_DS_DELETE_CHILD
「LC」 SDDL_LIST_CHILDREN ADS_RIGHT_ACTRL_DS_LIST
「SW」 SDDL_SELF_WRITE ADS_RIGHT_DS_SELF
「LO」 SDDL_LIST_OBJECT ADS_RIGHT_DS_LIST_OBJECT
「DT」 SDDL_DELETE_TREE ADS_RIGHT_DS_DELETE_TREE
「CR」 SDDL_CONTROL_ACCESS ADS_RIGHT_DS_CONTROL_ACCESS

檔案存取權限

存取權限字串 Sddl.h 中的常數 存取權值
「FA」 SDDL_FILE_ALL FILE_GENERIC_ALL
「FR」 SDDL_FILE_READ FILE_GENERIC_READ
「FW」 SDDL_FILE_WRITE FILE_GENERIC_WRITE
「FX」 SDDL_FILE_EXECUTE FILE_GENERIC_EXECUTE

登錄機碼存取權限

存取權限字串 Sddl.h 中的常數 存取權值
「KA」 SDDL_KEY_ALL KEY_ALL_ACCESS
「KR」 SDDL_KEY_READ KEY_READ
「KW」 SDDL_KEY_WRITE KEY_WRITE
「KX」 SDDL_KEY_EXECUTE KEY_EXECUTE

強制標籤許可權

存取權限字串 Sddl.h 中的常數 存取權值
「NR」 SDDL_NO_READ_UP SYSTEM_MANDATORY_LABEL_NO_READ_UP Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「NW」 SDDL_NO_WRITE_UP SYSTEM_MANDATORY_LABEL_NO_WRITE_UP Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。
「NX」 SDDL_NO_EXECUTE_UP SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。

object_guid

GUID 的字串表示,表示物件特定 ACE 結構 之 ObjectType 成員的值,例如 ACCESS_ALLOWED_OBJECT_ACE。 GUID 字串會使用 UuidToString 函式所傳回的格式。

下表列出一些常用的物件 GUID:

許可權和 GUID 權限
CR;ab721a53-1e2f-11d0-9819-00aa0040529b 變更密碼
CR;00299570-246d-11d0-a768-00aa006e0529 重設密碼

inherit_object_guid

GUID 的字串表示,表示物件特定 ACE 結構 之 InheritedObjectType 成員的值。 GUID 字串使用 UuidToString 格式。

account_sid

識別 ACE信任項SID 字串

resource_attribute

[選擇性]resource_attribute僅適用于資源 ACE,而且是選擇性的。 指出資料類型的字串。 資源屬性 ace 資料類型可以是 Sddl.h 中定義的下列其中一種資料類型。

「#」 符號與資源屬性中的 「0」 同義。 例如,D:AI (XA;OICI;FA;;;WD; (OctetStringType==#1#2#3##) ) 相當於 D:AI (XA;OICI;FA;;;WD; (OctetStringType==#01020300) ) 。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用資源屬性。

資源屬性 ace 資料類型字串 Sddl.h 中的常數 資料類型
「TI」 SDDL_INT 帶正負號的整數
「TU」 SDDL_UINT 不帶正負號的整數
「TS」 SDDL_WSTRING 寬字元串
「TD」 SDDL_SID SID
「TX」 SDDL_BLOB 八進位字串
「TB」 SDDL_BOOLEAN Boolean

下列範例顯示允許存取之 ACE 的 ACE 字串。 它不是物件特定的 ACE,因此在 object_guidinherit_object_guid 欄位中沒有資訊。 ace_flags欄位也是空的,表示未設定任何 ACE 旗標。

(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-1-0)

上述 ACE 字串描述下列 ACE 資訊。

AceType:       0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceFlags:      0x00
Access Mask:   0x100e003f
                    READ_CONTROL
                    WRITE_DAC
                    WRITE_OWNER
                    GENERIC_ALL
                    Other access rights(0x0000003f)
Ace Sid      : (S-1-1-0)

下列範例顯示以 Windows 資源宣告分類的檔案,並將 [結構化查詢語言 (SQL) (SQL) 密碼設定為高業務影響]。

(RA;CI;;;;S-1-1-0; ("Project",TS,0,"Windows","SQL")) 
(RA;CI;;;;S-1-1-0; ("Secrecy",TU,0,3))

上述 ACE 字串描述下列 ACE 資訊。

AceType:       0x12 (SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE)
AceFlags:      0x1  (SDDL_CONTAINER_INHERIT)
Access Mask:   0x0
Ace Sid      : (S-1-1-0)
Resource Attributes: Project has the strings Windows and SQL, Secrecy has the unsigned int value of 3

如需詳細資訊,請參閱 安全性描述元字串格式SID 字串。 如需條件式 ACE,請參閱 條件式 ACE 的安全性描述元定義語言

另請參閱

[MS-DTYP]: 安全性描述元描述語言