Condividi tramite


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
0
Se phAccessCheckResults non è NULL, viene copiata una copia completa del descrittore di sicurezza nell'handle a cui fa riferimento phAccessCheckResults.
AUTHZ_ACCESS_CHECK_NO_DEEP_COPY_SD
1
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".

Importanti DACLs NULL consentono tutti i tipi di accesso a tutti gli utenti; pertanto, non usare DACLs NULL. Per informazioni sulla creazione di un DACL, vedere Creazione di un DACL.
 
Un elenco di controllo di accesso di sistemaNULL (SACL) in questo descrittore di sicurezza viene considerato come un SACL vuoto.

[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

AUTHZ_ACCESS_REPLY

AUTHZ_ACCESS_REQUEST

AuthzCachedAccessCheck

Funzioni Controllo di accesso di base

Criteri di autorizzazione centralizzati

Funzionamento di AccessCheck

SECURITY_DESCRIPTOR

Linguaggio di definizione del descrittore di sicurezza per gli ACL condizionali