Droits d’accès et masques d’accès

Un droit d’accès est un indicateur de bits qui correspond à un ensemble particulier d’opérations qu’un thread peut effectuer sur un objet sécurisable. Par exemple, une clé de registre a le droit d’accès KEY_SET_VALUE, qui correspond à la capacité d’un thread à définir une valeur sous la clé. Si un thread tente d’effectuer une opération sur un objet, mais n’a pas le droit d’accès nécessaire à l’objet, le système n’effectue pas l’opération.

Un masque d’accès est une valeur 32 bits dont les bits correspondent aux droits d’accès pris en charge par un objet. Tous les objets sécurisables Windows utilisent un format de masque d’accès qui inclut des bits pour les types de droits d’accès suivants :

Lorsqu’un thread tente d’ouvrir un descripteur sur un objet, il spécifie généralement un masque d’accès pour demander un ensemble de droits d’accès. Par exemple, une application qui doit définir et interroger les valeurs d’une clé de registre peut ouvrir la clé à l’aide d’un masque d’accès pour demander les droits d'accès KEY_SET_VALUE et KEY_QUERY_VALUE.

Le tableau ci-dessous présente les fonctions qui manipulent les informations de sécurité pour chaque type d’objet sécurisable.

Type d'objet Fonctions du descripteur de sécurité
Fichiers ou répertoires sur un système de fichiers NTFS GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Canaux nommés Canaux anonymes
GetSecurityInfo, SetSecurityInfo
Mémoires tampons d’écran d’une console Non pris en charge.
Processus Threads
GetSecurityInfo, SetSecurityInfo
Objets de mappage de fichier GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Jetons d’accès SetKernelObjectSecurity, GetKernelObjectSecurity
Objets de gestion Window (bureaux et stations Window) GetSecurityInfo, SetSecurityInfo
Clés de Registre GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Services Windows GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Imprimantes locales ou distantes GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Partages réseau GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Objets de synchronisation entre processus (événements, mutex, sémaphores et minuteurs pouvant être attendus) GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Objets de travail GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo