Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :✅ Point de terminaison d'analyses SQL et entrepôt de données dans Microsoft Fabric
L’audit dans Fabric Data Warehouse offre des fonctionnalités de sécurité et de conformité renforcées grâce au suivi et à l’enregistrement des événements de base de données.
En utilisant des journaux d’audit SQL, vous pouvez surveiller les activités de la base de données, détecter les menaces potentielles à la sécurité et répondre aux exigences de conformité en maintenant une trace d’audit des actions clés, telles que :
- Tentatives d’authentification et modifications du contrôle d’accès
- Opérations d’accès et de modification des données
- Modifications de schéma et activités administratives
- Modifications d’autorisation et configurations de sécurité
Important
Par défaut, les journaux d’audit SQL sont OFF. Les utilisateurs disposant des autorisations Requêtes d’audit doivent l’activer afin de capturer les logs.
Pour commencer, passez en revue les étapes de configuration des journaux d’audit SQL dans Fabric Data Warehouse.
Stockage
Les journaux d’audit SQL sont chiffrés au repos et stockés dans OneLake.
Pour Fabric Data Warehouse, les journaux d’audit sont enregistrés dans .XEL des fichiers stockés dans le dossier Audit de l’entrepôt dans OneLake.
Les utilisateurs disposant des rôles suivants peuvent accéder au dossier d’audit :
- Administrateurs de l’espace de travail
- Membres de l’espace de travail
- Espace de travail Contributeurs
- Utilisateurs de l’espace de travail avec l'autorisation 'Lire tout'
Ces utilisateurs peuvent :
- Parcourir le dossier Audit
- Afficher les fichiers d’audit
.XELgénérés par l’audit SQL - Copier les fichiers pour l’analyse hors connexion
- Ouvrez les fichiers avec des outils tels que SQL Server Management Studio (SSMS)
Vous pouvez également interroger des journaux d’audit avec T-SQL via sys.fn_get_audit_file_v2.
Pour obtenir des instructions, consultez Comment configurer les journaux d’audit SQL dans Fabric Data Warehouse.
Conseil / Astuce
La configuration des journaux d’audit dans Microsoft Fabric Data Warehouse peut augmenter les coûts de stockage en fonction des groupes d’actions et des événements enregistrés. Activez uniquement les événements requis pour éviter les coûts de stockage inutiles.
Performance
La fonctionnalité des journaux d’audit SQL est optimisée pour la disponibilité et la performance de la base de données auditée. Pendant les périodes d’activité très élevée ou de charge réseau élevée, la fonctionnalité d’audit peut permettre la poursuite des transactions sans enregistrer tous les événements marqués pour l’audit.
Autorisations
Les utilisateurs doivent disposer de l’autorisation Requêtes d’audit (Audit) pour configurer et interroger les journaux d’audit.
- Par défaut, les administrateurs espace de travail disposent des autorisations requêtes d’audit pour tous les éléments de l’espace de travail.
- Les administrateurs peuvent accorder des permissions d’interrogation d’audit sur des éléments à d’autres utilisateurs via la boîte de dialogue de partage.
Les administrateurs d’espace de travail peuvent accorder des permissions de requêtes d’audit à un élément en utilisant l’option de menu partagé du portail Fabric. Pour vérifier si un utilisateur a des autorisations requêtes Audit, vérifiez les paramètres de Gérer les autorisations.
Dans votre élément Warehouse, sélectionnez le bouton Partager .
Ou, dans le portail Fabric, dans votre espace de travail. Sélectionnez le
...menu contextuel de votre élément Warehouse, sélectionnez Gérer les autorisations.Dans le volet Accorder des accès, accorder des permissions à un utilisateur.
Auditer les journaux de requête en utilisant les permissions T-SQL
Accordez aux utilisateurs la VIEW DATABASE SECURITY AUDIT permission pour qu’ils puissent interroger les journaux d’audit en utilisant les permissions T-SQL, même s’ils n’ont pas de fonctions administratives d’espace de travail.
Lorsque vous accordez l’autorisation suivante, un utilisateur peut interroger les journaux d’audit en utilisant la sys.fn_get_audit_file_v2 fonction suivante :
GRANT VIEW DATABASE SECURITY AUDIT TO [user];
Conseil / Astuce
Cette VIEW DATABASE SECURITY AUDIT permission ne permet qu’à interroger les journaux d’audit. Il n’accorde pas l’accès aux fichiers ni la permission de modifier la configuration de l’audit.
Groupes d’actions et actions d’audit au niveau de la base de données
Pour rendre la configuration du journal d’audit plus accessible, le portail Fabric utilise des noms conviviaux pour aider les administrateurs non-SQL et d’autres utilisateurs à comprendre facilement les événements Fabric Data Warehouse capturés.
Fabric mappe ces noms conviviaux aux groupes d’actions d’audit SQL sous-jacents. Utilisez la table suivante comme référence.
| Nom convivial | Nom du groupe d’actions | Descriptif |
|---|---|---|
| Accès à l’objet | DATABASE_OBJECT_ACCESS_GROUP |
Enregistre l’accès aux objets de base de données tels que les types de messages, les assemblys ou les contrats. |
| L’objet a été modifié | DATABASE_OBJECT_CHANGE_GROUP |
Consigner les opérations CREATE, ALTER, ou DROP sur des objets de base de données. |
| Propriétaire de l’objet modifié | DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
Enregistre les modifications de propriété des objets de base de données. |
| L’autorisation d’objet a été modifiée | DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
Enregistre les actions GRANT, REVOKE, ou DENY sur des objets de base de données. |
| L’utilisateur a été modifié | DATABASE_PRINCIPAL_CHANGE_GROUP |
Journalise la création, modification ou suppression de principaux de base de données (utilisateurs, rôles). |
| L’utilisateur a été usurpé d'identité | DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
Journalise les opérations d’emprunt d’identité (telles que EXECUTE AS). |
| Le membre de rôle a été modifié | DATABASE_ROLE_MEMBER_CHANGE_GROUP |
Enregistre l’ajout ou la suppression de connexions à partir d’un rôle de base de données. |
| L’utilisateur n’a pas pu se connecter | FAILED_DATABASE_AUTHENTICATION_GROUP |
Consigne les tentatives d’authentification échouées dans la base de données. |
| L’autorisation de schéma a été utilisée | SCHEMA_OBJECT_ACCESS_GROUP |
Journalise l’accès aux objets de schéma. |
| Le schéma a été modifié | SCHEMA_OBJECT_CHANGE_GROUP |
Journalise les opérations CREATE, ALTER, ou DROP sur les schémas. |
| L’autorisation de l’objet de schéma a été vérifiée | SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
Enregistre les modifications apportées à la propriété de l’objet de schéma. |
| L’autorisation de l’objet de schéma a été modifiée | SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
Journalise les actions GRANT, REVOKE ou DENY sur les objets de schéma. |
| Batch a été terminé | BATCH_COMPLETED_GROUP |
Cet événement se déclenche chaque fois que l’exécution d’une opération de gestion de transaction, de texte de lot ou de procédure stockée se termine. |
| Le batch a été lancé | BATCH_STARTED_GROUP |
Cet événement se déclenche chaque fois que l'exécution de texte par lot, de procédure stockée ou d'opérations de gestion de transactions commence. |
| L’audit a été modifié | AUDIT_CHANGE_GROUP |
Cet événement est déclenché chaque fois qu’un audit est créé, modifié ou supprimé. |
| Utilisateur déconnecté | DATABASE_LOGOUT_GROUP |
Cet événement est déclenché lorsqu’un utilisateur de base de données se déconnecte d’une base de données. |
| Utilisateur connecté | SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP |
Indique qu’un principal s’est connecté avec succès à une base de données. |
Actions d'audit de niveau base de données
En plus des groupes d’actions, vous pouvez configurer des actions d’audit individuelles pour consigner des événements de base de données spécifiques :
| Action d’audit | Descriptif |
|---|---|
SELECT |
Enregistre les instructions SELECT sur un objet spécifié. |
INSERT |
Journalise INSERT opérations sur un objet spécifié. |
UPDATE |
Journalise UPDATE opérations sur un objet spécifié. |
DELETE |
Journalise DELETE opérations sur un objet spécifié. |
EXECUTE |
Enregistre l’exécution de procédures stockées ou de fonctions. |
RECEIVE |
Journalise les opérations RECEIVE sur les files d’attente Service Broker. |
REFERENCES |
Journalise les vérifications d’autorisation impliquant des contraintes de clé étrangère. |
Réduire le bruit d’audit grâce au filtrage des prédicats
Pour filtrer les événements capturés, utilisez le filtre optionnel d’expression des prédicats .
Utilisez le filtrage des prédicats pour réduire le bruit lié aux activités répétitives attendues, telles que les identités d’automatisation, les responsables de service ou les tâches planifiées, sans avoir à désactiver les groupes d’actions dont votre organisation a besoin pour la conformité ou l’enquête.
- Ce n’est que lorsqu’un événement correspond au prédicat configuré que l’événement du journal d’audit SQL pour cette action est généré.
- Le filtrage a lieu avant que l’événement ne soit écrit, donc les événements exclus ne sont pas disponibles ultérieurement pour une investigation rétroactive. Considérez les exclusions de prédicats comme une décision délibérée de politique d’audit, et révisez périodiquement le prédicat configuré au fur et à mesure que la propriété, les autorisations et les profils de risque changent.
- Le filtrage des prédicats n’évalue que les événements déjà configurés pour être capturés par un groupe d’actions ou une action d’audit activée.
- Si le groupe d’actions sous-jacent n’est pas activé, aucun événement n’est généré pour que le prédicat puisse l’évaluer, et le filtre n’a aucun effet. Par exemple, pour filtrer
SELECTles instructions utilisant un prédicat sur lestatementchamp, vous devez d’abord activer le groupe d’actions Batch Was Completed (BATCH_COMPLETED_GROUP).
- Si le groupe d’actions sous-jacent n’est pas activé, aucun événement n’est généré pour que le prédicat puisse l’évaluer, et le filtre n’a aucun effet. Par exemple, pour filtrer
Vous pouvez configurer une expression de prédicat en utilisant le portail Fabric ou l’API REST. Pour les étapes, voir Configurer une expression de prédicat.
Syntaxe des expressions des prédicats
Les expressions de prédicat utilisent la même syntaxe que la <predicate_expression> clause de CREATE SERVER AUDIT (Transact-SQL), sans le WHERE mot-clé :
<predicate_expression> ::=
{ [ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ] [ ,... n ] }
<predicate_factor> ::=
event_field_name { = | <> | != | > | >= | < | <= | LIKE }
{ number | 'string' }
-
event_field_namecorrespond à une colonne retournée par sys.fn_get_audit_file (Transact-SQL). Vous pouvez utiliser toutes les colonnes documentées, sauffile_name,audit_file_offset, etevent_time. -
action_idetclass_typesont des chaînes, mais on ne peut les comparer qu’aux valeurs numériques d’un prédicat. - Les comparaisons de chaînes n’effectuent pas la conversion implicite des types.
- La longueur maximale d’expression est de 3 000 caractères.
- Une chaîne vide signifie qu’aucun prédicat n’est appliqué.
Par exemple, pour exclure une activité générée par un principal de service ou une identité d’automatisation connue, filtrez sur server_principal_name. Pour exclure les énoncés répétitifs SELECT , filtrez sur le statement champ : NOT statement LIKE 'SELECT %'.
Limites
- Votre espace de travail par défaut ne prend pas en charge les journaux d’audit SQL.
- Les journaux d’audit SQL ne sont pas pris en charge pour les instantanés d’entrepôt.
Important
Les journaux d’audit sont stockés dans l’élément Warehouse dans OneLake. Si vous supprimez l’entrepôt, vous supprimez également les fichiers journaux d’audit associés et ne pouvez plus y accéder.
Pour conserver les journaux d’audit à des fins de conformité ou d’investigation, copiez les .XEL fichiers vers un autre emplacement de stockage avant de supprimer l’entrepôt.
Limitations des points de terminaison d'analyse SQL
Les limitations suivantes s’appliquent lors de l’audit des points de terminaison d’analytique SQL :
- Les opérations DML ne sont pas capturées. L’audit n’enregistre pas les opérations telles que
INSERT,UPDATE,DELETEetMERGEparce que la manipulation des données pour les tables Lakehouse se produit par le biais du runtime Lakehouse plutôt que par le biais du point de terminaison d’analyse SQL. - L’accès direct au dossier d’audit n’est actuellement pas pris en charge. Les utilisateurs ne peuvent pas parcourir ou télécharger les fichiers d’audit sous-jacents
.XELà partir du dossier d’audit Lakehouse.
Vous pouvez toujours interroger des événements d’audit pour les terminaux d’analyse SQL en utilisant la fonction sys.fn_get_audit_file_v2T-SQL.