CSacl-Klasse
Diese Klasse ist ein Wrapper für eine SACL-Struktur (Systemzugriffssteuerungsliste).
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CSacl : public CAcl
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CSacl::CSacl | Der Konstruktor. |
CSacl::~CSacl | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CSacl::AddAuditAce | Fügt dem CSacl Objekt einen Überwachungszugriffssteuerungseintrag (Access Control Entry, ACE) hinzu. |
CSacl::GetAceCount | Gibt die Anzahl der Zugriffssteuerungseinträge (ACCESS-Control Entries, ACEs) im CSacl Objekt zurück. |
CSacl::RemoveAce | Entfernt einen bestimmten ACE -Eintrag (Zugriffssteuerungseintrag) aus dem CSacl Objekt. |
CSacl::RemoveAllAces | Entfernt alle im CSacl Objekt enthaltenen ACEs. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CSacl::operator = | Zuweisungsoperator. |
Hinweise
A SACL contains access-control entries (ACEs), that specify the types of access attempts that generate audit records in the security event log of a domain controller. Beachten Sie, dass eine SACL Protokolleinträge nur auf dem Domänencontroller generiert, auf dem der Zugriffsversuch aufgetreten ist, nicht auf jedem Domänencontroller, der ein Replikat des Objekts enthält.
Um die SACL im Sicherheitsdeskriptor eines Objekts festzulegen oder abzurufen, muss die SE_SECURITY_NAME Berechtigung im Zugriffstoken des anfordernden Threads aktiviert werden. Die Gruppe "Administratoren" verfügt standardmäßig über diese Berechtigung, die anderen Benutzern oder Gruppen gewährt werden kann. Wenn die gewährten Berechtigungen nicht alle erforderlich sind: Bevor der durch die Berechtigung definierte Vorgang ausgeführt werden kann, muss die Berechtigung im Sicherheitszugriffstoken aktiviert werden, um wirksam zu werden. Mit dem Modell können Berechtigungen nur für bestimmte Systemvorgänge aktiviert und dann deaktiviert werden, wenn sie nicht mehr benötigt werden. Beispiele zum Aktivieren von SE_SECURITY_NAME finden Sie unter AtlGetSacl und AtlSetSacl .
Verwenden Sie die Klassenmethoden, die zum Hinzufügen, Entfernen, Erstellen und Löschen von ACEs aus dem SACL
Objekt bereitgestellt werden. Siehe auch AtlGetSacl und AtlSetSacl.
Eine Einführung in das Zugriffssteuerungsmodell in Windows finden Sie unter Access Control im Windows SDK.
Vererbungshierarchie
CSacl
Anforderungen
Kopfzeile: atlsecurity.h
CSacl::AddAuditAce
Fügt dem CSacl
Objekt einen Überwachungszugriffssteuerungseintrag (Access Control Entry, ACE) hinzu.
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(...);
Parameter
rSid
Das CSid-Objekt .
AccessMask
Gibt die Maske der Zugriffsrechte an, die für das angegebene CSid
Objekt überwacht werden sollen.
bSuccess
Gibt an, ob zulässige Zugriffsversuche überwacht werden sollen. Legen Sie dieses Kennzeichen auf "true" fest, um die Überwachung zu aktivieren. andernfalls legen Sie ihn auf "false" fest.
bFailure
Gibt an, ob zugriffsverweigerungsversuche überwacht werden sollen. Legen Sie dieses Kennzeichen auf "true" fest, um die Überwachung zu aktivieren. andernfalls legen Sie ihn auf "false" fest.
AceFlags
Eine Reihe von Bitkennzeichnungen, die die ACE-Vererbung steuern.
pObjectType
Der Objekttyp.
pInheritedObjectType
Der geerbte Objekttyp.
Rückgabewert
Gibt TRUE zurück, wenn die ACE dem CSacl
Objekt hinzugefügt wird, false bei Fehler.
Hinweise
Ein CSacl
Objekt enthält Zugriffssteuerungseinträge (Access Control Entries, ACEs), die die Typen von Zugriffsversuchen angeben, die Überwachungsdatensätze im Sicherheitsereignisprotokoll generieren. Diese Methode fügt dem CSacl
Objekt eine solche ACE hinzu.
Eine Beschreibung der verschiedenen Flags, die im Parameter AceFlags festgelegt werden können, finden Sie unter ACE_HEADER.
CSacl::CSacl
Der Konstruktor.
CSacl() throw();
CSacl(const ACL& rhs) throw(...);
Parameter
rhs
Eine vorhandene ACL
Struktur (Zugriffssteuerungsliste).
Hinweise
Das CSacl
Objekt kann optional mithilfe einer vorhandenen ACL
Struktur erstellt werden. Stellen Sie sicher, dass dieser Parameter eine Systemzugriffssteuerungsliste (ACCESS-Control List, SACL) und keine diskretionäre Zugriffssteuerungsliste (ACCESS-Control List, DACL) ist. Wenn in Debugbuilds eine DACL bereitgestellt wird, tritt eine Assertion auf. In release builds any entries from a DACL are ignored.
CSacl::~CSacl
Der Destruktor.
~CSacl() throw();
Hinweise
Der Destruktor gibt alle vom Objekt erworbenen Ressourcen frei, einschließlich aller Zugriffssteuerungseinträge (ACCESS-Control Entries, ACEs).
CSacl::GetAceCount
Gibt die Anzahl der Zugriffssteuerungseinträge (ACCESS-Control Entries, ACEs) im CSacl
Objekt zurück.
UINT GetAceCount() const throw();
Rückgabewert
Gibt die Anzahl der im CSacl
Objekt enthaltenen ACEs zurück.
CSacl::operator =
Zuweisungsoperator.
CSacl& operator=(const ACL& rhs) throw(...);
Parameter
rhs
Die ACL
(Zugriffssteuerungsliste), die dem vorhandenen Objekt zugewiesen werden soll.
Rückgabewert
Gibt einen Verweis auf das aktualisierte CSacl
Objekt zurück. Stellen Sie sicher, dass der ACL
Parameter tatsächlich eine Systemzugriffssteuerungsliste (ACCESS-Control List, SACL) und keine diskretionäre Zugriffssteuerungsliste (ACCESS-Control List, DACL) ist. In Debugbuilds tritt eine Assertion auf, und in Releasebuilds wird der ACL
Parameter ignoriert.
CSacl::RemoveAce
Entfernt einen bestimmten ACE -Eintrag (Zugriffssteuerungseintrag) aus dem CSacl
Objekt.
void RemoveAce(UINT nIndex) throw();
Parameter
nIndex
Index zum Entfernen des ACE-Eintrags.
Hinweise
Diese Methode wird von CAtlArray::RemoveAt abgeleitet.
CSacl::RemoveAllAces
Entfernt alle im Objekt enthaltenen CSacl
Zugriffssteuerungseinträge (ACCESS-Control Entries, ACEs).
void RemoveAllAces() throw();
Hinweise
Entfernt jede ACE
Struktur (falls vorhanden) im CSacl
Objekt.
Siehe auch
CAcl-Klasse
ACLs
Asse
Klassenübersicht
Globale Sicherheitsfunktionen