Freigeben über


ObjectPrivilegeAuditAlarmA-Funktion (winbase.h)

Die ObjectPrivilegeAuditAlarm-Funktion generiert eine Überwachungsmeldung im Sicherheitsereignisprotokoll. Ein geschützter Server kann diese Funktion verwenden, um Versuche eines Clients zur Verwendung eines angegebenen Berechtigungssatzes mit einem geöffneten Handle für ein privates Objekt zu protokollieren. Alarme werden derzeit nicht unterstützt.

Syntax

BOOL ObjectPrivilegeAuditAlarmA(
  [in] LPCSTR         SubsystemName,
  [in] LPVOID         HandleId,
  [in] HANDLE         ClientToken,
  [in] DWORD          DesiredAccess,
  [in] PPRIVILEGE_SET Privileges,
  [in] BOOL           AccessGranted
);

Parameter

[in] SubsystemName

Ein Zeiger auf eine NULL-beendete Zeichenfolge, die den Namen des Subsystems angibt, das die Funktion aufruft. Diese Zeichenfolge wird in der Überwachungsmeldung angezeigt.

[in] HandleId

Ein Zeiger auf einen eindeutigen Wert, der das Handle des Clients auf das Objekt darstellt.

[in] ClientToken

Gibt ein Zugriffstoken an, das den Client darstellt, der den Vorgang angefordert hat. Dieses Handle muss abgerufen worden sein, indem das Token eines Threads geöffnet wurde, der die Identität des Clients angibt. Das Token muss für TOKEN_QUERY Zugriff geöffnet sein. Die Funktion verwendet dieses Token, um die Identität des Clients für die Überwachungsnachricht abzurufen.

[in] DesiredAccess

Gibt eine Zugriffsmaske an, die die privilegierten Zugriffstypen angibt, die verwendet werden oder deren Verwendung versucht wird. Die Zugriffsmaske kann von der MapGenericMask-Funktion zugeordnet werden, sodass sie keine generischen Zugriffstypen enthält.

[in] Privileges

Ein Zeiger auf eine PRIVILEGE_SET-Struktur , die die Berechtigungen enthält, die der Client zu verwenden versucht hat. Die Namen der Berechtigungen werden in der Überwachungsmeldung angezeigt.

[in] AccessGranted

Gibt an, ob der Versuch des Clients, die Berechtigungen zu verwenden, erfolgreich war. Wenn dieser Wert TRUE ist, wird in der Überwachungsmeldung der Erfolg angegeben. Wenn dieser Wert FALSE ist, weist die Überwachungsmeldung auf einen Fehler hin.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die ObjectPrivilegeAuditAlarm-Funktion überprüft nicht den Zugriff des Clients auf das Objekt oder das Zugriffstoken des Clients, um zu bestimmen, ob die Berechtigungen gehalten oder aktiviert sind. In der Regel rufen Sie die PrivilegeCheck-Funktion auf, um zu bestimmen, ob die angegebenen Berechtigungen im Zugriffstoken aktiviert sind, rufen Sie die AccessCheck-Funktion auf, um den Zugriff des Clients auf das Objekt zu überprüfen, und rufen dann ObjectPrivilegeAuditAlarm auf, um die Ergebnisse zu protokollieren.

Die ObjectPrivilegeAuditAlarm-Funktion erfordert, dass der aufrufende Prozess SE_AUDIT_NAME Berechtigungen aktiviert hat. Der Test für diese Berechtigung wird immer für das primäre Token des aufrufenden Prozesses durchgeführt, nicht für das Identitätswechseltoken des Threads. Dadurch kann der aufrufende Prozess während des Anrufs die Identität eines Clients annehmen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

AccessCheck

AccessCheckAndAuditAlarm

Client-/Server-Access Control-Funktionen

Client/Server Access Control Übersicht

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm