estrutura LSA_TOKEN_INFORMATION_V3 (ntsecpkg.h)
A estrutura LSA_TOKEN_INFORMATION_V3 adiciona suporte de declaração ao token LSA e contém informações que um pacote de autenticação pode colocar em um objeto de token do Windows versão 3 e substituiu LSA_TOKEN_INFORMATION_V1.
Um objeto de token do Windows versão 3 armazena todas as informações necessárias para criar um token do pacote de autenticação para a LSA ( Autoridade de Segurança Local ). A LSA passa essas informações para o kernel para criar um objeto de token e para retornar um identificador para esse objeto de token para o chamador de LsaLogonUser. A LSA pressupõe que o primeiro membro dessa estrutura seja idêntico àqueles na estrutura LSA_TOKEN_INFORMATION_V1 .
Sintaxe
typedef struct _LSA_TOKEN_INFORMATION_V3 {
LARGE_INTEGER ExpirationTime;
TOKEN_USER User;
PTOKEN_GROUPS Groups;
TOKEN_PRIMARY_GROUP PrimaryGroup;
PTOKEN_PRIVILEGES Privileges;
TOKEN_OWNER Owner;
TOKEN_DEFAULT_DACL DefaultDacl;
TOKEN_USER_CLAIMS UserClaims;
TOKEN_DEVICE_CLAIMS DeviceClaims;
PTOKEN_GROUPS DeviceGroups;
} LSA_TOKEN_INFORMATION_V3, *PLSA_TOKEN_INFORMATION_V3;
Membros
ExpirationTime
Hora em que o contexto de segurança se torna inválido. Use um valor em um futuro distante se o contexto nunca expirar. A versão atual do kernel do sistema operacional não impõe esse tempo de expiração.
User
TOKEN_USER estrutura que contém o SID do logon do usuário. O valor sid do identificador de segurança está em um bloco de memória alocado separadamente.
Groups
TOKEN_GROUPS estrutura que contém os SIDs de grupos dos quais o usuário é membro. Isso não deve incluir WORLD ou outros SIDs definidos pelo sistema e atribuídos pelo sistema. Elas serão adicionadas automaticamente pela LSA.
Espera-se que cada SID esteja em um bloco de memória alocado separadamente. A estrutura TOKEN_GROUPS também deve estar em um bloco de memória alocado separadamente. Todos esses blocos de memória devem ser alocados chamando a função AllocatePrivateHeap .
PrimaryGroup
TOKEN_PRIMARY_GROUP estrutura usada para estabelecer o grupo primário do usuário. Esse valor não precisa corresponder a um dos SIDs atribuídos ao usuário.
Espera-se que o SID apontado por essa estrutura esteja em um bloco de memória alocado separadamente.
Esse membro é obrigatório e deve ser preenchido.
Privileges
TOKEN_PRIVILEGES estrutura que contém os privilégios atribuídos ao usuário. Essa lista de privilégios será aumentada ou substituída por quaisquer privilégios atribuídos à política de segurança local.
Espera-se que cada privilégio esteja em um bloco de memória alocado separadamente. Espera-se também que a estrutura TOKEN_PRIVILEGES esteja em um bloco de memória alocado separadamente.
Se não houver privilégios a serem atribuídos ao usuário, esse membro poderá ser definido como NULL.
Owner
TOKEN_OWNER estrutura. Esse membro pode ser usado para estabelecer um proprietário padrão explícito. Normalmente, a ID de usuário é usada como o proprietário padrão. Se outro valor for desejado, ele deverá ser especificado aqui.
O membro Owner.Sid pode ser definido como NULL para indicar que não há nenhum valor de proprietário padrão alternativo.
DefaultDacl
TOKEN_DEFAULT_DACL estrutura. Esse membro pode ser usado para estabelecer uma proteção padrão para o usuário. Se nenhum valor for fornecido, uma proteção padrão que conceda a todos todos o acesso será estabelecida.
O membro DefaultDacl.DefaultDacl pode ser definido como NULL para indicar que não há proteção padrão.
UserClaims
TOKEN_USER_CLAIMS estrutura. Esse membro armazena o BLOB de declarações de usuário opaco para o token. O membro UserClaims pode ser definido como NULL para indicar que não há declarações de usuário adicionais no token. As declarações são entidades somente permissão, portanto, a omissão de declarações pode restringir o acesso.
DeviceClaims
TOKEN_DEVICE_CLAIMS estrutura. Esse membro armazena o BLOB de declarações de dispositivo opaco para o token. O membro DeviceClaims pode ser definido como NULL para indicar que não há declarações de dispositivo adicionais no token. As declarações são entidades somente permissão, portanto, a omissão de declarações pode restringir o acesso.
DeviceGroups
TOKEN_GROUPS estrutura que contém os SIDs dos grupos para o membro do dispositivo de autenticação. Assim como acontece com grupos de usuários, isso não deve incluir WORLD ou outros SIDs definidos ou atribuídos pelo sistema. O membro DeviceGroups pode ser definido como NULL para indicar que nenhuma computação deve ocorrer. Se DeviceGroups estiverem presentes, a LSA adicionará WORLD e outros SIDs atribuídos.
Ao contrário dos grupos de usuários, não há noção de um grupo de dispositivos primário.
Espera-se que cada SID esteja em um bloco de memória alocado separadamente. A estrutura TOKEN_GROUPS também deve estar em um bloco de memória alocado separadamente.
Requisitos
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Cabeçalho | ntsecpkg.h |