Actions et groupes d'actions SQL Server Audit

La fonctionnalité SQL Server Audit vous permet d'effectuer l'audit d'événements et de groupes d'événements au niveau du serveur et au niveau de la base de données. Pour plus d'informations, consultez Fonctionnement de SQL Server Audit.

Les audits SQL Server sont constitués de zéro ou plusieurs éléments d'action d'audit. Ces éléments d'action d'audit peuvent être un groupe d'actions, tel que Server_Object_Change_Group, ou des actions individuelles telles que des opérations SELECT sur une table.

[!REMARQUE]

Server_Object_Change_Group inclut CREATE, ALTER et DROP pour tout objet de serveur (Base de données ou Point de terminaison).

Les audits peuvent inclure les catégories suivantes d'actions :

  • Niveau serveur. Ces actions incluent des opérations de serveur, telles que des modifications de gestion et des opérations d'ouverture de session et de fermeture de session.

  • Niveau base de données. Ces actions englobent les opérations DML (Data Manipulation Languages) et DDL (Data Definition Language).

  • Niveau audit. Ces actions incluent des actions appartenant au processus d'audit.

Certaines actions effectuées sur des composants d'audit SQL Server sont auditées intrinsèquement dans un audit spécifique, et dans ces cas-là des événements d'audit se produisent automatiquement car l'événement s'est produit sur l'objet parent.

Les actions suivantes sont auditées intrinsèquement :

  • Modification de l'état d'audit du serveur (définition de l'État sur ON ou OFF)

Les événements suivants ne sont pas audités intrinsèquement :

  • CREATE SERVER AUDIT SPECIFICATION

  • ALTER SERVER AUDIT SPECIFICATION

  • DROP SERVER AUDIT SPECIFICATION

  • CREATE DATABASE AUDIT SPECIFICATION

  • ALTER DATABASE AUDIT SPECIFICATION

  • DROP DATABASE AUDIT SPECIFICATION

Tous les audits sont désactivés lors de leur création initiale.

Groupes d'actions d'audit de niveau serveur

Les groupes d'actions d'audit de niveau serveur sont des actions semblables aux classes d'événements d'audit de sécurité SQL Server. Pour plus d'informations, consultez Classes d'événements SQL Server.

Le tableau suivant décrit les groupes d'actions d'audit de niveau serveur et fournit la classe d'événements SQL Server équivalente, le cas échéant.

Nom du groupe d'actions

Description

SUCCESSFUL_LOGIN_GROUP

Indique qu'une entité s'est connectée à SQL Server. Les événements de cette classe sont déclenchés par de nouvelles connexions ou par des connexions réutilisées depuis un groupement de connexions. Équivaut à la Classe d'événements Audit Login.

LOGOUT_GROUP

Indique qu'une entité s'est déconnectée de SQL Server. Les événements de cette classe sont déclenchés par de nouvelles connexions ou par des connexions réutilisées depuis un groupement de connexions. Équivaut à la Classe d'événements Audit Logout.

FAILED_LOGIN_GROUP

Indique qu'une entité a essayé de se connecter à SQL Server et a échoué. Les événements de cette classe sont déclenchés par de nouvelles connexions ou par des connexions réutilisées depuis un groupement de connexions. Équivaut à la Classe d'événements Audit Login Failed.

LOGIN_CHANGE_PASSWORD_GROUP

Cet événement est déclenché chaque fois qu'un mot de passe de connexion est modifié via une instruction ALTER LOGIN ou une procédure stockée sp_password. Équivaut à la Classe d'événements Audit Login Change Password.

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP

Cet événement est déclenché chaque fois qu'un mot de passe est modifié pour un rôle d'application. Équivaut à la Classe d'événements Audit App Role Change Password.

SERVER_ROLE_MEMBER_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une connexion est ajoutée ou supprimée d'un rôle serveur fixe. Cet événement est déclenché pour les procédures stockées sp_addsrvrolemember et sp_dropsrvrolemember. Équivaut à la Classe d'événements Audit Add Login to Server Role.

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une connexion est ajoutée à supprimée d'un rôle de base de données. Cette classe d'événements est déclenchée pour les procédures stockées sp_addrolemember, sp_changegroup et sp_droprolemember. Cet événement est déclenché en cas de modification d'un membre de rôle Base de données dans toute base de données. Équivaut à la Classe d'événements Audit Add Member to DB Role.

BACKUP_RESTORE_GROUP

Cet événement est déclenché chaque fois qu'une commande de sauvegarde ou de restauration est émise. Équivaut à la Classe d'événements Audit Backup/Restore.

DBCC_GROUP

Cet événement est déclenché chaque fois qu'une entité émet une commande DBCC. Équivaut à la Classe d'événements Audit DBCC.

SERVER_OPERATION_GROUP

Cet événement est déclenché lorsque des opérations d'audit de sécurité, telles que la modification de paramètres, de ressources, d'accès externe ou d'autorisation sont utilisées. Équivaut à la Classe d'événements Audit Server Operation.

DATABASE_OPERATION_GROUP

Cet événement est déclenché lorsque des opérations dans une base de données, telles qu'un point de contrôle ou une notification de requête d'abonnement, se produisent. Cet événement est déclenché sur toute opération de base de données sur toute base de données. Équivaut à la Classe d'événements Audit Database Operation.

AUDIT_ CHANGE_GROUP

Cet événement est déclenché chaque fois qu'un audit est créé, modifié ou supprimé. Cet événement est déclenché chaque fois qu'une spécification d'audit est créée, modifiée ou supprimée. Toute modification apportée à un audit est auditée dans cet audit.

SERVER_STATE_CHANGE_GROUP

Cet événement est déclenché lorsque l'état du service SQL Server est modifié. Équivaut à la Classe d'événements Audit Server Starts and Stops.

SERVER_OBJECT_CHANGE_GROUP

Cet événement est déclenché pour les opérations CREATE, ALTER ou DROP sur des objets de serveur. Équivaut à la Classe d'événements Audit Server Object Management.

SERVER_PRINCIPAL_CHANGE_GROUP

Cet événement est déclenché lorsque des entités de serveur sont créées, modifiées ou supprimées. Équivaut à la Classe d'événements Audit Server Principal Management.

Cet événement est déclenché lorsqu'une entité émet les procédures stockées sp_defaultdb ou sp_defaultlanguage ou des instructions ALTER LOGIN. Équivaut à la Classe d'événements Audit Addlogin.

Cet événement est déclenché sur les procédures stockées sp_addlogin et sp_droplogin. Équivaut également à la Classe d'événements Audit Login Change Property.

Cet événement est déclenché pour les procédures stockées sp_grantlogin, sp_revokelogin ou sp_denylogin. Équivaut à la Classe d'événements Audit Login GDR.

DATABASE_CHANGE_GROUP

Cet événement est déclenché lors de la création, de la modification ou de la suppression d'une base de données. Cet événement est déclenché chaque fois qu'une base de données est créée, modifiée ou supprimée. Équivaut à la Classe d'événements Audit Database Management.

DATABASE_OBJECT_CHANGE_GROUP

Cet événement est déclenché lorsqu'une instruction CREATE, ALTER ou DROP est exécutée sur des objets de base de données, tels que des schémas. Cet événement est déclenché chaque fois qu'un objet de base de données est créé, modifié ou supprimé.

RemarqueRemarque
Cela peut générer une très grande quantité d'enregistrements d'audit.

Équivaut à la Classe d'événements Audit Database Object Management.

DATABASE_PRINCIPAL_CHANGE_GROUP

Cet événement est déclenché lorsque des entités, telles que des utilisateurs, sont créées, modifiées ou supprimées d'une base de données. Équivaut à la Classe d'événements Audit Database Principal Management. (Également équivalent à la Classe d'événements d'audit Add DB Principal, qui se produit sur les procédures stockées abandonnées sp_grantdbaccess, sp_revokedbaccess, sp_addPrincipal et sp_dropPrincipal.)

Cet événement est déclenché chaque fois qu'un rôle de base de données est ajouté ou supprimé à l'aide des procédures stockées sp_addrole et sp_droprole. Cet événement est déclenché lorsque des entités de base de données sont créées, modifiées ou supprimées d'une base de données. Équivaut à la Classe d'événements Audit Add Role.

SCHEMA_OBJECT_CHANGE_GROUP

Cet événement est déclenché lorsqu'une opération CREATE, ALTER ou DROP est effectuée sur un schéma. Équivaut à la Classe d'événements Audit Schema Object Management.

Cet événement est déclenché sur les objets de schéma. Équivaut à la Classe d'événements Audit Object Derived Permission.

Cet événement est déclenché chaque fois qu'un schéma d'une base de données est modifié. Équivaut à la Classe d'événements Audit Statement Permission.

SERVER_PRINCIPAL_IMPERSONATION_GROUP

Cet événement est déclenché en cas d'opération d'emprunt d'identité dans la portée du serveur, telle que EXECUTE AS <login>. Équivaut à la Classe d'événements Audit Server Principal Impersonation.

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

Cet événement est déclenché en cas d'opération emprunt d'identité dans la portée de la base de données, telle que EXECUTE AS <entité> ou SETPRINCIPAL. Cet événement est déclenché pour les emprunts d'identité effectués dans une base de données. Équivaut à la Classe d'événements Audit Database Principal Impersonation.

SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP

Cet événement est déclenché lors de la modification du propriétaire par des objets dans la portée du serveur. Équivaut à la Classe d'événements Audit Server Object Take Ownership.

DATABASE_OWNERSHIP_CHANGE_GROUP

Cet événement est déclenché lorsque vous utilisez l'instruction ALTER AUTHORIZATION pour changer le propriétaire d'une base de données et que les autorisations requises à cet effet sont activées. Cet événement est déclenché pour toute modification du propriétaire de la base de données sur une base de données sur le serveur. Équivaut à la Classe d'événements Audit Change Database Owner.

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

Cet événement est déclenché lorsqu'une modification de propriétaire pour des objets dans l'étendue de la base de données a lieu. Cet événement est déclenché pour toute modification de propriétaire d'objet dans une base de données sur le serveur. Équivaut à la Classe d'événements Audit Database Object Take Ownership.

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

Cet événement est déclenché lorsque les autorisations nécessaires pour modifier le propriétaire d'un objet de schéma (tel qu'une table, procédure ou fonction) sont activées. Cela intervient lorsque l'instruction ALTER AUTHORIZATION est utilisée pour affecter un propriétaire à un objet. Cet événement est déclenché pour toute modification de propriétaire de schéma pour une base de données sur le serveur. Équivaut à la Classe d'événements Audit Schema Object Take Ownership.

SERVER_PERMISSION_CHANGE_GROUP

Cet événement est déclenché lorsqu'une instruction GRANT, REVOKE ou DENY est émise pour les autorisations dans la portée du serveur, par exemple en cas de création d'une connexion. Équivaut à la Classe d'événements Audit Server Scope GDR.

SERVER_OBJECT_PERMISSION_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une instruction GRANT, REVOKE ou DENY est émise pour une autorisation d'objet de serveur par une entité dans SQL Server. Équivaut à la Classe d'événements Audit Server Object GDR.

DATABASE_PERMISSION_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une instruction GRANT, REVOKE ou DENY est émise pour une autorisation d'instruction par une entité dans SQL Server (cela s'applique aux événements de base de données uniquement, tels que l'accord d'autorisations sur une base de données).

Cet événement est déclenché pour toute modification d'autorisation de base de données pour une base de données dans le serveur. Équivaut à la Classe d'événements Audit Database Scope GDR.

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

Cet événement est déclenché lorsqu'une instruction GRANT, REVOKE ou DENY a été émise pour des objets de base de données, tels que des assemblys et des schémas. Cet événement est déclenché pour toute modification d'autorisation d'objet pour une base de données sur le serveur. Équivaut à la Classe d'événements Audit Database Object GDR.

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une opération d'accord, de refus ou de révocation est effectuée contre un objet de schéma. Équivaut à la Classe d'événements Audit Schema Object GDR.

DATABASE_OBJECT_ACCESS_GROUP

Cet événement est déclenché à chaque accès à des objets de base de données tels qu'un type de message, un assembly ou un contrat.

Cet événement est déclenché pour tout accès à toute base de données.

RemarqueRemarque
Cela peut générer des enregistrements d'audit très volumineux.

Équivaut à la Classe d'événements Audit Database Object Access.

SCHEMA_OBJECT_ACCESS_GROUP

Cet événement est déclenché chaque fois qu'une autorisation d'objet a été utilisée dans le schéma. Équivaut à la Classe d'événements Audit Schema Object Access.

BROKER_LOGIN_GROUP

Cet événement est déclenché pour signaler des messages d'audit relatifs à la sécurité du transport Service Broker. Équivaut à la Classe d'événements Audit Broker Login.

DATABASE_MIRRORING_LOGIN_GROUP

Cet événement est déclenché pour signaler des messages d'audit relatifs à la sécurité du transport de la mise en miroir de bases de données. Équivaut à la Audit Database Mirroring Login, classe d'événements.

TRACE_CHANGE_GROUP

Cet événement est déclenché pour toutes les instructions qui vérifient l'autorisation ALTER TRACE. Équivaut à la Classe d'événements Audit Server Alter Trace.

Éléments à prendre en considération

Les groupes d'actions de niveau serveur couvrent les actions sur toute une instance de SQL Server. Par exemple, toute vérification d'accès à un objet de schéma dans une base de données est enregistrée si le groupe d'actions approprié est ajouté à une spécification de l'audit du serveur. Dans une spécification d'audit de la base de données, seuls les accès aux objets de schéma dans cette base de données sont enregistrés.

Les actions de niveau serveur ne permettent pas un filtrage détaillé des actions au niveau de la base de données. Un audit de niveau base de données, tel que l'audit d'actions SELECT sur la table Customers pour les connexions dans le groupe Employee, est requis pour implémenter le filtrage d'action détaillé. N'incluez pas d'objets dans l'étendue du serveur, tels que les vues système, dans une spécification d'audit de base de données utilisateur.

Groupes d'actions d'audit de niveau base de données

Les groupes d'actions d'audit de niveau base de données sont des actions semblables aux classes d'événements d'audit de sécurité SQL Server. Pour plus d'informations sur les classes d'événements, consultez Classes d'événements SQL Server.

Le tableau suivant décrit les groupes d'actions d'audit de niveau base de données et fournit leur Classe d'événements SQL Server équivalente le cas échéant.

Nom du groupe d'actions

Description

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une connexion est ajoutée à supprimée d'un rôle de base de données. Cette classe d'événements est utilisée avec les procédures stockées sp_addrolemember, sp_changegroup et sp_droprolemember. Équivaut à la Classe d'événements Audit Add Member to DB Role

DATABASE_OPERATION_GROUP

Cet événement est déclenché lorsque des opérations dans une base de données, telles qu'un point de contrôle ou une notification de requête d'abonnement, se produisent. Équivaut à la Classe d'événements Audit Database Operation.

DATABASE_CHANGE_GROUP

Cet événement est déclenché lors de la création, de la modification ou de la suppression d'une base de données. Équivaut à la Classe d'événements Audit Database Management.

DATABASE_OBJECT_CHANGE_GROUP

Cet événement est déclenché lorsqu'une instruction CREATE, ALTER ou DROP est exécutée sur des objets de base de données, tels que des schémas. Équivaut à la Classe d'événements Audit Database Object Management.

DATABASE_PRINCIPAL_CHANGE_GROUP

Cet événement est déclenché lorsque des entités, telles que des utilisateurs, sont créées, modifiées ou supprimées d'une base de données. Équivaut à la Classe d'événements Audit Database Principal Management. Équivaut également à la Classe d'événements Audit Add DB User, qui se produit sur les procédures stockées abandonnées sp_grantdbaccess, sp_revokedbaccess, sp_adduser et sp_dropuser.

Cet événement est déclenché chaque fois qu'un rôle de base de données est ajouté ou supprimé à l'aide des procédures stockées sp_addrole et sp_droprole désapprouvées. Équivaut à la Classe d'événements Audit Add Role.

SCHEMA_OBJECT_CHANGE_GROUP

Cet événement est déclenché lorsqu'une opération CREATE, ALTER ou DROP est effectuée sur un schéma. Équivaut à la Classe d'événements Audit Schema Object Management.

Cet événement est déclenché sur les objets de schéma. Équivaut à la Classe d'événements Audit Object Derived Permission. Équivaut également à la Classe d'événements Audit Statement Permission.

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

Cet événement est déclenché en cas d'emprunt d'identité dans la portée de la base de données, tel que EXECUTE AS <utilisateur> ou SETUSER. Équivaut à la Classe d'événements Audit Database Principal Impersonation.

DATABASE_OWNERSHIP_CHANGE_GROUP

Cet événement est déclenché lorsque vous utilisez l'instruction ALTER AUTHORIZATION pour changer le propriétaire d'une base de données et que les autorisations requises à cet effet sont activées. Équivaut à la Classe d'événements Audit Change Database Owner.

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

Cet événement est déclenché lorsqu'une modification de propriétaire pour des objets dans la portée de la base de données a lieu. Équivaut à la Classe d'événements Audit Database Object Take Ownership.

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

Équivalent à la classe d'événements Audit Schema Object Take Ownership. Cet événement est déclenché lorsque les autorisations nécessaires pour modifier le propriétaire d'un objet de schéma, tel qu'une table, procédure ou fonction, sont activées. Cela intervient lorsque l'instruction ALTER AUTHORIZATION est utilisée pour affecter un propriétaire à un objet.

DATABASE_PERMISSION_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une instruction GRANT, REVOKE ou DENY est émise pour une autorisation d'instruction par tout utilisateur dans SQL Server pour les événements de base de données uniquement, tels que l'accord d'autorisations sur une base de données. Équivaut à la Classe d'événements Audit Database Scope GDR.

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

Cet événement est déclenché lorsqu'une instruction GRANT, REVOKE ou DENY a été émise pour des objets de base de données, tels que des assemblys et des schémas. Équivaut à la Classe d'événements Audit Database Object GDR.

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

Cet événement est déclenché chaque fois qu'une opération d'accord, de refus ou de révocation est émise pour un objet de schéma. Équivaut à la Classe d'événements Audit Schema Object GDR.

DATABASE_OBJECT_ACCESS_GROUP

Cet événement est déclenché en cas d'accès à des objets de base de données tels que des certificats et des clés asymétriques. Équivaut à la Classe d'événements Audit Database Object Access.

SCHEMA_OBJECT_ACCESS_GROUP

Cet événement est déclenché chaque fois qu'une autorisation d'objet a été utilisée dans le schéma. Équivaut à la Classe d'événements Audit Schema Object Access.

Actions d'audit de niveau base de données

Les actions de niveau base de données prennent en charge l'audit d'actions spécifiques directement sur le schéma de base de données et sur les objets de schéma, tels que les tables, les vues, les procédures stockées, les fonctions, les procédures stockées étendues, les files d'attente, les synonymes. Les types, les collections de schémas XML, les bases de données et les schémas ne sont pas audités. L'audit d'objets de schéma peut être configuré sur le schéma et la base de données, ce qui signifie que les événements de tous les objets de schéma contenus dans le schéma ou la base de données spécifié seront audités. Le tableau suivant décrit les actions d'audit de niveau base de données.

Action

Description

SELECT

Cet événement est déclenché chaque fois qu'une instruction SELECT est exécutée.

UPDATE

Cet événement est déclenché chaque fois qu'une instruction UPDATE est exécutée.

INSERT

Cet événement est déclenché chaque fois qu'une instruction INSERT est exécutée.

DELETE

Cet événement est déclenché chaque fois qu'une instruction DELETE est exécutée.

EXECUTE

Cet événement est déclenché chaque fois qu'une instruction EXECUTE est exécutée.

RECEIVE

Cet événement est déclenché chaque fois qu'une instruction RECEIVE est exécutée.

REFERENCES

Cet événement est déclenché chaque fois qu'une autorisation REFERENCES est vérifiée.

Éléments à prendre en considération

Les actions d'audit de niveau base de données ne s'appliquent pas aux colonnes.

Lorsque le processeur de requêtes paramètre la requête, le paramètre peut apparaître dans le journal des événements d'audit au lieu des valeurs de colonnes de la requête.

Groupes d'actions d'audit de niveau audit

Vous pouvez également auditer les actions dans le processus d'audit. Ce peut être dans la portée du serveur ou dans la portée de la base de données. Dans la portée de la base de données, cela se produit seulement pour les spécifications d'audit de la base de données. Le tableau suivant décrit les groupes d'actions d'audit de niveau audit.

Nom du groupe d'actions

Description

AUDIT_CHANGE_GROUP

Cet événement est déclenché chaque fois que l'une des commandes suivantes est exécutée :

  • CREATE SERVER AUDIT

  • ALTER SERVER AUDIT

  • DROP SERVER AUDIT

  • CREATE SERVER AUDIT SPECIFICATION

  • ALTER SERVER AUDIT SPECIFICATION

  • DROP SERVER AUDIT SPECIFICATION

  • CREATE DATABASE AUDIT SPECIFICATION

  • ALTER DATABASE AUDIT SPECIFICATION

  • DROP DATABASE AUDIT SPECIFICATION

Voir aussi

Référence

Concepts