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
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é