Función AuthzAccessCheck (authz.h)
La función AuthzAccessCheck determina qué bits de acceso se pueden conceder a un cliente para un conjunto determinado de descriptores de seguridad. La estructura AUTHZ_ACCESS_REPLY devuelve una matriz de máscaras de acceso concedidas y estado de error. Opcionalmente, las máscaras de acceso que siempre se concederán se pueden almacenar en caché y se devuelve un identificador para los valores almacenados en caché.
Sintaxis
AUTHZAPI BOOL AuthzAccessCheck(
[in] DWORD Flags,
[in] AUTHZ_CLIENT_CONTEXT_HANDLE hAuthzClientContext,
[in] PAUTHZ_ACCESS_REQUEST pRequest,
[in, optional] AUTHZ_AUDIT_EVENT_HANDLE hAuditEvent,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in, optional] PSECURITY_DESCRIPTOR *OptionalSecurityDescriptorArray,
[in, optional] DWORD OptionalSecurityDescriptorCount,
[in, out] PAUTHZ_ACCESS_REPLY pReply,
[out, optional] PAUTHZ_ACCESS_CHECK_RESULTS_HANDLE phAccessCheckResults
);
Parámetros
[in] Flags
Valor DWORD que especifica cómo se copia el descriptor de seguridad. Este parámetro puede ser uno de los valores siguientes.
A partir de Windows 8 y Windows Server 2012, cuando se llama a esta función en un identificador de contexto remoto, los 16 bits superiores deben ser cero.
Valor | Significado |
---|---|
|
Si phAccessCheckResults no es NULL, se copia una copia en profundidad del descriptor de seguridad en el identificador al que hace referencia phAccessCheckResults. |
|
No se realiza una copia en profundidad del descriptor de seguridad. La aplicación que realiza la llamada debe pasar la dirección de un identificador de AUTHZ_ACCESS_CHECK_RESULTS_HANDLE en phAccessCheckResults. La función AuthzAccessCheck establece este identificador en un descriptor de seguridad que debe permanecer válido durante las llamadas posteriores a AuthzCachedAccessCheck. |
[in] hAuthzClientContext
Identificador de una estructura que representa el cliente.
A partir de Windows 8 y Windows Server 2012, el contexto de cliente puede ser local o remoto.
[in] pRequest
Puntero a una estructura de AUTHZ_ACCESS_REQUEST que especifica la máscara de acceso deseada, el identificador de seguridad personal (SID) y la estructura de lista de tipos de objeto, si existe.
[in, optional] hAuditEvent
Estructura que contiene información de auditoría específica del objeto. Cuando el valor de este parámetro no es NULL, se solicita automáticamente una auditoría. La información de auditoría estática se lee de la estructura de Resource Manager.
A partir de Windows 8 y Windows Server 2012, cuando se usa esta función con un identificador de contexto remoto, el valor del parámetro debe ser NULL.
[in] pSecurityDescriptor
Puntero a una estructura de SECURITY_DESCRIPTOR que se va a usar para las comprobaciones de acceso. El SID de propietario del objeto se selecciona de este descriptor de seguridad. Una lista de control de acceso discrecional (DACL) NULL en este descriptor de seguridad representa una DACL NULL para todo el objeto. Asegúrese de que el descriptor de seguridad contiene información de OWNER y DACL, o se generará un mensaje de código de error 87 o "parámetro no válido".
[in, optional] OptionalSecurityDescriptorArray
Matriz de estructuras de SECURITY_DESCRIPTOR . Las listas de control de acceso (ACL) NULL en estos descriptores de seguridad se tratan como ACL vacías. La ACL de todo el objeto es la concatenación lógica de todas las ACL.
[in, optional] OptionalSecurityDescriptorCount
Número de descriptores de seguridad que no incluyen el descriptor de seguridad principal.
[in, out] pReply
Puntero a una estructura de AUTHZ_ACCESS_REPLY que contiene los resultados de la comprobación de acceso. Antes de llamar a la función AuthzAccessCheck , una aplicación debe asignar memoria para los miembros GrantedAccessMask y SaclEvaluationResults de la estructura AUTHZ_ACCESS_REPLY a la que hace referencia pReply.
[out, optional] phAccessCheckResults
Puntero para devolver un identificador a los resultados almacenados en caché de la comprobación de acceso. Cuando este valor de parámetro no es null, los resultados de esta llamada de comprobación de acceso se almacenarán en caché. Esto da como resultado una comprobación de MAXIMUM_ALLOWED.
A partir de Windows 8 y Windows Server 2012, cuando se usa esta función con un identificador de contexto remoto, el valor del parámetro debe ser NULL.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve TRUE.
Si se produce un error en la función, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Se llamará a la función de devolución de llamada AuthzAccessCheckCallback si la DACL de la estructura de SECURITY_DESCRIPTOR a la que apunta el parámetro pSecurityDescriptor contiene una entrada de control de acceso de devolución de llamada (ACE).
Las variables de atributo de seguridad deben estar presentes en el contexto de cliente si se hace referencia a en una expresión condicional; de lo contrario, el término de expresión condicional que hace referencia a ellas se evaluará como desconocido. Para obtener más información, vea el tema Lenguaje de definición de descriptores de seguridad para aces condicionales .
Para obtener más información, consulte La información general sobre cómo funciona AccessCheck y la directiva de autorización centralizada .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | authz.h |
Library | Authz.lib |
Archivo DLL | Authz.dll |
Redistribuible | Paquete de herramientas de administración de Windows Server 2003 en Windows XP |
Consulte también
Funciones básicas de Access Control
Directiva de autorización centralizada
Lenguaje de definición de descriptor de seguridad para ACE condicionales