Constantes de privilèges (autorisation)

Les privilèges déterminent le type d’opérations système qu’un compte d’utilisateur peut effectuer. Un administrateur attribue des privilèges aux comptes d’utilisateur et de groupe. Les privilèges de chaque utilisateur incluent ceux accordés à cet utilisateur et aux groupes auxquels il appartient.

Les fonctions qui obtiennent et ajustent les privilèges dans un jeton d’accès utilisent le type d’identificateur unique local (LUID) pour identifier les privilèges. Utilisez la fonction LookupPrivilegeValue pour déterminer le LUID sur le système local qui correspond à une constante de privilège. Utilisez la fonction LookupPrivilegeName pour convertir un LUID en sa constante de chaîne correspondante.

Le système d’exploitation représente un privilège en utilisant la chaîne qui suit « Droit utilisateur » dans la colonne Description du tableau ci-dessous. Le système d’exploitation affiche les chaînes de droit utilisateur dans la colonne Stratégie du nœud Attribution des droits utilisateur du composant logiciel enfichable Microsoft Management Console (MMC) des paramètres de sécurité locaux.

Exemple

BOOL EnablePrivilege()
{
    LUID PrivilegeRequired ;
    BOOL bRes = FALSE;
  
    bRes = LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &PrivilegeRequired);

    // ...

    return bRes;
}

Exemples classiques Windows sur GitHub.

Constantes

Constante/valeur Description
SE_ASSIGNPRIMARYTOKEN_NAME
TEXT("SeAssignPrimaryTokenPrivilege")
Obligatoire pour attribuer le jeton principal d’un processus.
Droit utilisateur : Remplacer un jeton de niveau processus.
SE_AUDIT_NAME
TEXT("SeAuditPrivilege")
Obligatoire pour générer des entrées de journal d’audit. Accordez ce privilège à des serveurs sécurisés.
Droit utilisateur : Générer des audits de sécurité.
SE_BACKUP_NAME
TEXT("SeBackupPrivilege")
Obligatoire pour effectuer des opérations de sauvegarde. Ce privilège permet au système d’accorder le contrôle d’accès en lecture à n’importe quel fichier, quelle que soit la liste de contrôle d’accès (ACL) spécifiée pour le fichier. Toute demande d’accès autre que la lecture est toujours évaluée avec la liste de contrôle d’accès. Ce privilège est requis par les fonctions RegSaveKey et RegSaveKeyEx. Les droits d’accès suivants sont accordés si ce privilège est détenu :
  • READ_CONTROL
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_READ
  • FILE_TRAVERSE
Droit utilisateur : Sauvegarder des fichiers et des répertoires.
Si le fichier se trouve sur un lecteur amovible et que l’option « Audit de stockage amovible » est activée, la constante SE_SECURITY_NAME doit avoir le droit ACCESS_SYSTEM_SECURITY.
SE_CHANGE_NOTIFY_NAME
TEXT("SeChangeNotifyPrivilege")
Obligatoire pour recevoir des notifications de modifications apportées aux fichiers ou répertoires. Ce privilège permet également au système d’ignorer toutes les vérifications d’accès de parcours. Il est activé par défaut pour tous les utilisateurs.
Droit utilisateur : Contourner la vérification de parcours.
SE_CREATE_GLOBAL_NAME
TEXT("SeCreateGlobalPrivilege")
Obligatoire pour créer des objets nommés de mappage de fichiers dans l’espace de noms global pendant les sessions Terminal Services. Ce privilège est activé par défaut pour les administrateurs, les services et le compte système local.
Droit utilisateur : Créer des objets globaux.
SE_CREATE_PAGEFILE_NAME
TEXT("SeCreatePagefilePrivilege")
Obligatoire pour créer un fichier d’échange.
Droit utilisateur : Créer un fichier d’échange.
SE_CREATE_PERMANENT_NAME
TEXT("SeCreatePermanentPrivilege")
Obligatoire pour créer un objet permanent.
Droit utilisateur : Créer des objets partagés permanents.
SE_CREATE_SYMBOLIC_LINK_NAME
TEXT("SeCreateSymbolicLinkPrivilege")
Obligatoire pour créer un lien symbolique.
Droit utilisateur : Créer des liens symboliques.
SE_CREATE_TOKEN_NAME
TEXT("SeCreateTokenPrivilege")
Obligatoire pour créer un jeton principal.
Droit utilisateur : Crée un objet-jeton.
Vous ne pouvez pas ajouter ce privilège à un compte d’utilisateur avec la stratégie « Créer un objet-jeton ». En outre, vous ne pouvez pas ajouter ce privilège à un processus propriétaire à l’aide d’API Windows. Windows Server 2003 et Windows XP avec SP1 et versions antérieures : les API Windows peuvent ajouter ce privilège à un processus propriétaire.

SE_DEBUG_NAME
TEXT("SeDebugPrivilege")
Obligatoire pour déboguer et ajuster la mémoire d’un processus appartenant à un autre compte.
Droit utilisateur : Déboguer des programmes.
SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME
TEXT("SeDelegateSessionUserImpersonatePrivilege")
Obligatoire pour obtenir un jeton d’emprunt d’identité pour un autre utilisateur dans la même session.
Droit utilisateur : Emprunter l’identité d’autres utilisateurs.
SE_ENABLE_DELEGATION_NAME
TEXT("SeEnableDelegationPrivilege")
Obligatoire pour marquer les comptes d’utilisateur et d’ordinateur comme étant approuvés pour la délégation.
Droit utilisateur : Permettre aux comptes d’ordinateur et d’utilisateur d’être approuvés pour la délégation.
SE_IMPERSONATE_NAME
TEXT("SeImpersonatePrivilege")
Obligatoire pour l’emprunt d’identité.
Droit utilisateur : Emprunter l’identité d’un client après l’authentification.
SE_INC_BASE_PRIORITY_NAME
TEXT("SeIncreaseBasePriorityPrivilege")
Obligatoire pour augmenter la priorité de base d’un processus.
Droit utilisateur : Augmenter la priorité de planification.
SE_INCREASE_QUOTA_NAME
TEXT("SeIncreaseQuotaPrivilege")
Obligatoire pour augmenter le quota attribué à un processus.
Droit utilisateur : Ajuster les quotas de mémoire pour un processus.
SE_INC_WORKING_SET_NAME
TEXT("SeIncreaseWorkingSetPrivilege")
Obligatoire pour allouer plus de mémoire aux applications qui s’exécutent dans le contexte des utilisateurs.
Droit utilisateur : Augmenter une plage de travail de processus.
SE_LOAD_DRIVER_NAME
TEXT("SeLoadDriverPrivilege")
Requis pour charger ou décharger un pilote de périphérique.
Droit utilisateur : Charger et décharger les pilotes de périphériques.
SE_LOCK_MEMORY_NAME
TEXT("SeLockMemoryPrivilege")
Obligatoire pour verrouiller des pages physiques en mémoire.
Droit utilisateur : Verrouiller les pages en mémoire.
SE_MACHINE_ACCOUNT_NAME
TEXT("SeMachineAccountPrivilege")
Obligatoire pour créer un compte d’ordinateur.
Droit utilisateur : Ajouter des stations de travail au domaine.
SE_MANAGE_VOLUME_NAME
TEXT("SeManageVolumePrivilege")
Obligatoire pour activer les privilèges de gestion des volumes.
Droit utilisateur : Effectuer les tâches de maintenance de volume.
SE_PROF_SINGLE_PROCESS_NAME
TEXT("SeProfileSingleProcessPrivilege")
Obligatoire pour collecter des informations de profilage pour un seul processus.
Droit utilisateur : Profiler un seul processus.
SE_RELABEL_NAME
TEXT("SeRelabelPrivilege")
Obligatoire pour modifier le niveau d’intégrité obligatoire d’un objet.
Droit utilisateur : Modifier un nom d’objet.
SE_REMOTE_SHUTDOWN_NAME
TEXT("SeRemoteShutdownPrivilege")
Obligatoire pour arrêter un système à l’aide d’une requête réseau.
Droit utilisateur : Forcer l’arrêt à partir d’un système distant.
SE_RESTORE_NAME
TEXT("SeRestorePrivilege")
Obligatoire pour effectuer des opérations de restauration. Ce privilège permet au système d’accorder le contrôle d’accès en écriture à n’importe quel fichier, quelle que soit la liste de contrôle d’accès (ACL) spécifiée pour le fichier. Toute demande d’accès autre que l’écriture est toujours évaluée avec la liste de contrôle d’accès. En outre, ce privilège vous permet de définir n’importe quel SID d’utilisateur ou de groupe valide comme propriétaire d’un fichier. Ce privilège est requis par la fonction RegLoadKey. Les droits d’accès suivants sont accordés si ce privilège est détenu :
  • WRITE_DAC
  • WRITE_OWNER
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_WRITE
  • FILE_ADD_FILE
  • FILE_ADD_SUBDIRECTORY
  • Suppression
Droit utilisateur : Restaurer des fichiers et des répertoires.
Si le fichier se trouve sur un lecteur amovible et que l’option « Audit de stockage amovible » est activée, la constante SE_SECURITY_NAME doit avoir le droit ACCESS_SYSTEM_SECURITY.
SE_SECURITY_NAME
TEXT("SeSecurityPrivilege")
Obligatoire pour effectuer un certain nombre de fonctions liées à la sécurité, telles que le contrôle et l’affichage des messages d’audit. Ce privilège identifie son titulaire en tant qu’opérateur de sécurité.
Droit utilisateur : Gérer le journal d’audit et de sécurité.
SE_SHUTDOWN_NAME
TEXT("SeShutdownPrivilege")
Obligatoire pour arrêter un système local.
Droit utilisateur : Arrêter le système.
SE_SYNC_AGENT_NAME
TEXT("SeSyncAgentPrivilege")
Obligatoire pour qu’un contrôleur de domaine utilise les services de synchronisation d’annuaires Lightweight Directory Access Protocol (LDAP). Ce privilège permet au titulaire de lire tous les objets et toutes les propriétés dans l’annuaire, quelle que soit la protection sur ces objets et propriétés. Par défaut, il est attribué aux comptes Administrateur et LocalSystem sur des contrôleurs de domaine.
Droit utilisateur : Synchroniser les données du service d’annuaire.
SE_SYSTEM_ENVIRONMENT_NAME
TEXT("SeSystemEnvironmentPrivilege")
Obligatoire pour modifier la mémoire RAM non volatile des systèmes qui utilisent ce type de mémoire pour stocker les informations de configuration.
Droit utilisateur : Modifier les valeurs de l’environnement du microprogramme.
SE_SYSTEM_PROFILE_NAME
TEXT("SeSystemProfilePrivilege")
Obligatoire pour collecter des informations de profilage pour tout le système.
Droit utilisateur : Profiler les performances du système.
SE_SYSTEMTIME_NAME
TEXT("SeSystemtimePrivilege")
Obligatoire pour modifier l’heure du système.
Droit utilisateur : Modifier l’heure système.
SE_TAKE_OWNERSHIP_NAME
TEXT("SeTakeOwnershipPrivilege")
Obligatoire pour prendre possession d’un objet sans disposer de l’accès discrétionnaire. Ce privilège permet à la valeur propriétaire d’être définie uniquement sur les valeurs que le titulaire peut légitimement attribuer en tant que propriétaire d’un objet.
Droit utilisateur : Prendre possession de fichiers ou d’autres objets.
SE_TCB_NAME
TEXT("SeTcbPrivilege")
Ce privilège identifie son titulaire dans le cadre de la base d’ordinateurs approuvés. Certains sous-systèmes protégés approuvés bénéficient de ce privilège.
Droit utilisateur : Agir en tant que partie du système d’exploitation.
SE_TIME_ZONE_NAME
TEXT("SeTimeZonePrivilege")
Obligatoire pour ajuster le fuseau horaire associé à l’horloge interne de l’ordinateur.
Droit utilisateur : Changer le fuseau horaire.
SE_TRUSTED_CREDMAN_ACCESS_NAME
TEXT("SeTrustedCredManAccessPrivilege")
Obligatoire pour accéder au gestionnaire d’informations d’identification en tant qu’appelant approuvé.
Droit utilisateur : Accéder au gestionnaire d’informations d’identification en tant qu’appelant approuvé.
SE_UNDOCK_NAME
TEXT("SeUndockPrivilege")
Obligatoire pour retirer un ordinateur portable de la station d’accueil.
Droit utilisateur : Retirer l’ordinateur de la station d’accueil.
SE_UNSOLICITED_INPUT_NAME
TEXT("SeUnsolicitedInputPrivilege")
Obligatoire pour lire les entrées non sollicitées à partir d’un appareil terminal.
Droit utilisateur : Non applicable.

Notes

Les constantes de privilèges sont définies en tant que chaînes dans Winnt.h. Par exemple, la constante SE_AUDIT_NAME est définie comme « SeAuditPrivilege ».

Spécifications

Condition requise Value
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

Voir aussi

Privilèges