Cadenas ACE

El lenguaje de definición de descriptor de seguridad (SDDL) usa cadenas ACE en los componentes DACL y SACL de una cadena de descriptor de seguridad .

Como se muestra en los ejemplos de formato de cadena de descriptor de seguridad, cada ACE de una cadena de descriptor de seguridad se incluye entre paréntesis. Los campos de la ACE están en el orden siguiente y están separados por punto y coma (;).

Nota

Las entradas de control de acceso condicional (ACE) tienen un formato diferente al de otros tipos ACE. Para ver los ACA condicionales, consulte Security Descriptor Definition Language for Conditional ACEs (Lenguaje de definición de descriptor de seguridad para ACA condicionales).

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

Campos

ace_type

Cadena que indica el valor del miembro AceType de la estructura ACE_HEADER . La cadena de tipo ACE puede ser una de las siguientes cadenas definidas en Sddl.h:

Cadena de tipo ACE Constante en Sddl.h Valor 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: no disponible.
"XA" SDDL_CALLBACK_ACCESS_ALLOWED ACCESS_ALLOWED_CALLBACK_ACE_TYPE Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"XD" SDDL_CALLBACK_ACCESS_DENIED ACCESS_DENIED_CALLBACK_ACE_TYPE Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"RA" SDDL_RESOURCE_ATTRIBUTE SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"SP" SDDL_SCOPED_POLICY_ID SYSTEM_SCOPED_POLICY_ID_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"XU" SDDL_CALLBACK_AUDIT SYSTEM_AUDIT_CALLBACK_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"ZA" SDDL_CALLBACK_OBJECT_ACCESS_ALLOWED ACCESS_ALLOWED_CALLBACK_ACE_TYPE Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"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 y Windows Server 2003: No disponible.
"FL" SDDL_ACCESS_FILTER SYSTEM_ACCESS_FILTER_ACE_TYPE Windows Server 2016, Windows 10 versión 1607, Windows 10 versión 1511, Windows 10 versión 1507, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.

Nota

Si ace_type está ACCESS_ALLOWED_OBJECT_ACE_TYPE y ni object_guid ni inherit_object_guid tienen un GUID especificado, ConvertStringSecurityDescriptorToSecurityDescriptor convierte ace_type en ACCESS_ALLOWED_ACE_TYPE.

ace_flags

Cadena que indica el valor del miembro AceFlags de la estructura ACE_HEADER . La cadena de marcas ACE puede ser una concatenación de las siguientes cadenas definidas en Sddl.h:

Cadena de marcas ace Constante en Sddl.h Valor aceFlag
"CI" SDDL_CONTAINER_INHERIT CONTAINER_INHERIT_ACE
"OI" SDDL_OBJECT_INHERIT OBJECT_INHERIT_ACE
"NP" SDDL_NO_PROPAGATE NO_PROPAGATE_INHERIT_ACE
"E/S" 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 versión 1607, Windows 10 versión 1511, Windows 10 versión 1507, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"CR" SDDL_CRITICAL CRITICAL_ACE_FLAG Windows Server, versión 1803, Windows 10 versión 1803, Windows Server versión 1709, Windows 10 versión 1709, Windows 10 versión 1703, Windows Server 2016, Windows 10 versión 1607, Windows 10 versión 1511, Windows 10 versión 1507, Windows Server 2012 R2, Windows 8.1, Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.

Derechos

Cadena que indica los derechos de acceso controlados por la ACE. Esta cadena puede ser una representación de cadena hexadecimal de los derechos de acceso, como "0x7800003F", o bien puede ser una concatenación de las cadenas siguientes.

Derechos de acceso genéricos

Cadena de derechos de acceso Constante en Sddl.h Acceso al valor correcto
"GA" SDDL_GENERIC_ALL GENERIC_ALL
"GR" SDDL_GENERIC_READ GENERIC_READ
"GW" SDDL_GENERIC_WRITE GENERIC_WRITE
"GX" SDDL_GENERIC_EXECUTE GENERIC_EXECUTE

Derechos de acceso estándar

Cadena de derechos de acceso Constante en Sddl.h Acceso al valor correcto
"RC" SDDL_READ_CONTROL READ_CONTROL
"SD" SDDL_STANDARD_DELETE Delete
"WD" SDDL_WRITE_DAC WRITE_DAC
"WO" SDDL_WRITE_OWNER WRITE_OWNER

Derechos de acceso a objetos de servicio de directorio

Cadena de derechos de acceso Constante en Sddl.h Acceso al valor correcto
"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

Derechos de acceso a archivos

Cadena de derechos de acceso Constante en Sddl.h Acceso al valor correcto
"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

Derechos de acceso de clave del Registro

Cadena de derechos de acceso Constante en Sddl.h Acceso al valor correcto
"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

Derechos de etiqueta obligatorios

Cadena de derechos de acceso Constante en Sddl.h Acceso al valor correcto
"NR" SDDL_NO_READ_UP SYSTEM_MANDATORY_LABEL_NO_READ_UP Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"NW" SDDL_NO_WRITE_UP SYSTEM_MANDATORY_LABEL_NO_WRITE_UP Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.
"NX" SDDL_NO_EXECUTE_UP SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP Windows Server 2008, Windows Vista y Windows Server 2003: No disponible.

object_guid

Representación de cadena de un GUID que indica el valor del miembro ObjectType de una estructura ACE específica del objeto, como ACCESS_ALLOWED_OBJECT_ACE. La cadena GUID usa el formato devuelto por la función UuidToString .

En la tabla siguiente se enumeran algunos GUID de objeto usados habitualmente:

Derechos y GUID Permiso
CR;ab721a53-1e2f-11d0-9819-00aa0040529b Cambiar contraseña
CR;00299570-246d-11d0-a768-00aa006e0529 Restablecimiento de contraseña

inherit_object_guid

Representación de cadena de un GUID que indica el valor del miembro InheritedObjectType de una estructura ACE específica del objeto. La cadena GUID usa el formato UuidToString .

account_sid

Cadena de SID que identifica al administrador de confianza de la ACE.

resource_attribute

[OPCIONAL] El resource_attribute solo es para las ACE de recursos y es opcional. Cadena que indica el tipo de datos. El tipo de datos ace de atributo de recurso puede ser uno de los siguientes tipos de datos definidos en Sddl.h.

El signo "#" es sinónimo de "0" en los atributos de recursos. Por ejemplo, D:AI(XA;OICI;FA;;; WD;(OctetStringType==#1#2#3##)) equivale a y se interpreta como D:AI(XA;OICI;FA;;; WD;(OctetStringType==#01020300)).

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista y Windows Server 2003: Los atributos de recurso no están disponibles.

Cadena de tipo de datos ace del atributo de recurso Constante en Sddl.h Tipo de datos
"TI" SDDL_INT Entero con signo
"TU" SDDL_UINT Entero sin signo
"TS" SDDL_WSTRING Cadena ancha
"TD" SDDL_SID SID
"TX" SDDL_BLOB Cadena de octetos
"TB" SDDL_BOOLEAN Boolean

En el ejemplo siguiente se muestra una cadena ACE para una ACE permitida por el acceso. No es una ACE específica del objeto, por lo que no tiene información en los campos object_guid y inherit_object_guid . El campo ace_flags también está vacío, lo que indica que no se ha establecido ninguna de las marcas ACE.

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

La cadena ace mostrada anteriormente describe la siguiente información de 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)

En el ejemplo siguiente se muestra un archivo clasificado con notificaciones de recursos para Windows y Lenguaje de consulta estructurado (SQL) con secreto establecido en Alto impacto empresarial.

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

La cadena ace mostrada anteriormente describe la siguiente información de 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

Para obtener más información, vea Formato de cadena de descriptor de seguridad y Cadenas SID. Para ver las ACE condicionales, consulte Security Descriptor Definition Language for Conditional ACEs (Lenguaje de definición de descriptores de seguridad para ASE condicionales).

Consulte también

[MS-DTYP]: Lenguaje de descripción del descriptor de seguridad