enumerazione TOKEN_INFORMATION_CLASS (winnt.h)

L'enumerazione TOKEN_INFORMATION_CLASS contiene valori che specificano il tipo di informazioni assegnate o recuperate da un token di accesso.

La funzione GetTokenInformation usa questi valori per indicare il tipo di informazioni sul token da recuperare.

La funzione SetTokenInformation usa questi valori per impostare le informazioni sul token.

Sintassi

typedef enum _TOKEN_INFORMATION_CLASS {
  TokenUser = 1,
  TokenGroups,
  TokenPrivileges,
  TokenOwner,
  TokenPrimaryGroup,
  TokenDefaultDacl,
  TokenSource,
  TokenType,
  TokenImpersonationLevel,
  TokenStatistics,
  TokenRestrictedSids,
  TokenSessionId,
  TokenGroupsAndPrivileges,
  TokenSessionReference,
  TokenSandBoxInert,
  TokenAuditPolicy,
  TokenOrigin,
  TokenElevationType,
  TokenLinkedToken,
  TokenElevation,
  TokenHasRestrictions,
  TokenAccessInformation,
  TokenVirtualizationAllowed,
  TokenVirtualizationEnabled,
  TokenIntegrityLevel,
  TokenUIAccess,
  TokenMandatoryPolicy,
  TokenLogonSid,
  TokenIsAppContainer,
  TokenCapabilities,
  TokenAppContainerSid,
  TokenAppContainerNumber,
  TokenUserClaimAttributes,
  TokenDeviceClaimAttributes,
  TokenRestrictedUserClaimAttributes,
  TokenRestrictedDeviceClaimAttributes,
  TokenDeviceGroups,
  TokenRestrictedDeviceGroups,
  TokenSecurityAttributes,
  TokenIsRestricted,
  TokenProcessTrustLevel,
  TokenPrivateNameSpace,
  TokenSingletonAttributes,
  TokenBnoIsolation,
  TokenChildProcessFlags,
  TokenIsLessPrivilegedAppContainer,
  TokenIsSandboxed,
  TokenIsAppSilo,
  TokenLoggingInformation,
  MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;

Costanti

 
TokenUser
Valore: 1
Il buffer riceve un
TOKEN_USER struttura che contiene l'account utente del token.
TokenGroups
Il buffer riceve un
TOKEN_GROUPS struttura che contiene gli account di gruppo associati al token.
TokenPrivileges
Il buffer riceve un
TOKEN_PRIVILEGES struttura che contiene i privilegi del token.
TokenOwner
Il buffer riceve un
TOKEN_OWNER struttura che contiene l'identificatore di sicurezza del proprietario predefinito (SID) per gli oggetti appena creati.
TokenPrimaryGroup
Il buffer riceve un
TOKEN_PRIMARY_GROUP struttura che contiene il SID del gruppo primario predefinito per gli oggetti appena creati.
TokenDefaultDacl
Il buffer riceve un
TOKEN_DEFAULT_DACL struttura che contiene l'elenco DACL predefinito per gli oggetti appena creati.
TokenSource
Il buffer riceve un
TOKEN_SOURCE struttura che contiene l'origine del token. TOKEN_QUERY_SOURCE l'accesso è necessario per recuperare queste informazioni.
TokenType
Il buffer riceve un
TOKEN_TYPE valore che indica se il token è un token primario o di rappresentazione.
TokenImpersonationLevel
Il buffer riceve un
SECURITY_IMPERSONATION_LEVEL valore che indica il livello di rappresentazione del token. Se il token di accesso non è un token di rappresentazione, la funzione ha esito negativo.
TokenStatistics
Il buffer riceve un
TOKEN_STATISTICS struttura che contiene varie statistiche di token.
TokenRestrictedSids
Il buffer riceve un
TOKEN_GROUPS struttura che contiene l'elenco di SID limitati in un
token con restrizioni.
TokenSessionId
Il buffer riceve un valore DWORD che indica l'identificatore di sessione di Servizi terminal associato al token.

Se il token è associato alla sessione client del server terminal, l'identificatore di sessione è diverso da zero.

Windows Server 2003 e Windows XP: Se il token è associato alla sessione della console del server terminal, l'identificatore della sessione è zero.

In un ambiente non Terminal Services l'identificatore di sessione è zero.

Se TokenSessionId è impostato con SetTokenInformation, l'applicazione deve avere il privilegio Act As Part of the Operating System e l'applicazione deve essere abilitata per impostare l'ID sessione in un token.
TokenGroupsAndPrivileges
Il buffer riceve una struttura TOKEN_GROUPS_AND_PRIVILEGES che contiene il SID utente, gli account di gruppo, i SID con restrizioni e l'ID di autenticazione associato al token.
TokenSessionReference
Riservato.
TokenSandBoxInert
Il buffer riceve un valore DWORD diverso da zero se il token include il flag SANDBOX_INERT .
TokenAuditPolicy
Riservato.
TokenOrigin
Il buffer riceve un valore TOKEN_ORIGIN .

Se il token è stato generato da un accesso che usa credenziali esplicite, ad esempio passando un nome, un dominio e una password alla funzione LogonUser , la struttura TOKEN_ORIGIN conterrà l'ID della sessione di accesso che l'ha creata.

Se il token deriva dall'autenticazione di rete, ad esempio una chiamata a AcceptSecurityContext o una chiamata a LogonUser con dwLogonType impostato su LOGON32_LOGON_NETWORK o LOGON32_LOGON_NETWORK_CLEARTEXT, questo valore sarà zero.
TokenElevationType
Il buffer riceve un valore TOKEN_ELEVATION_TYPE che specifica il livello di elevazione del token.
TokenLinkedToken
Il buffer riceve una struttura TOKEN_LINKED_TOKEN che contiene un handle a un altro token collegato a questo token.
TokenElevation
Il buffer riceve una struttura TOKEN_ELEVATION che specifica se il token è elevato.
TokenHasRestrictions
Il buffer riceve un valore DWORD diverso da zero se il token è stato filtrato.
TokenAccessInformation
Il buffer riceve una struttura TOKEN_ACCESS_INFORMATION che specifica le informazioni di sicurezza contenute nel token.
TokenVirtualizationAllowed
Il buffer riceve un valore DWORD diverso da zero se la virtualizzazione è consentita per il token.
TokenVirtualizationEnabled
Il buffer riceve un valore DWORD diverso da zero se la virtualizzazione è abilitata per il token.
TokenIntegrityLevel
Il buffer riceve una struttura TOKEN_MANDATORY_LABEL che specifica il livello di integrità del token.
TokenUIAccess
Il buffer riceve un valore DWORD diverso da zero se il token ha il flag UIAccess impostato.
TokenMandatoryPolicy
Il buffer riceve una struttura TOKEN_MANDATORY_POLICY che specifica i criteri di integrità obbligatori del token.
TokenLogonSid
Il buffer riceve una struttura TOKEN_GROUPS che specifica il SID di accesso del token.
TokenIsAppContainer
Il buffer riceve un valore DWORD diverso da zero se il token è un token del contenitore dell'app. Tutti i chiamanti che controllano TokenIsAppContainer e hanno restituito 0 devono anche verificare che il token del chiamante non sia un token di rappresentazione a livello di identificazione. Se il token corrente non è un contenitore di app ma è un token a livello di identità, è necessario restituire AccessDenied.
TokenCapabilities
Il buffer riceve una struttura TOKEN_GROUPS che contiene le funzionalità associate al token.
TokenAppContainerSid
Il buffer riceve una struttura TOKEN_APPCONTAINER_INFORMATION che contiene l'oggetto AppContainerSid associato al token. Se il token non è associato a un contenitore di app, il membro TokenAppContainer della struttura TOKEN_APPCONTAINER_INFORMATION punta a NULL.
TokenAppContainerNumber
Il buffer riceve un valore DWORD che include il numero del contenitore dell'app per il token. Per i token che non sono token del contenitore di app, questo valore è zero.
TokenUserClaimAttributes
Il buffer riceve una struttura CLAIM_SECURITY_ATTRIBUTES_INFORMATION che contiene le attestazioni utente associate al token.
TokenDeviceClaimAttributes
Il buffer riceve una struttura CLAIM_SECURITY_ATTRIBUTES_INFORMATION che contiene le attestazioni del dispositivo associate al token.
TokenRestrictedUserClaimAttributes
Questo valore è riservato.
TokenRestrictedDeviceClaimAttributes
Questo valore è riservato.
TokenDeviceGroups
Il buffer riceve una struttura TOKEN_GROUPS che contiene i gruppi di dispositivi associati al token.
TokenRestrictedDeviceGroups
Il buffer riceve una struttura TOKEN_GROUPS che contiene i gruppi di dispositivi con restrizioni associati al token.
TokenSecurityAttributes
Questo valore è riservato.
TokenIsRestricted
Questo valore è riservato.
TokenProcessTrustLevel
TokenPrivateNameSpace
TokenSingletonAttributes
TokenBnoIsolation
TokenChildProcessFlags
TokenIsLessPrivilegedAppContainer
Fa riferimento a un'appcontainer con privilegi minimi (LPAC). Un LPAC è in effetti un AppContainer ignorato dal SID ALL_APPLICATION_PACKAGES . Per informazioni su appContainer, vedi AppContainer per le app legacy.

Molte risorse in Windows sono ACL con ALL_APPLICATION_PACKAGES, come descritto in DoNotAddAllApplicationPackagesToRestrictions. Negli scenari in cui si vuole eseguire un processo senza diritti per alcuna risorsa, ad eccezione di ciò che si concede esplicitamente (ad esempio, un web browser che esegue un processo di lavoro figlio), un appContaoiner ha troppo accesso al sistema a causa di ALL_APPLICATION_PACKAGES. È qui che entra in gioco un LPAC. È possibile creare un LPAC solo in modo imperativo tramite LE API; non dichiarativo tramite appxmanifest.xml.
MaxTokenInfoClass
Valore massimo dell'enumerazione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione winnt.h (include Windows.h)

Vedi anche

Controllo dell’accesso

Enumerazioni di autorizzazione

GetTokenInformation

SECURITY_IMPERSONATION_LEVEL

SetTokenInformation

TOKEN_CONTROL

TOKEN_DEFAULT_DACL

TOKEN_DEVICE_CLAIMS

TOKEN_GROUPS

TOKEN_GROUPS_AND_PRIVILEGES

TOKEN_ORIGIN

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER

TOKEN_USER_CLAIMS