Créer une spécification de l’audit du serveur et de la base de données
S'applique à : SQL Server
Cet article décrit comment créer une spécification pour l’audit de serveur et l’audit de base de données en utilisant SQL Server Management Studio ou Transact-SQL (T-SQL).
L’audit d’une instance de SQL Server ou d’une base de données SQL Server implique le suivi et la journalisation des événements qui se produisent sur le système. L’objet Audit SQL Server collecte une seule instance des actions et des groupes d’actions au niveau du serveur ou au niveau de la base de données à superviser. L’audit s’effectue au niveau de l’instance SQL Server. Vous pouvez exécuter plusieurs audits par instance SQL Server. L’objet Spécification d’audit de niveau base de données appartient à un audit. Vous pouvez créer une spécification d'audit de base de données par base de données SQL Server et par audit. Pour plus d’informations, consultez Audit SQL Server (moteur de base de données).
Limites
Les spécifications d'audit de base de données sont des objets non sécurisables qui résident dans une base de données spécifiée. Lorsqu’une spécification d’audit de base de données est créée, elle se trouve dans un état désactivé.
Lorsque vous créez ou modifiez une spécification d’audit de base de données dans une base de données utilisateur, n’incluez pas d’actions d’audit sur les objets situés dans l’étendue du serveur, tels que les vues système. Si vous le faites, l’audit est créé. Toutefois, les objets situés dans l’étendue du serveur ne sont pas inclus, et aucune erreur n’est retournée. Pour auditer les objets situés dans l’étendue du serveur, utilisez une spécification d’audit de base de données dans la base de données master
.
Les spécifications d’audit de base de données résident dans la base de données où elles sont créées, à l’exception de la base de données système tempdb
.
autorisations
Les utilisateurs disposant de l’autorisation
ALTER ANY DATABASE AUDIT
peuvent créer des spécifications d’audit de base de données et les lier à n’importe quel audit.Une fois qu’une spécification d’audit de base de données est créée, les principaux qui disposent des autorisations
CONTROL SERVER
ouALTER ANY DATABASE AUDIT
peuvent la voir. Le comptesysadmin
peut également la voir.
Utiliser SQL Server Management Studio
Créer un audit de serveur
Dans l'Explorateur d'objets, développez le dossier Sécurité .
Cliquez avec le bouton droit sur le dossier Audits, puis sélectionnez Nouvel audit. Pour plus d’informations, consultez Créer un audit du serveur et une spécification d'audit du serveur.
Lorsque vous avez sélectionné les options, sélectionnez OK.
Créer une spécification d'audit de niveau base de données
Dans l’Explorateur d’objets, développez la base de données dans laquelle vous souhaitez créer la spécification d’audit.
Développez le dossier Sécurité .
Cliquez avec le bouton droit sur le dossier Spécifications de l’audit de la base de données, puis sélectionnez Nouvelle spécification de l’audit de la base de données.
Ces options sont disponibles dans la boîte de dialogue Créer la spécification de l’audit de la base de données :
Nom
Nom de la spécification de l'audit de la base de données. Un nom est généré automatiquement lorsque vous créez une spécification d’audit de serveur. Le nom est modifiable.
Audit
Nom d’un objet d’audit de serveur existant. Tapez le nom de l'audit ou sélectionnez-le dans la liste.
Type d'action de l'audit
Spécifie les groupes d'actions d'audit de niveau base de données et les actions d'audit à capturer. Pour obtenir la liste des groupes d’actions d’audit au niveau de la base de données et des actions d’audit et des descriptions des événements qu’ils contiennent, consultez les groupes et actions d’audit SQL Server.
Schéma d'objet
Affiche le schéma du Nom de l’objetspécifié.
Nom de l’objet
Nom de l'objet à auditer. Cette option est disponible uniquement pour les actions d’audit. Elle ne s’applique pas aux groupes d’audit.
Points de suspension (...)
Ouvre la boîte de dialogue Sélectionner des objets permettant de rechercher et de sélectionner un objet disponible, en fonction du Type d’action de l’audit spécifié.
Nom principal
Compte par lequel filtrer l'audit pour l'objet audité.
Points de suspension (...)
Ouvre la boîte de dialogue Sélectionner des objets permettant de rechercher et de sélectionner un objet disponible, en fonction du Nom d’objet spécifié.
Lorsque vous avez sélectionné les options, sélectionnez OK.
Utiliser Transact-SQL
Créer un audit de serveur
Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter.
USE master; GO -- Create the server audit. CREATE SERVER AUDIT Payroll_Security_Audit TO FILE (FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA'); GO -- Enable the server audit. ALTER SERVER AUDIT Payroll_Security_Audit WITH (STATE = ON);
Créer une spécification d'audit de niveau base de données
Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
Collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple crée une spécification d’audit de serveur nommée
Audit_Pay_Tables
. Il audite les instructions SELECT et INSERT de l’utilisateurdbo
pour la tableHumanResources.EmployeePayHistory
, en fonction de l’audit de serveur défini dans la section précédente.USE AdventureWorks2022; GO -- Create the database audit specification. CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables FOR SERVER AUDIT Payroll_Security_Audit ADD ( SELECT, INSERT ON HumanResources.EmployeePayHistory BY dbo ) WITH (STATE = ON); GO