Partager via


Jetons d’accès

Un jeton d’accès est un objet qui décrit le contexte de sécurité d’un processus ou d’un thread. Les informations contenues dans un jeton incluent l’identité et les privilèges du compte d’utilisateur associé au processus ou au thread. Lorsqu’un utilisateur se connecte, le système vérifie le mot de passe de l’utilisateur en le comparant aux informations stockées dans une base de données de sécurité. Si le mot de passe est authentifié, le système produit un jeton d’accès. Chaque processus exécuté pour le compte de cet utilisateur dispose d’une copie de ce jeton d’accès.

Le système utilise un jeton d’accès pour identifier l’utilisateur lorsqu’un thread interagit avec un objet sécurisable ou tente d’effectuer une tâche système qui nécessite des privilèges. Les jetons d’accès contiennent les informations suivantes :

Chaque processus a un jeton principal qui décrit le contexte de sécurité du compte d’utilisateur associé au processus. Par défaut, le système utilise le jeton principal lorsqu’un thread du processus interagit avec un objet sécurisable. En outre, un thread peut emprunter l’identité d’un compte client. L’emprunt d’identité permet au thread d’interagir avec des objets sécurisables à l’aide du contexte de sécurité du client. Un thread qui emprunte l’identité d’un client a à la fois un jeton principal et un jeton d’emprunt d’identité.

Utilisez la fonction OpenProcessToken pour récupérer un handle dans le jeton principal d’un processus. Utilisez la fonction OpenThreadToken pour récupérer un handle au jeton d’emprunt d’identité d’un thread. Pour plus d’informations, consultez Emprunt d’identité.

Vous pouvez utiliser les fonctions suivantes pour manipuler les jetons d’accès.

Fonction Description
AdjustTokenGroups Modifie les informations de groupe dans un jeton d’accès.
AdjustTokenPrivileges Active ou désactive les privilèges dans un jeton d’accès. Il n’accorde pas de nouveaux privilèges ou ne révoque pas les privilèges existants.
CheckTokenMembership Détermine si un SID spécifié est activé dans un jeton d’accès spécifié.
CreateRestrictedToken Crée un jeton qui est une version restreinte d’un jeton existant. Le jeton restreint peut avoir des SID désactivés, des privilèges supprimés et une liste de SID restreints.
DuplicateToken Crée un jeton d’emprunt d’identité qui duplique un jeton existant.
DuplicateTokenEx Crée un jeton principal ou un jeton d’emprunt d’identité qui duplique un jeton existant.
GetTokenInformation Récupère des informations sur un jeton.
IsTokenRestricted Détermine si un jeton a une liste de SID de restriction.
OpenProcessToken Récupère un handle au jeton d’accès principal pour un processus.
OpenThreadToken Récupère un handle pour le jeton d’accès d’emprunt d’identité pour un thread.
SetThreadToken Affecte ou supprime un jeton d’emprunt d’identité pour un thread.
SetTokenInformation Modifie le propriétaire d’un jeton, le groupe principal ou la liste DACL par défaut.

 

Les fonctions de jeton d’accès utilisent les structures suivantes pour décrire les parties d’un jeton d’accès.

Structure Description
TOKEN_CONTROL Informations qui identifient un jeton d’accès.
TOKEN_DEFAULT_DACL DaCL par défaut que le système utilise dans les descripteurs de sécurité des nouveaux objets créés par un thread.
TOKEN_GROUPS Spécifie les SID et les attributs des SID de groupe dans un jeton d’accès.
TOKEN_OWNER SID de propriétaire par défaut pour les descripteurs de sécurité des nouveaux objets.
TOKEN_PRIMARY_GROUP SID de groupe principal par défaut pour les descripteurs de sécurité des nouveaux objets.
TOKEN_PRIVILEGES Privilèges associés à un jeton d’accès. Détermine également si les privilèges sont activés.
TOKEN_SOURCE Source d’un jeton d’accès.
TOKEN_STATISTICS Statistiques associées à un jeton d’accès.
TOKEN_USER SID de l’utilisateur associé à un jeton d’accès.

 

Les fonctions de jeton d’accès utilisent les types d’énumération suivants.

Type d'énumération Spécifie
TOKEN_INFORMATION_CLASS Identifie le type d’informations définies ou récupérées à partir d’un jeton d’accès.
TOKEN_TYPE Identifie un jeton d’accès en tant que jeton principal ou d’emprunt d’identité.