Funzione AuthzAccessCheck (authz.h)
La funzione AuthzAccessCheck determina quali bit di accesso possono essere concessi a un client per un determinato set di descrittori di sicurezza. La struttura AUTHZ_ACCESS_REPLY restituisce una matrice di maschere di accesso concesse e lo stato di errore. Facoltativamente, le maschere di accesso che verranno sempre concesse possono essere memorizzate nella cache e viene restituito un handle per i valori memorizzati nella cache.
Sintassi
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
);
Parametri
[in] Flags
Valore DWORD che specifica la modalità di copia del descrittore di sicurezza. Questo parametro può avere uno dei valori seguenti.
A partire da Windows 8 e Windows Server 2012, quando si chiama questa funzione in un handle di contesto remoto, i 16 bit superiori devono essere zero.
Valore | Significato |
---|---|
|
Se phAccessCheckResults non è NULL, viene copiata una copia completa del descrittore di sicurezza nell'handle a cui fa riferimento phAccessCheckResults. |
|
Non viene eseguita una copia completa del descrittore di sicurezza. L'applicazione chiamante deve passare l'indirizzo di un handle di AUTHZ_ACCESS_CHECK_RESULTS_HANDLE in phAccessCheckResults. La funzione AuthzAccessCheck imposta questo handle su un descrittore di sicurezza che deve rimanere valido durante le chiamate successive a AuthzCachedAccessCheck. |
[in] hAuthzClientContext
Handle di una struttura che rappresenta il client.
A partire da Windows 8 e Windows Server 2012, il contesto client può essere locale o remoto.
[in] pRequest
Puntatore a una struttura AUTHZ_ACCESS_REQUEST che specifica la maschera di accesso desiderata, il SID (Principal Self Security Identifier ) e la struttura dell'elenco dei tipi di oggetto, se esistente.
[in, optional] hAuditEvent
Struttura che contiene informazioni di controllo specifiche dell'oggetto. Quando il valore di questo parametro non è Null, viene richiesto automaticamente un controllo. Le informazioni di controllo statiche vengono lette dalla struttura di Resource Manager.
A partire da Windows 8 e Windows Server 2012, quando si usa questa funzione con un handle di contesto remoto, il valore del parametro deve essere NULL.
[in] pSecurityDescriptor
Puntatore a una struttura SECURITY_DESCRIPTOR da utilizzare per i controlli di accesso. Il SID proprietario per l'oggetto viene selezionato da questo descrittore di sicurezza. Un elenco di controllo di accesso discrezionaleNULL (DACL) in questo descrittore di sicurezza rappresenta un DACL NULL per l'intero oggetto. Assicurarsi che il descrittore di sicurezza contenga informazioni OWNER e DACL oppure verrà generato un messaggio di codice di errore 87 o "parametro non valido".
[in, optional] OptionalSecurityDescriptorArray
Matrice di strutture SECURITY_DESCRIPTOR . Gli elenchi di controllo di accessoNULL (ACL) in questi descrittori di sicurezza vengono considerati come ACL vuoti. L'elenco di controllo di accesso per l'intero oggetto è la concatenazione logica di tutti gli ACL.
[in, optional] OptionalSecurityDescriptorCount
Numero di descrittori di sicurezza che non includono il descrittore di sicurezza primario.
[in, out] pReply
Puntatore a una struttura AUTHZ_ACCESS_REPLY che contiene i risultati del controllo di accesso. Prima di chiamare la funzione AuthzAccessCheck , un'applicazione deve allocare memoria per i membri GrantedAccessMask e SaclEvaluationResults della struttura AUTHZ_ACCESS_REPLY a cui fa riferimento pReply.
[out, optional] phAccessCheckResults
Puntatore per restituire un handle ai risultati memorizzati nella cache del controllo di accesso. Quando questo valore del parametro non è Null, i risultati di questa chiamata al controllo di accesso verranno memorizzati nella cache. Viene così restituito un controllo MAXIMUM_ALLOWED.
A partire da Windows 8 e Windows Server 2012, quando si usa questa funzione con un handle di contesto remoto, il valore del parametro deve essere NULL.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce TRUE.
Se la funzione ha esito negativo, restituisce FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
La funzione di callback AuthzAccessCheckCallback verrà chiamata se l'elenco DACL della struttura SECURITY_DESCRIPTOR a cui punta il parametro pSecurityDescriptor contiene una voce di controllo di accesso di callback (ACE).
Le variabili dell'attributo di sicurezza devono essere presenti nel contesto client se si fa riferimento a in un'espressione condizionale. In caso contrario, il termine dell'espressione condizionale che li fa riferimento restituirà sconosciuto. Per altre informazioni, vedere l'argomento Security Descriptor Definition Language for Conditional ACEs .
Per altre informazioni, vedere La panoramica del funzionamento di AccessCheck e dei criteri di autorizzazione centralizzata .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | authz.h |
Libreria | Authz.lib |
DLL | Authz.dll |
Componente ridistribuibile | Windows Server 2003 Administration Tools Pack in Windows XP |
Vedi anche
Funzioni Controllo di accesso di base
Criteri di autorizzazione centralizzati
Linguaggio di definizione del descrittore di sicurezza per gli ACL condizionali