Création et gestion d'audits avec Transact-SQL

En utilisant Management Studio ou Transact-SQL pour exécuter des instructions DDL (Data Definition Language) Transact-SQL, des vues et des fonctions de gestion dynamique ou des affichages catalogue, vous pouvez créer des solutions d'audit SQL Server simples ou complexes pour votre environnement SQL Server.

Rubriques de référence

Vous pouvez utiliser des instructions DDL, des vues et fonctions de gestion dynamique et des affichages catalogue pour implémenter tous les aspects de SQL Server Audit.

Autorisations

Chaque fonctionnalité et commande pour SQL Server Audit a des spécifications d'autorisation individuelles.

Pour créer, modifier ou supprimer un audit du serveur ou une spécification de l'audit du serveur, les entités de sécurité du serveur requièrent l'autorisation ALTER ANY SERVER AUDIT ou CONTROL SERVER. Pour créer, modifier ou supprimer une spécification de l'audit de la base de données, les entités de sécurité de la base de données requièrent l'autorisation ALTER ANY DATABASE AUDIT, ou l'autorisation ALTER ou CONTROL sur la base de données. De plus, les entités de sécurité doivent soit avoir l'autorisation de se connecter à la base de données, soit disposer des autorisations ALTER ANY SERVER AUDIT ou CONTROL SERVER.

Sauf indication contraire, la consultation des affichages catalogue nécessite qu'une entité de sécurité dispose de l'un des éléments suivants :

  • appartenance au rôle serveur fixe sysadmin ;

  • autorisation CONTROL SERVER ;

  • autorisation VIEW SERVER STATE ;

  • autorisation ALTER ANY AUDIT ;

  • autorisation VIEW AUDIT STATE (donne uniquement à l'entité de sécurité l'accès à l'affichage catalogue sys.server_audits).

Une entité de sécurité doit avoir l'autorisation VIEW SERVER STATE ou ALTER ANY AUDIT pour utiliser les vues de gestion dynamique.

Pour plus d'informations sur l'octroi de droits et d'autorisations, consultez GRANT (Transact-SQL).

AttentionAttention

Les entités de sécurité dans le rôle sysadmin peuvent falsifier tout composant d'audit et celles dans le rôle db_owner peuvent falsifier les spécifications d'audit dans une base de données. SQL Server Audit s'assure qu'une ouverture de session qui crée ou modifie une spécification d'audit possède au moins l'autorisation ALTER ANY DATABASE AUDIT. Toutefois, aucune validation n'est effectuée lorsque vous attachez une base de données. Vous devez supposer que toutes les spécifications de l'audit de la base de données sont aussi dignes de confiance que les entités de sécurité dans le rôle sysadmin ou db_owner.

Instructions DDL (Data Definition Language)

Fonctions et vues dynamiques

Le tableau suivant répertorie les vues et fonctions dynamiques que vous pouvez utiliser pour l'audit SQL Server.

Fonctions et vues dynamiques

Description

sys.dm_audit_actions

Retourne une ligne pour chaque action d'audit qui peut être signalée dans le journal d'audit et chaque groupe d'actions d'audit qui peut être configuré dans le cadre de SQL Server Audit.

sys.dm_server_audit_status

Fournit des informations sur l'état actuel de l'audit.

sys.dm_audit_class_type_map

Retourne une table qui mappe le champ class_type dans le journal d'audit au champ class_desc dans sys.dm_audit_actions.

fn_get_audit_file

Retourne des informations à partir d'un fichier d'audit créé par un audit du serveur.

Affichages catalogue

Le tableau suivant répertorie les affichages catalogue que vous pouvez utiliser pour l'audit SQL Server.

Affichages catalogue

Description

sys.database_ audit_specifications

Contient des informations sur les spécifications de l'audit de la base de données dans un audit SQL Server sur une instance de serveur.

sys.database_audit_specification_details

Contient des informations sur les spécifications de l'audit de la base de données dans un audit SQL Server sur une instance de serveur pour toutes les bases de données.

sys.server_audits

Contient une ligne pour chaque audit SQL Server dans une instance de serveur.

sys.server_audit_specifications

Contient des informations à propos des spécifications de l'audit du serveur dans un audit SQL Server sur une instance de serveur.

sys.server_audit_specifications_details

Contient des informations sur les détails (actions) d'une spécification de l'audit du serveur dans un audit SQL Server sur une instance de serveur.

sys.server_file_audits

Contient les informations détaillées des magasins à propos du type d'audit de fichier dans un audit SQL Server sur une instance de serveur.