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 thread. Les informations d’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 a 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 :

  • Identificateur de sécurité (SID) du compte de l’utilisateur
  • SID pour les groupes dont l’utilisateur est membre
  • UN SID d’ouverture de session qui identifie la session de connexion actuelle
  • Liste des privilèges détenus par l’utilisateur ou les groupes de l’utilisateur
  • UN SID propriétaire
  • SID du groupe principal
  • La DACL par défaut utilisée par le système lorsque l’utilisateur crée un objet sécurisable sans spécifier de descripteur de sécurité
  • Source du jeton d’accès
  • Indique si le jeton est unprincipalou jeton d’emprunt d’identité
  • Liste facultative de restriction des SID
  • Niveaux d’emprunt d’identité actuels
  • Autres statistiques

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 vers 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 d’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. 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 désactivé les SID, les 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 restrictions des SID.
OpenProcessToken Récupère un handle vers le jeton d’accès principal pour un processus.
OpenThreadToken Récupère un handle vers le jeton d’accès d’emprunt d’identité d’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 utilisée par le système 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 comme jeton principal ou d’emprunt d’identité.