CSacl, classe

Cette classe est un wrapper pour une structure SACL (liste de contrôle d’accès système).

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

class CSacl : public CAcl

Membres

Constructeurs publics

Nom Description
CSacl ::CSacl Constructeur .
CSacl ::~CSacl Destructeur.

Méthodes publiques

Nom Description
CSacl ::AddAuditAce Ajoute une entrée de contrôle d’accès d’audit (ACE) à l’objet CSacl .
CSacl ::GetAceCount Retourne le nombre d’entrées de contrôle d’accès (ACEs) dans l’objet CSacl .
CSacl ::RemoveAce Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CSacl .
CSacl ::RemoveAllAces Supprime toutes les ACL contenues dans l’objet CSacl .

Opérateurs publics

Nom Description
CSacl ::operator = Opérateur d'assignation.

Notes

Une liste de contrôle d’accès contient des entrées de contrôle d’accès qui spécifient les types de tentatives d’accès qui génèrent des enregistrements d’audit dans le journal des événements de sécurité d’un contrôleur de domaine. Notez qu’une liste de contrôle d’accès partagé génère uniquement des entrées de journal sur le contrôleur de domaine où la tentative d’accès s’est produite, et non sur chaque contrôleur de domaine qui contient un réplica de l’objet.

Pour définir ou récupérer la liste de contrôle d’accès dans le descripteur de sécurité d’un objet, le privilège SE_SECURITY_NAME doit être activé dans le jeton d’accès du thread demandeur. Le groupe Administrateurs dispose de ce privilège accordé par défaut et peut être accordé à d’autres utilisateurs ou groupes. Le fait de disposer du privilège accordé n’est pas tout ce qui est nécessaire : avant que l’opération définie par le privilège puisse être effectuée, le privilège doit être activé dans le jeton d’accès de sécurité pour prendre effet. Le modèle autorise les privilèges à être activés uniquement pour des opérations système spécifiques, puis désactivés lorsqu’ils ne sont plus nécessaires. Consultez AtlGetSacl et AtlSetSacl pour obtenir des exemples d’activation de SE_SECURITY_NAME.

Utilisez les méthodes de classe fournies pour ajouter, supprimer, créer et supprimer des AE de l’objet SACL . Voir aussi AtlGetSacl et AtlSetSacl.

Pour une présentation du modèle de contrôle d’accès dans Windows, consultez Contrôle d’accès dans le Kit de développement logiciel (SDK) Windows.

Hiérarchie d'héritage

CAcl

CSacl

Spécifications

En-tête : atlsecurity.h

CSacl ::AddAuditAce

Ajoute une entrée de contrôle d’accès d’audit (ACE) à l’objet CSacl .

bool AddAuditAce(
    const CSid& rSid,
    ACCESS_MASK AccessMask,
    bool bSuccess,
    bool bFailure,
    BYTE AceFlags = 0) throw(...);

bool AddAuditAce(
    const CSid& rSid,
    ACCESS_MASK AccessMask,
    bool bSuccess,
    bool bFailure,
    BYTE AceFlags,
    const GUID* pObjectType,
    const GUID* pInheritedObjectType) throw(...);

Paramètres

rSid
Objet CSid .

AccessMask
Spécifie le masque des droits d’accès à auditer pour l’objet spécifié CSid .

bSuccess
Spécifie si les tentatives d’accès autorisées doivent être auditées. Définissez cet indicateur sur true pour activer l’audit ; sinon, définissez-le sur false.

bFailure
Spécifie si les tentatives d’accès refusées doivent être auditées. Définissez cet indicateur sur true pour activer l’audit ; sinon, définissez-le sur false.

AceFlags
Ensemble d’indicateurs de bits qui contrôlent l’héritage ACE.

pObjectType
Type d'objet.

pInheritedObjectType
Type d’objet hérité.

Valeur de retour

Retourne TRUE si l’ACE est ajouté à l’objet CSacl , FALSE en cas d’échec.

Notes

Un CSacl objet contient des entrées de contrôle d’accès qui spécifient les types de tentatives d’accès qui génèrent des enregistrements d’audit dans le journal des événements de sécurité. Cette méthode ajoute un tel ACE à l’objet CSacl .

Consultez ACE_HEADER pour obtenir une description des différents indicateurs qui peuvent être définis dans le paramètre AceFlags .

CSacl ::CSacl

Constructeur .

CSacl() throw();
CSacl(const ACL& rhs) throw(...);

Paramètres

rhs
Structure existante ACL (liste de contrôle d’accès).

Notes

L’objet CSacl peut éventuellement être créé à l’aide d’une structure existante ACL . Vérifiez que ce paramètre est une liste de contrôle d’accès système (SACL) et non une liste de contrôle d’accès discrétionnaire (DACL). Dans les builds de débogage, si une liste DACL est fournie, une assertion se produit. Dans la version, toutes les entrées d’une liste de contrôle de contrôle d’accès sont ignorées.

CSacl ::~CSacl

Destructeur.

~CSacl() throw();

Notes

Le destructeur libère toutes les ressources acquises par l’objet, y compris toutes les entrées de contrôle d’accès (ACL).

CSacl ::GetAceCount

Retourne le nombre d’entrées de contrôle d’accès (ACEs) dans l’objet CSacl .

UINT GetAceCount() const throw();

Valeur de retour

Retourne le nombre d’ACL contenues dans l’objet CSacl .

CSacl ::operator =

Opérateur d'assignation.

CSacl& operator=(const ACL& rhs) throw(...);

Paramètres

rhs
Liste ACL (contrôle d’accès) à affecter à l’objet existant.

Valeur de retour

Retourne une référence à l’objet mis à jour CSacl . Vérifiez que le ACL paramètre est en fait une liste de contrôle d’accès système (SACL) et non une liste de contrôle d’accès discrétionnaire (DACL). Dans les builds de débogage, une assertion se produit et, dans la version, le ACL paramètre sera ignoré.

CSacl ::RemoveAce

Supprime un ACE spécifique (entrée de contrôle d’accès) de l’objet CSacl .

void RemoveAce(UINT nIndex) throw();

Paramètres

nIndex
Index de l’entrée ACE à supprimer.

Notes

Cette méthode est dérivée de CAtlArray ::RemoveAt.

CSacl ::RemoveAllAces

Supprime toutes les entrées de contrôle d’accès contenues dans l’objet CSacl .

void RemoveAllAces() throw();

Notes

Supprime chaque ACE structure (le cas échéant) dans l’objet CSacl .

Voir aussi

CAcl, classe
ACL
Aces
Vue d’ensemble de la classe
Fonctions globales de sécurité