S'applique à :✅ Entrepôt dans Microsoft Fabric
L’audit dans Fabric Data Warehouse offre des fonctionnalités de sécurité et de conformité améliorées en effectuant le suivi et l’enregistrement des événements de base de données.
Vous pouvez configurer des journaux d’audit SQL dans Fabric Data Warehouse dans le portail Fabric ou via l’API REST.
Conditions préalables
Pour configurer les journaux d’audit SQL pour Fabric Data Warehouse, vous avez besoin des éléments suivants :
- Un espace de travail Fabric avec une capacité active ou une capacité d’essai.
- Accès à un article d’entrepôt dans un espace de travail.
-
Autorisation d’audit pour configurer et interroger les journaux d’audit. Pour plus d’informations, voir Autorisations.
Vous pouvez configurer des journaux d’audit SQL en utilisant le portail Fabric ou l’API REST.
Dans votre espace de travail Fabric, sélectionnez les paramètres de votre élément d’entrepôt.
Sélectionnez la page des journaux d’audit SQL.
Activez le paramètre Enregistrer les événements dans les journaux d’audit SQL.
Par défaut, toutes les actions sont activées et conservées pendant neuf ans.
Dans la section Événements à enregistrer, sélectionnez quels événements les journaux d’audit SQL capturent. Sélectionnez les catégories d’événements ou les groupes d’actions d’audit individuels que vous souhaitez capturer. Sélectionnez uniquement les événements dont votre organisation a besoin pour optimiser le stockage et la pertinence.
En option, saisissez une expression de prédicat pour filtrer les événements, comme exclure une activité d’un principal de service connu ou d’une identité d’automatisation. Utilisez la syntaxe décrite dans la syntaxe des expressions de prédicat.
Important
Le filtrage des prédicats ne s’applique qu’aux événements déjà sélectionnés sous Événements à enregistrer. Par exemple, pour filtrer SELECT les instructions, vous devez également activer « Batch Was Completed ».
Spécifiez une période de rétention de journal souhaitée en années, mois et jours.
Sélectionnez Enregistrer pour appliquer vos paramètres.
Votre entrepôt enregistre désormais les événements d’audit sélectionnés et stocke les journaux en toute sécurité dans OneLake.
Téléchargez et installez Visual Studio Code.
Installez l’extension client REST à partir de la Place de marché Visual Studio.
Obtenez le jeton porteur en suivant ces étapes. Vous pouvez trouver votre jeton porteur Power BI dans les outils développeur de votre navigateur ou via PowerShell.
Pour utiliser les outils de développement Edge pour trouver votre jeton d’accès de Power BI :
- Ouvrez votre espace de travail Microsoft Fabric dans un navigateur (Microsoft Edge).
- Appuyez sur F12 pour ouvrir les Outils de développement.
- Sélectionnez l’onglet Console. Si nécessaire, sélectionnez Développer Affichage rapide pour faire apparaître l’invite de console
>.
- Tapez la commande
powerBIAccessToken, puis appuyez sur Entrée. Cliquez avec le bouton droit sur la grande chaîne unique retournée dans la console, puis sélectionnez Copier le contenu de la chaîne.
- Collez le contenu à la place de
<bearer token> dans les scripts suivants.
Pour utiliser PowerShell pour rechercher votre jeton d'authentification de Power BI:
Installez le module MicrosoftPowerBIMgmt depuis les Cmdlets Microsoft Power BI pour Windows PowerShell et PowerShell Core.
Install-Module -Name MicrosoftPowerBIMgmt
Utilisez Connect-PowerBIServiceAccount pour vous connecter à Power BI PowerShell et récupérer le jeton du porteur.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Après avoir obtenu le jeton porteur Power BI, envoyez une PATCH requête en utilisant l’extension client REST. Dans VS Code, créez un nouveau fichier texte avec l’extension .http .
Copiez et collez la requête suivante :
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
{
"state": "Enabled",
"retentionDays": "0"
}
- Remplacez
<workspaceId> et <warehouseId> par les ID de l’espace de travail et de l’entrepôt Fabric correspondants. Pour trouver ces valeurs, rendez-vous dans votre entrepôt sur le portail Fabric.
-
<workspaceID> : recherchez le GUID de l’espace de travail dans l’URL après la section /groups/, ou en exécutant SELECT @@SERVERNAME dans un entrepôt existant. Par exemple : 11aaa111-a11a-1111-1aaa-aa111111aaa. N’incluez pas les caractères /.
-
<warehouseID> : recherchez le GUID de l’entrepôt directement dans l’URL après la section /warehouses/, ou en exécutant SELECT @@SERVERNAME dans un entrepôt existant. Par exemple : 11aaa111-a11a-1111-1aaa-aa111111aaa. N’incluez pas les caractères /.
- Remplacez
<BEARER_TOKEN> par votre jeton d'accès.
- Réglez
state pour Enabled activer l’audit (utilisez Disabled pour l’éteindre).
- Réglez le
retentionDays paramètre sur 0 une rétention illimitée. Il s’agit du paramètre par défaut.
Important
Dans l’exemple de code d’extension, vous devez inclure une ligne vide immédiatement après avoir fourni le jeton du porteur. Cette ligne vide signale l’extension où se terminent les en-têtes HTTP et commence le corps de commande de l’API, afin que l’API puisse correctement distinguer les deux.
Sélectionnez Envoyer une demande.
Vérifier l’état du journal d’audit avec l’API REST
Pour vérifier si les journaux d’audit SQL sont activés, envoyez une requête GET en utilisant la même extension client REST.
- Dans VS Code, créez un nouveau fichier texte avec l’extension
.http .
- Copiez et collez la requête suivante, en indiquant vos propres valeurs
workspaceId, <warehouseId> et <BEARER_TOKEN>.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
La réponse retourne ENABLED ou DISABLED et la configuration actuelle de auditActionsAndGroups et predicateExpression.
Les journaux d’audit SQL se basent sur des groupes d’actions prédéfinis qui capturent des événements spécifiques dans la base de données. Pour plus d’informations sur les groupes d’actions d’audit, consultez les journaux d’audit SQL dans Fabric Data Warehouse.
Dans VS Code, créez un nouveau fichier texte avec l’extension .http .
Copiez et collez la requête suivante, en indiquant vos propres valeurs workspaceId, <warehouseId> et <BEARER_TOKEN>.
POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
[ "DATABASE_OBJECT_PERMISSION_CHANGE_GROUP" ]
Sélectionnez Envoyer une demande.
Utilisez la même PATCH requête API pour configurer une expression de prédicat qui exclut la génération d’événements spécifiques, tels que l’activité provenant d’un principal de service connu ou une identité d’automatisation. Pour la syntaxe complète des prédicats, voir Syntaxe d’expression des prédicats.
Dans VS Code, créez un nouveau fichier texte avec l’extension .http .
Copiez et collez la requête suivante, en indiquant vos propres valeurs workspaceId, <warehouseId> et <BEARER_TOKEN>.
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: ******
{
"state": "Enabled",
"retentionDays": 10,
"predicateExpression": "NOT statement LIKE 'SELECT %'"
}
- Cet exemple exclut
SELECT les instructions d’être auditées par filtrage sur le statement champ.
- Lorsque vous activez l’audit SQL pour la première fois, l’omission
predicateExpression ne s’applique à aucun prédicat. Lors des mises à jour ultérieures, l’omettre laisse le prédicat existant inchangé. Spécifiez une chaîne vide ("") pour supprimer un prédicat existant.
Important
Le filtrage des prédicats n’évalue que les événements déjà configurés pour être capturés. Pour filtrer SELECT les instructions comme montré dans cet exemple, vous devez également activer le groupe d’actions Batch Was Completed (BATCH_COMPLETED_GROUP). Pour plus d’informations, voir Groupes d’actions et actions d’audit au niveau de la base de données.
Sélectionnez Envoyer une demande.
Interroger les journaux d’audit
Les données de journal d’audit SQL sont stockées dans . XEL dans le OneLake. Vous pouvez accéder à ces données en utilisant la fonction sys.fn_get_audit_file_v2 Transact-SQL (T-SQL). Pour plus d’informations sur la manière dont les fichiers d’audit sont stockés dans OneLake, consultez les journaux d’audit SQL dans Fabric Data Warehouse.
Depuis l’éditeur de requêtes SQL ou tout outil de requête tel que SQL Server Management Studio (SSMS) ou l’extension MSSQL pour Visual Studio Code, utilisez les exemples suivants de requêtes T-SQL. Assurez-vous de fournir vos propres <workspaceId> et <warehouseId>.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
Pour filtrer les journaux par plage de temps, utilisez la requête suivante :
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, '2025-03-30T08:40:40Z', '2025-03-30T09:10:40Z');
Contenu connexe