Строки ACE

Язык определения дескриптора безопасности (SDDL) использует строки ACE в компонентах DACL и SACL строки дескриптора безопасности.

Как показано в примерах формата строки дескриптора безопасности , каждый ACE в строке дескриптора безопасности заключен в круглые скобки. Поля ACE находятся в следующем порядке и разделены точкой с запятой (;).

Примечание

Формат записей управления условным доступом отличается от формата других типов ACE. Условные ACE см. в разделе Язык определения дескриптора безопасности для условных ACE.

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

Поля

ace_type

Строка, указывающая значение элемента AceTypeструктуры ACE_HEADER . Строка типа 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
"Подразделение" 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: недоступно.
"ЗА" 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_guid , ни в inherit_object_guid не указан GUID , то ConvertStringSecurityDescriptorToSecurityDescriptor преобразует ace_type в ACCESS_ALLOWED_ACE_TYPE.

ace_flags

Строка, указывающая значение элемента AceFlagsструктуры ACE_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 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, указывающее значение элемента ObjectType структуры ACE, относящейся к конкретному объекту, например ACCESS_ALLOWED_OBJECT_ACE. Строка GUID использует формат, возвращаемый функцией UuidToString .

В следующей таблице перечислены некоторые часто используемые GUID объектов:

Права и GUID Разрешение
CR;ab721a53-1e2f-11d0-9819-00aa0040529b Изменить пароль
CR;00299570-246d-11d0-a768-00aa006e0529 Сброс пароля

inherit_object_guid

Строковое представление GUID, указывающее значение члена InheritedObjectType структуры ACE, относящейся к конкретному объекту. Строка GUID использует формат UuidToString .

account_sid

Строка идентификатора безопасности , идентифицирующая доверенного лица ACE.

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 Логическое

В следующем примере показана строка 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 и язык 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

Дополнительные сведения см. в разделах Формат строки дескриптора безопасности и строки идентификатора безопасности. Условные ACE см. в разделе Язык определения дескриптора безопасности для условных ACE.

См. также раздел

[MS-DTYP]: язык описания дескриптора безопасности