Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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