Partager via


Créer une spécification d’audit de serveur et d’audit de base de données

Cette rubrique explique comment créer une spécification d’audit de serveur et d’audit de base de données dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-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 d’actions au niveau du serveur ou de la base de données et des groupes d’actions à surveiller. L’audit est au niveau de l’instance SQL Server. Vous pouvez avoir plusieurs audits par instance SQL Server. L’objetDatabase-Level Audit Specification appartient à un audit. Vous pouvez créer une spécification d’audit de base de données par base de données SQL Server par audit. Pour plus d’informations, consultez Audit SQL Server (moteur de base de données).

Dans cette rubrique

Avant de commencer

Limitations et restrictions

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 donnée. Lorsqu’une spécification d’audit de base de données est créée, elle est 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 des objets d’étendue de serveur, tels que les vues système. Si des objets au niveau du serveur sont inclus, l’audit sera créé. Toutefois, les objets délimités par le serveur ne sont pas inclus et aucune erreur n’est retournée. Pour auditer les objets d’é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 tempdb base de données système.

Sécurité

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, elle peut être consultée par des principaux avec les autorisations CONTROL SERVER, ALTER ANY DATABASE AUDIT ou le compte sysadmin.

Utilisation de SQL Server Management Studio

Pour créer un audit de serveur

  1. Dans l'Explorateur d'objets, développez le dossier Sécurité .

  2. Cliquez avec le bouton droit sur le dossier Audits et sélectionnez Nouvel audit.... Pour plus d’informations, consultez Créer une spécification d’audit de serveur et d’audit de serveur.

  3. Lorsque vous avez terminé de sélectionner des options, cliquez sur OK.

Pour créer une spécification d’audit au niveau de la base de données

  1. Dans l’Explorateur d’objets, développez la base de données dans laquelle vous souhaitez créer une spécification d’audit.

  2. Développez le dossier Sécurité .

  3. Cliquez avec le bouton droit sur le dossier Spécifications d’audit de basede données et sélectionnez Nouvelle spécification d’audit de base de données....

    Les options suivantes sont disponibles dans la boîte de dialogue Créer une spécification d’audit de base de données .

    Nom
    Nom de la spécification d’audit de base de données. Cette opération est générée automatiquement lorsque vous créez une spécification d’audit de serveur, mais qu’elle est modifiable.

    Audit
    Nom d’un audit de base de données existant. Tapez le nom de l’audit ou sélectionnez-le dans la liste.

    Type d’action d’audit
    Spécifie les groupes d’actions d’audit au niveau de la 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 une description 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 d’objet spécifié.

    nom de l’objet
    Nom de l’objet à auditer. Cela n’est disponible que 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 pour rechercher et sélectionner un objet disponible, en fonction du type d’action Audit spécifié.

    Nom du principal
    Le compte par lequel filtrer l'audit pour l'objet audité.

    Points de suspension (...)
    Ouvre la boîte de dialogue Sélectionner des objets pour rechercher et sélectionner un objet disponible, en fonction du nom de l’objet spécifié.

  4. Lorsque vous avez terminé de sélectionner l’option, cliquez sur OK.

Utilisation de Transact-SQL

Pour créer un audit de serveur

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA' ) ;   
    GO  
    -- Enable the server audit.   
    ALTER SERVER AUDIT Payrole_Security_Audit   
    WITH (STATE = ON) ;  
    

Pour créer une spécification d’audit au niveau de la base de données

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. L’exemple crée une spécification d’audit de base de données appelée Audit_Pay_Tables qui audite les instructions SELECT et INSERT par l’utilisateur dbo pour la table HumanResources.EmployeePayHistory, sur la base de l’audit du serveur défini ci-dessus.

    USE AdventureWorks2012 ;   
    GO  
    -- Create the database audit specification.   
    CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables  
    FOR SERVER AUDIT Payrole_Security_Audit  
    ADD (SELECT , INSERT  
         ON HumanResources.EmployeePayHistory BY dbo )   
    WITH (STATE = ON) ;   
    GO  
    
    

Pour plus d’informations, consultez CREATE SERVER AUDIT (Transact-SQL) et CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).