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é.
Remarque
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.
Remarque
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 :
|
Voir aussi