ACE 文字列

セキュリティ記述子定義言語 (SDDL) は、セキュリティ記述子文字列の DACL および SACL コンポーネントで ACE 文字列を使用します。

セキュリティ記述子文字列形式の例に示すように、セキュリティ記述子文字列内の各 ACE はかっこで囲まれます。 ACE のフィールドは次の順序で、セミコロン (;)で区切られます。

Note

条件付き アクセス制御エントリ (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: 使用できません。

Note

ace_typeがACCESS_ALLOWED_OBJECT_ACE_TYPEで、object_guidinherit_object_guidにも GUID が指定されていない場合、ConvertStringSecurityDescriptorToSecurityDescriptorace_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
"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" などのアクセス権の 16 進数の文字列表現を指定できます。また、次の文字列を連結することもできます。

汎用アクセス権

アクセス権の文字列 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

オブジェクト固有の ACE 構造体の ObjectType メンバーの値を示す GUID の文字列表現 ( ACCESS_ALLOWED_OBJECT_ACEなど)。 GUID 文字列は、 UuidToString 関数によって返される形式を使用します。

次の表に、一般的に使用されるオブジェクト GUID をいくつか示します。

権限と GUID アクセス許可
CR;ab721a53-1e2f-11d0-9819-00aa0040529b パスワードの変更
CR;00299570-246d-11d0-a768-00aa006e0529 [パスワードのリセット]

inherit_object_guid

オブジェクト固有の ACE 構造体の InheritedObjectType メンバーの値を示す GUID の文字列表現。 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_guid フィールドと inherit_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 のリソース要求で分類されたファイルと、Secrecy が High Business Impact に設定された構造化照会言語 (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]: セキュリティ記述子記述言語