énumération TOKEN_INFORMATION_CLASS (winnt.h)

L’énumération TOKEN_INFORMATION_CLASS contient des valeurs qui spécifient le type d’informations affectées ou récupérées à partir d’un jeton d’accès.

La fonction GetTokenInformation utilise ces valeurs pour indiquer le type d’informations de jeton à récupérer.

La fonction SetTokenInformation utilise ces valeurs pour définir les informations de jeton.

Syntax

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;

Constantes

 
TokenUser
Valeur : 1
La mémoire tampon reçoit un
TOKEN_USER structure qui contient le compte d’utilisateur du jeton.
TokenGroups
La mémoire tampon reçoit un
TOKEN_GROUPS structure qui contient les comptes de groupe associés au jeton.
TokenPrivileges
La mémoire tampon reçoit un
TOKEN_PRIVILEGES structure qui contient les privilèges du jeton.
TokenOwner
La mémoire tampon reçoit un
TOKEN_OWNER structure qui contient l’identificateur de sécurité du propriétaire (SID) par défaut pour les objets nouvellement créés.
TokenPrimaryGroup
La mémoire tampon reçoit un
TOKEN_PRIMARY_GROUP structure qui contient le SID de groupe principal par défaut pour les objets nouvellement créés.
TokenDefaultDacl
La mémoire tampon reçoit un
TOKEN_DEFAULT_DACL structure qui contient la liste DACL par défaut pour les objets nouvellement créés.
TokenSource
La mémoire tampon reçoit un
TOKEN_SOURCE structure qui contient la source du jeton. TOKEN_QUERY_SOURCE accès est nécessaire pour récupérer ces informations.
TokenType
La mémoire tampon reçoit un
TOKEN_TYPE valeur qui indique si le jeton est un jeton principal ou un jeton d’emprunt d’identité.
TokenImpersonationLevel
La mémoire tampon reçoit un
SECURITY_IMPERSONATION_LEVEL valeur qui indique le niveau d’emprunt d’identité du jeton. Si le jeton d’accès n’est pas un jeton d’emprunt d’identité, la fonction échoue.
TokenStatistics
La mémoire tampon reçoit un
TOKEN_STATISTICS structure qui contient diverses statistiques de jetons.
TokenRestrictedSids
La mémoire tampon reçoit un
TOKEN_GROUPS structure qui contient la liste des SID de restriction dans un
jeton restreint.
TokenSessionId
La mémoire tampon reçoit une valeur DWORD qui indique l’identificateur de session Terminal Services associé au jeton.

Si le jeton est associé à la session cliente terminal server, l’identificateur de session est différent de zéro.

Windows Server 2003 et Windows XP : Si le jeton est associé à la session de console terminal server, l’identificateur de session est égal à zéro.

Dans un environnement non-Terminal Services, l’identificateur de session est égal à zéro.

Si TokenSessionId est défini avec SetTokenInformation, l’application doit avoir le privilège Agir en tant que partie du système d’exploitation et l’application doit être activée pour définir l’ID de session dans un jeton.
TokenGroupsAndPrivileges
La mémoire tampon reçoit une structure TOKEN_GROUPS_AND_PRIVILEGES qui contient le SID d’utilisateur, les comptes de groupe, les SID restreints et l’ID d’authentification associé au jeton.
TokenSessionReference
Réservé.
TokenSandBoxInert
La mémoire tampon reçoit une valeur DWORD différente de zéro si le jeton inclut l’indicateur SANDBOX_INERT .
TokenAuditPolicy
Réservé.
TokenOrigin
La mémoire tampon reçoit une valeur TOKEN_ORIGIN .

Si le jeton résulte d’une ouverture de session qui a utilisé des informations d’identification explicites, telles que le passage d’un nom, d’un domaine et d’un mot de passe à la fonction LogonUser , la structure TOKEN_ORIGIN contient l’ID de la session d’ouverture de session qui l’a créée.

Si le jeton résulte de l’authentification réseau, par exemple un appel à AcceptSecurityContext ou un appel à LogonUser avec dwLogonType défini sur LOGON32_LOGON_NETWORK ou LOGON32_LOGON_NETWORK_CLEARTEXT, cette valeur est égale à zéro.
TokenElevationType
La mémoire tampon reçoit une valeur TOKEN_ELEVATION_TYPE qui spécifie le niveau d’élévation du jeton.
TokenLinkedToken
La mémoire tampon reçoit une structure TOKEN_LINKED_TOKEN qui contient un handle à un autre jeton lié à ce jeton.
TokenElevation
La mémoire tampon reçoit une structure TOKEN_ELEVATION qui spécifie si le jeton est élevé.
TokenHasRestrictions
La mémoire tampon reçoit une valeur DWORD différente de zéro si le jeton a déjà été filtré.
TokenAccessInformation
La mémoire tampon reçoit une structure TOKEN_ACCESS_INFORMATION qui spécifie les informations de sécurité contenues dans le jeton.
TokenVirtualizationAllowed
La mémoire tampon reçoit une valeur DWORD différente de zéro si la virtualisation est autorisée pour le jeton.
TokenVirtualizationEnabled
La mémoire tampon reçoit une valeur DWORD différente de zéro si la virtualisation est activée pour le jeton.
TokenIntegrityLevel
La mémoire tampon reçoit une structure TOKEN_MANDATORY_LABEL qui spécifie le niveau d’intégrité du jeton.
TokenUIAccess
La mémoire tampon reçoit une valeur DWORD différente de zéro si l’indicateur UIAccess est défini sur le jeton.
TokenMandatoryPolicy
La mémoire tampon reçoit une structure TOKEN_MANDATORY_POLICY qui spécifie la stratégie d’intégrité obligatoire du jeton.
TokenLogonSid
La mémoire tampon reçoit une structure TOKEN_GROUPS qui spécifie le SID d’ouverture de session du jeton.
TokenIsAppContainer
La mémoire tampon reçoit une valeur DWORD différente de zéro si le jeton est un jeton de conteneur d’application. Tous les appelants qui case activée tokenIsAppContainer et qu’il retourne 0 doivent également vérifier que le jeton de l’appelant n’est pas un jeton d’emprunt d’identité de niveau d’identification. Si le jeton actuel n’est pas un conteneur d’application, mais un jeton de niveau identité, vous devez retourner AccessDenied.
TokenCapabilities
La mémoire tampon reçoit une structure TOKEN_GROUPS qui contient les fonctionnalités associées au jeton.
TokenAppContainerSid
La mémoire tampon reçoit une structure TOKEN_APPCONTAINER_INFORMATION qui contient l’AppContainerSid associé au jeton. Si le jeton n’est pas associé à un conteneur d’application, le membre TokenAppContainer de la structure TOKEN_APPCONTAINER_INFORMATION pointe vers NULL.
TokenAppContainerNumber
La mémoire tampon reçoit une valeur DWORD qui inclut le numéro de conteneur d’application pour le jeton. Pour les jetons qui ne sont pas des jetons de conteneur d’application, cette valeur est égale à zéro.
TokenUserClaimAttributes
La mémoire tampon reçoit une structure CLAIM_SECURITY_ATTRIBUTES_INFORMATION qui contient les revendications utilisateur associées au jeton.
TokenDeviceClaimAttributes
La mémoire tampon reçoit une structure CLAIM_SECURITY_ATTRIBUTES_INFORMATION qui contient les revendications d’appareil associées au jeton.
TokenRestrictedUserClaimAttributes
Cette valeur est réservée.
TokenRestrictedDeviceClaimAttributes
Cette valeur est réservée.
TokenDeviceGroups
La mémoire tampon reçoit une structure TOKEN_GROUPS qui contient les groupes d’appareils associés au jeton.
TokenRestrictedDeviceGroups
La mémoire tampon reçoit une structure TOKEN_GROUPS qui contient les groupes d’appareils restreints associés au jeton.
TokenSecurityAttributes
Cette valeur est réservée.
TokenIsRestricted
Cette valeur est réservée.
TokenProcessTrustLevel
TokenPrivateNameSpace
TokenSingletonAttributes
TokenBnoIsolation
TokenChildProcessFlags
TokenIsLessPrivilegedAppContainer
Fait référence à un appContainer avec privilèges minimum (LPAC). Un LPAC est en fait un AppContainer ignoré par le SID ALL_APPLICATION_PACKAGES . Pour plus d’informations sur ce qu’est un AppContainer, consultez AppContainer pour les applications héritées.

De nombreuses ressources dans Windows sont des ACL avec ALL_APPLICATION_PACKAGES, comme décrit dans DoNotAddAllApplicationPackagesToRestrictions. Dans les scénarios où vous souhaitez qu’un processus s’exécute sans droits sur les ressources à l’exception de ce que vous accordez explicitement (par exemple, un navigateur web qui exécute un processus worker enfant), un AppContaoiner a trop d’accès au système en raison de ALL_APPLICATION_PACKAGES. C’est là qu’intervient un LPAC. Vous ne pouvez créer un LPAC que de manière impérative via des API ; pas de manière déclarative via appxmanifest.xml.
MaxTokenInfoClass
Valeur maximale pour cette énumération.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winnt.h (inclure Windows.h)

Voir aussi

Contrôle d’accès

Énumérations d’autorisation

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