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 ouvre une session, le système vérifie le mot de passe de l’utilisateur en le comparant avec les informations stockées dans une base de données de sécurité. Si le mot de passe est authentifié, le système génère 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’exécuter une tâche système qui requiert 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 les objets sécurisables à l’aide du contexte de sécurité du client. Un thread qui emprunte l’identité d’un client possède un jeton principal et un jeton d’emprunt d’identité.

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

Vous pouvez utiliser les fonctions suivantes pour manipuler des 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. Elle n’accorde pas de nouveaux privilèges ou révoque des 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 nouveau jeton qui est une version limitée 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 nouveau 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 vers le 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 Assigne ou supprime un jeton d’emprunt d’identité pour un thread.
SetTokenInformation Modifie le propriétaire, le groupe principal ou la liste DACL par défaut d’un jeton.

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

Structure Description
_contrôle Token Informations qui identifient un jeton d’accès.
_DACL par défaut du jeton _ DACL par défaut que le système utilise dans les descripteurs de sécurité des nouveaux objets créés par un thread.
groupes de jetons _ Spécifie les SID et les attributs des SID de groupe dans un jeton d’accès.
propriétaire du jeton _ SID de propriétaire par défaut pour les descripteurs de sécurité de nouveaux objets.
_groupe principal de jetons _ SID de groupe principal par défaut pour les descripteurs de sécurité de nouveaux objets.
privilèges de jeton _ Privilèges associés à un jeton d’accès. Détermine également si les privilèges sont activés.
SOURCE du jeton _ Source d’un jeton d’accès.
statistiques des jetons _ Statistiques associées à un jeton d’accès.
utilisateur du jeton _ 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
_classe d’informations de jeton _ Identifie le type d’informations qui est défini ou récupéré à partir d’un jeton d’accès.
TYPE de jeton _ Identifie un jeton d’accès en tant que jeton principal ou d’emprunt d’identité.