Partager via


ObjectPrivilegeAuditAlarmW, fonction (securitybaseapi.h)

La fonction ObjectPrivilegeAuditAlarm génère un message d’audit dans le journal des événements de sécurité. Un serveur protégé peut utiliser cette fonction pour journaliser les tentatives effectuées par un client pour utiliser un ensemble spécifié de privilèges avec un handle ouvert à un objet privé. Les alarmes ne sont actuellement pas prises en charge.

Syntaxe

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

Paramètres

[in] SubsystemName

Pointeur vers une chaîne terminée par null spécifiant le nom du sous-système appelant la fonction. Cette chaîne apparaît dans le message d’audit.

[in] HandleId

Pointeur vers une valeur unique représentant le handle du client vers l’objet .

[in] ClientToken

Identifie un jeton d’accès représentant le client qui a demandé l’opération. Ce handle doit avoir été obtenu en ouvrant le jeton d’un thread empruntant l’identité du client. Le jeton doit être ouvert pour un accès TOKEN_QUERY. La fonction utilise ce jeton pour obtenir l’identité du client pour le message d’audit.

[in] DesiredAccess

Spécifie un masque d’accès indiquant les types d’accès privilégiés utilisés ou dont l’utilisation est tentée. Le masque d’accès peut être mappé par la fonction MapGenericMask afin qu’il ne contienne aucun type d’accès générique.

[in] Privileges

Pointeur vers une structure PRIVILEGE_SET contenant les privilèges que le client a tenté d’utiliser. Les noms des privilèges apparaissent dans le message d’audit.

[in] AccessGranted

Indique si la tentative du client d’utiliser les privilèges a réussi. Si cette valeur est TRUE, le message d’audit indique la réussite. Si cette valeur est FALSE, le message d’audit indique un échec.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction ObjectPrivilegeAuditAlarm n’case activée pas l’accès du client à l’objet ou case activée le jeton d’accès du client pour déterminer si les privilèges sont conservés ou activés. En règle générale, vous appelez la fonction PrivilegeCheck pour déterminer si les privilèges spécifiés sont activés dans le jeton d’accès, appelez la fonction AccessCheck pour case activée l’accès du client à l’objet, puis appelez ObjectPrivilegeAuditAlarm pour journaliser les résultats.

La fonction ObjectPrivilegeAuditAlarm nécessite que le processus appelant ait SE_AUDIT_NAME privilège activé. Le test de ce privilège est toujours effectué sur le jeton principal du processus appelant, et non sur le jeton d’emprunt d’identité du thread. Cela permet au processus appelant d’emprunter l’identité d’un client pendant l’appel.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête securitybaseapi.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

AccessCheck
AccessCheckAndAuditAlarm
Fonctions de Access Control client/serveur
Vue d’ensemble des Access Control client/serveur
MapGenericMask
ObjectCloseAuditAlarm
ObjectOpenAuditAlarm
PRIVILEGE_SET
PrivilegeCheck
PrivilegedServiceAuditAlarm