Estructura de ACL (wdm.h)
La estructura de ACL es el encabezado de una lista de control de acceso (ACL). Una ACL completa consta de una estructura de ACL seguida de una lista ordenada de cero o más entradas de control de acceso (ACE).
Sintaxis
typedef struct _ACL {
UCHAR AclRevision;
UCHAR Sbz1;
USHORT AclSize;
USHORT AceCount;
USHORT Sbz2;
} ACL;
Miembros
AclRevision
Nivel de revisión de la ACL.
Microsoft Windows NT 4.0 y versiones anteriores: Este valor debe ser ACL_REVISION.
Microsoft Windows 2000 y versiones posteriores: Este valor puede ser ACL_REVISION o ACL_REVISION_DS. Debe ser ACL_REVISION_DS si la ACL contiene una ACE específica del objeto.
Sbz1
Un byte cero de relleno que alinea el miembro AclRevision en un límite de 16 bits.
AclSize
Tamaño, en bytes, de la ACL. Este valor incluye la estructura de ACL y todos los ASE.
AceCount
Número de ACE almacenadas en la ACL.
Sbz2
Dos bytes cero de relleno que alinean la estructura de ACL en un límite de 32 bits.
Comentarios
Una ACL incluye una lista secuencial de cero o más ACE. Los ACE individuales de una ACL se numeran de 0 a n, donde n+1 es el número de ACL en la ACL. Al editar una ACL, un controlador hace referencia a una ACE dentro de la ACL por su índice.
Hay dos tipos de ACL: discrecional y del sistema.
Un ACL discrecional (DACL) se controla mediante el propietario de un objeto o cualquier persona a la que se le conceda acceso WRITE_DAC al objeto. Especifica el acceso que usuarios y grupos concretos pueden tener a un objeto. Por ejemplo, el propietario de un archivo puede usar una DACL para controlar qué usuarios y grupos pueden y no pueden tener acceso al archivo.
Un objeto también puede tener información de seguridad de nivel de sistema asociada, en forma de ACL del sistema (SACL) controlada por un administrador del sistema. Una SACL puede permitir que el administrador del sistema audite los intentos de obtener acceso a un objeto.
Actualmente se definen tres estructuras ACE:
Atributo | Descripción |
---|---|
ACCESS_ALLOWED_ACE | Concede derechos especificados a un usuario o grupo. Esta ACE se almacena en una DACL. |
ACCESS_DENIED_ACE | Deniega los derechos especificados a un usuario o grupo. Esta ACE se almacena en una DACL. |
SYSTEM_AUDIT_ACE | Especifica qué tipos de acceso provocarán auditorías de nivel de sistema. Esta ACE se almacena en una SACL. |
Actualmente no se admite una cuarta estructura ACE, SYSTEM_ALARM_ACE.
La estructura de la ACL se debe tratar como si fuera opaca, y los controladores no deben intentar trabajar directamente con sus miembros. Para asegurarse de que las ACL son semánticamente correctas, los controladores pueden usar las funciones enumeradas en la sección Ver también para crear y manipular ACL.
Las estructuras ACL y ACE deben alinearse en límites de 32 bits.
Requisitos
Requisito | Valor |
---|---|
Header | wdm.h (incluya Wdm.h) |