Partager via


Identificateurs de sécurité

Un identificateur de sécurité (SID) est une valeur unique de longueur variable utilisée pour identifier un administrateur. Chaque compte a un SID unique émis par une autorité, comme un contrôleur de domaine Windows, et stocké dans une base de données de sécurité. Chaque fois qu’un utilisateur se connecte, le système récupère le SID de cet utilisateur à partir de la base de données et le place dans le jeton d’accès de cet utilisateur. Le système utilise le SID dans le jeton d’accès pour identifier l’utilisateur dans toutes les interactions suivantes avec la sécurité Windows. Lorsqu’un SID a été utilisé comme identificateur unique d’un utilisateur ou d’un groupe, il ne peut jamais être utilisé à nouveau pour identifier un autre utilisateur ou groupe.

La sécurité Windows utilise des SID dans les éléments de sécurité suivants :

Outre les SID spécifiques au domaine créés de manière unique et attribués à des utilisateurs et groupes spécifiques, il existe des SID connus qui identifient les groupes génériques et les utilisateurs génériques. Par exemple, les SID bien connus, Tout le monde et tout le monde, identifient un groupe qui inclut tous les utilisateurs.

La plupart des applications n’ont jamais besoin de fonctionner avec des SID. Étant donné que les noms des SID connus peuvent varier, vous devez utiliser les fonctions pour générer le SID à partir de constantes prédéfinies au lieu d’utiliser le nom du SID bien connu. Par exemple, la version anglaise américaine du système d’exploitation Windows a un SID bien connu nommé « BUILTIN\Administrators » qui peut avoir un nom différent sur les versions internationales du système. Pour obtenir un exemple qui génère un SID connu, consultez Recherche d’un SID dans un jeton d’accès en C++.

Si vous avez besoin d’utiliser des SID, ne les manipulez pas directement. Utilisez plutôt les fonctions suivantes.

Fonction Description
AllocateAndInitializeSid Alloue et initialise un SID avec le nombre spécifié de sous-autorisation.
ConvertSidToStringSid Convertit un SID en format de chaîne adapté à l’affichage, au stockage ou au transport.
ConvertStringSidToSid Convertit un SID au format chaîne en SID valide et fonctionnel.
CopySid Copie un SID source dans une mémoire tampon.
EqualPrefixSid Teste l’égalité de deux valeurs de préfixe SID. Un préfixe SID est le SID entier à l’exception de la dernière valeur de sous-autorisation.
EqualSid Teste deux SID pour l’égalité. Elles doivent correspondre exactement pour être considérées comme égales.
FreeSid Libère un SID précédemment alloué à l’aide de la fonction AllocateAndInitializeSid .
GetLengthSid Récupère la longueur d’un SID.
GetSidIdentifierAuthority Récupère un pointeur vers l’autorité d’identificateur d’un SID.
GetSidLengthRequired Récupère la taille de la mémoire tampon requise pour stocker un SID avec un nombre spécifié de sous-autorisations.
GetSidSubAuthority Récupère un pointeur vers une sous-autorisation spécifiée dans un SID.
GetSidSubAuthorityCount Récupère le nombre de sous-authentifications dans un SID.
InitializeSid Initialise une structure SID .
IsValidSid Teste la validité d’un SID en vérifiant que le numéro de révision se trouve dans une plage connue et que le nombre de sous-autorisation est inférieur à la valeur maximale.
LookupAccountName Récupère le SID qui correspond à un nom de compte spécifié.
LookupAccountSid Récupère le nom du compte qui correspond à un SID spécifié.