共用方式為


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

字串,表示 AceFlagsACE_HEADER 結構成員的值。 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
“ID” 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 刪除
“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:

Rights and GUID 許可
鉻;ab721a53-1e2f-11d0-9819-00aa0040529b 變更密碼
鉻;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;;;白矮星;(OctetStringType==#1#2#3##))相當於並解譯為 D:AI(XA;OICI;FA;;;白矮星;(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 布爾

下列範例顯示允許存取 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) 的秘密設定為 「高業務影響」。

(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]: 安全性描述元描述語言