Função AuthzAccessCheck (authz.h)
A função AuthzAccessCheck determina quais bits de acesso podem ser concedidos a um cliente para um determinado conjunto de descritores de segurança. A estrutura AUTHZ_ACCESS_REPLY retorna uma matriz de máscaras de acesso concedidas e status de erro. Opcionalmente, máscaras de acesso que sempre serão concedidas podem ser armazenadas em cache e um identificador para valores armazenados em cache é retornado.
Sintaxe
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
Um valor DWORD que especifica como o descritor de segurança é copiado. Esse parâmetro pode usar um dos valores a seguir.
Começando com Windows 8 e Windows Server 2012, quando você chama essa função em um identificador de contexto remoto, os 16 bits superiores devem ser zero.
Valor | Significado |
---|---|
|
Se phAccessCheckResults não for NULL, uma cópia profunda do descritor de segurança será copiada para o identificador referenciado por phAccessCheckResults. |
|
Uma cópia profunda do descritor de segurança não é executada. O aplicativo de chamada deve passar o endereço de um identificador de AUTHZ_ACCESS_CHECK_RESULTS_HANDLE em phAccessCheckResults. A função AuthzAccessCheck define esse identificador como um descritor de segurança que deve permanecer válido durante as chamadas subsequentes para AuthzCachedAccessCheck. |
[in] hAuthzClientContext
Um identificador para uma estrutura que representa o cliente.
Começando com Windows 8 e Windows Server 2012, o contexto do cliente pode ser local ou remoto.
[in] pRequest
Um ponteiro para uma estrutura AUTHZ_ACCESS_REQUEST que especifica a máscara de acesso desejada, o SID ( identificador de segurança própria) principal e a estrutura de lista de tipos de objeto, se existir.
[in, optional] hAuditEvent
Uma estrutura que contém informações de auditoria específicas do objeto. Quando o valor desse parâmetro não é nulo, uma auditoria é solicitada automaticamente. As informações de auditoria estáticas são lidas da estrutura do gerenciador de recursos.
Começando com Windows 8 e Windows Server 2012, quando você usa essa função com um identificador de contexto remoto, o valor do parâmetro deve ser NULL.
[in] pSecurityDescriptor
Um ponteiro para uma estrutura SECURITY_DESCRIPTOR a ser usada para verificações de acesso. O SID do proprietário do objeto é escolhido desse descritor de segurança. Uma DACL (lista de controle de acesso discricionário) NULL neste descritor de segurança representa uma DACL NULL para todo o objeto. Verifique se o descritor de segurança contém informações de OWNER e DACL ou se uma mensagem de código de erro 87 ou "parâmetro inválido" será gerada.
[in, optional] OptionalSecurityDescriptorArray
Uma matriz de estruturas SECURITY_DESCRIPTOR . AS ACLs (listas de controle de acesso) NULL nesses descritores de segurança são tratadas como ACLs vazias. A ACL de todo o objeto é a concatenação lógica de todas as ACLs.
[in, optional] OptionalSecurityDescriptorCount
O número de descritores de segurança que não incluem o descritor de segurança primário.
[in, out] pReply
Um ponteiro para uma estrutura AUTHZ_ACCESS_REPLY que contém os resultados da marcar de acesso. Antes de chamar a função AuthzAccessCheck , um aplicativo deve alocar memória para os membros GrantedAccessMask e SaclEvaluationResults da estrutura AUTHZ_ACCESS_REPLY referenciada por pReply.
[out, optional] phAccessCheckResults
Um ponteiro para retornar um identificador para os resultados armazenados em cache da marcar de acesso. Quando esse valor de parâmetro não for nulo, os resultados dessa chamada de marcar de acesso serão armazenados em cache. Isso resulta em um MAXIMUM_ALLOWED marcar.
Começando com Windows 8 e Windows Server 2012, quando você usa essa função com um identificador de contexto remoto, o valor do parâmetro deve ser NULL.
Retornar valor
Se a função for bem-sucedida, a função retornará TRUE.
Se a função falhar, ela retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.
Comentários
A função de retorno de chamada AuthzAccessCheckCallback será chamada se a DACL da estrutura SECURITY_DESCRIPTOR apontada pelo parâmetro pSecurityDescriptor contiver uma ACE ( entrada de controle de acesso de retorno de chamada).
As variáveis de atributo de segurança devem estar presentes no contexto do cliente se referenciadas em uma expressão condicional, caso contrário, o termo de expressão condicional referenciando-as será avaliado como desconhecido. Para obter mais informações, consulte o tópico Linguagem de definição do descritor de segurança para ACEs condicionais .
Para obter mais informações, consulte as visões gerais como o AccessCheck funciona e a Política de Autorização Centralizada .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | authz.h |
Biblioteca | Authz.lib |
DLL | Authz.dll |
Redistribuível | Pacote de Ferramentas de Administração do Windows Server 2003 no Windows XP |
Confira também
Funções básicas de Controle de Acesso
Política de Autorização Centralizada
Linguagem de definição do descritor de segurança para ACEs condicionais