Opérations de descripteur de sécurité
L’API Windows fournit des fonctions permettant d’obtenir et de définir les composants du descripteur de sécurité associé à un objet sécurisable. Utilisez les fonctions GetSecurityInfo et GetNamedSecurityInfo pour récupérer un pointeur vers le descripteur de sécurité d’un objet. Ces fonctions peuvent également récupérer des pointeurs vers les composants individuels du descripteur de sécurité : DACL, SACL, SID propriétaire et SID du groupe principal. Utilisez les fonctions SetSecurityInfo et SetNamedSecurityInfo pour définir les composants du descripteur de sécurité d’un objet.
En général, vous devez utiliser GetSecurityInfo et SetSecurityInfo avec des objets identifiés par un handle, et SetNamedSecurityInfo et GetNamedSecurityInfo avec des objets identifiés par un nom. Pour plus d’informations sur les fonctions spécifiques à utiliser lors de l’utilisation des différents types d’objets, consultez Objets sécurisables.
L’API Windows fournit des fonctions supplémentaires pour manipuler les composants d’un descripteur de sécurité. Pour plus d’informations sur l’utilisation des listes de contrôle d’accès (DACL ou SACL), consultez Obtention d’informations à partir d’une liste de contrôle d’accès et Création ou modification d’une liste de contrôle d’accès. Pour plus d’informations sur les SID, consultez Identificateurs de sécurité (SID).
Pour obtenir les informations de contrôle dans un descripteur de sécurité, appelez la fonction GetSecurityDescriptorControl . Pour définir les bits de contrôle liés à l’héritage ACE automatique, appelez la fonction SetSecurityDescriptorControl . D’autres bits de contrôle sont définis par les différentes fonctions qui définissent un composant descripteur de sécurité. Par exemple, si vous utilisez SetSecurityInfo pour modifier la liste DACL d’un objet, la fonction définit ou efface les bits comme il convient pour indiquer si le descripteur de sécurité a une liste DACL, s’il s’agit d’une liste DACL par défaut, etc. Un autre exemple est les bits de contrôle du gestionnaire de ressources (RM) contenus dans le descripteur de sécurité. Ces bits sont utilisés en fonction de l’implémentation du gestionnaire de ressources et sont accessibles via les fonctions GetSecurityDescriptorRMControl et SetSecurityDescriptorRMControl .