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