Van toepassing op:✅ Magazijn in Microsoft Fabric
Auditing in Fabric Data Warehouse biedt verbeterde beveiligings- en nalevingsmogelijkheden door databasegebeurtenissen bij te houden en vast te leggen.
U kunt SQL-auditlogboeken configureren in Fabric Data Warehouse in de Fabric-portal of via REST API.
Vereiste voorwaarden
Om SQL-auditlogs voor Fabric Data Warehouse te configureren, heb je de volgende items nodig:
- Een Fabric-werkruimte met een actieve capaciteit of proefcapaciteit.
- Toegang tot een magazijnitem binnen een werkruimte.
-
Auditrecht om auditlogs te configureren en op te vragen. Zie Machtigingen voor meer informatie.
Je kunt SQL-auditlogs configureren door gebruik te maken van het Fabric-portaal of de REST API.
Selecteer in uw Fabric-werkruimte de instellingen van uw magazijnitem.
Selecteer de SQL-auditlogboeken pagina.
Schakel de instelling Opslaan van gebeurtenissen in op SQL-auditlogboeken.
Standaard worden alle acties ingeschakeld en gedurende negen jaar bewaard.
Selecteer onder Gebeurtenissen om op te nemen welke gebeurtenissen de SQL-auditlogs vastleggen. Selecteer de evenementcategorieën of individuele auditactiegroepen die je wilt vastleggen. Selecteer alleen de gebeurtenissen die uw organisatie nodig heeft om de opslag en relevantie te optimaliseren.
Optioneel kunt u een Predicaatexpressie invoeren om gebeurtenissen te filteren, zoals het uitsluiten van activiteit uit een bekende serviceprincipal of automatiseringsidentiteit. Gebruik de syntaxis beschreven in de Predicaatexpressiesyntaxis.
Belangrijk
Predicaatfiltering geldt alleen voor gebeurtenissen die al onder Events to record zijn geselecteerd. Om bijvoorbeeld instructies te filteren SELECT , moet je ook Batch Was Completed inschakelen.
Geef een gewenste bewaarperiode voor logboeken op in jaren, maanden en dagen.
Selecteer Opslaan om uw instellingen toe te passen.
Je magazijn registreert nu de geselecteerde auditgebeurtenissen en slaat de logs veilig op in OneLake.
Download en installeer Visual Studio Code.
Installeer de REST-clientextensie vanuit de Visual Studio Marketplace.
Krijg het toonhandertoken door deze stappen te volgen. Je kunt je Power BI bearer token vinden in de ontwikkeltools van je browser of via PowerShell.
Om de Edge-ontwikkelhulpprogramma's te gebruiken om uw Power BI bearer-token te vinden:
- Open uw Microsoft Fabric werkruimte in een browser (Microsoft Edge).
- Druk op F12 om Ontwikkelhulpprogramma's te openen.
- Selecteer het tabblad Console . Selecteer indien nodig Snelle weergave uitvouwen om de consoleprompt weer te geven
>.
- Typ de opdracht
powerBIAccessToken en druk op Enter. Klik met de rechtermuisknop op de grote unieke tekenreeks die wordt geretourneerd in de console en selecteer Tekenreeksinhoud kopiëren.
- Plak deze in plaats van
<bearer token> in de volgende scripts.
Als u PowerShell wilt gebruiken om uw Power BI bearer-token te vinden:
Installeer de module MicrosoftPowerBIMgmt vanuit Microsoft Power BI Cmdlets voor Windows PowerShell en PowerShell Core.
Install-Module -Name MicrosoftPowerBIMgmt
Gebruik Connect-PowerBIServiceAccount om verbinding te maken met Power BI PowerShell en het bearer-token op te halen.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Nadat je de Power BI bearer token hebt ontvangen, stuur je een PATCH verzoek via de REST Client-extensie. Maak in VS Code een nieuw tekstbestand aan met de .http extensie.
Kopieer en plak de volgende aanvraag:
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"
}
- Vervang
<workspaceId> en <warehouseId> door de bijbehorende Fabric-werkruimte- en magazijn-id's. Als u deze waarden wilt vinden, gaat u naar uw magazijn in de Fabric-portal.
-
<workspaceID>: Zoek de GUID van de werkruimte in de URL na de /groups/ sectie, of door de opdracht SELECT @@SERVERNAME uit te voeren in een bestaand magazijn. Bijvoorbeeld: 11aaa111-a11a-1111-1aaa-aa111111aaa. Neem de / tekens niet op.
-
<warehouseID>: zoek de magazijn-GUID in de URL na de /warehouses/ sectie of door SELECT @@SERVERNAME uit te voeren in een bestaand magazijn. Bijvoorbeeld: 11aaa111-a11a-1111-1aaa-aa111111aaa. Neem de / tekens niet op.
- Vervang
<BEARER_TOKEN> door uw bearer-token.
- Stel
state in op Enabled om auditing aan te zetten (gebruik Disabled om het uit te schakelen).
- Stel de
retentionDays parameter in op 0 onbeperkte retentie. Dit is de standaardinstelling.
Belangrijk
In de voorbeeldcode van de extensie moet u direct na het opgegeven bearer-token een lege regel opnemen. Deze lege regel geeft de extensie aan waar de HTTP-headers eindigen en de API-commandotekst begint, zodat de API correct kan onderscheiden tussen de twee.
Selecteer Aanvraag Verzenden.
Controleer de status van het auditlogboek met de REST API
Om te controleren of SQL-auditlogs zijn ingeschakeld, stuur je een GET-verzoek via dezelfde REST Client-extensie.
- Maak in VS Code een nieuw tekstbestand aan met de
.http extensie.
- Kopieer en plak de volgende aanvraag, waarbij u uw eigen
workspaceId, <warehouseId>en <BEARER_TOKEN>opgeeft.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
De respons geeft of DISABLED en de huidige configuratie van auditActionsAndGroups en predicateExpressionterug.ENABLED
SQL-auditlogboeken zijn afhankelijk van vooraf gedefinieerde actiegroepen die specifieke gebeurtenissen in de database vastleggen. Zie SQL-auditlogboeken in Fabric Data Warehouse voor meer informatie over controleactiegroepen.
Maak in VS Code een nieuw tekstbestand aan met de .http extensie.
Kopieer en plak de volgende aanvraag, waarbij u uw eigen workspaceId, <warehouseId>en <BEARER_TOKEN>opgeeft.
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" ]
Selecteer Aanvraag Verzenden.
Gebruik hetzelfde PATCH API-verzoek om een predicaatexpressie te configureren die specifieke gebeurtenissen uitsluit van het genereren van gebeurtenissen, zoals activiteit van een bekende serviceprincipal of automatiseringsidentiteit. Voor de volledige predicaatsyntaxis, zie Predicaatexpressiesyntaxis.
Maak in VS Code een nieuw tekstbestand aan met de .http extensie.
Kopieer en plak de volgende aanvraag, waarbij u uw eigen workspaceId, <warehouseId>en <BEARER_TOKEN>opgeeft.
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 %'"
}
- Dit voorbeeld sluit verklaringen
SELECT uit van auditing door filteren op het statement veld.
- Wanneer je SQL-auditing voor het eerst inschakelt, geldt weglating
predicateExpression geen predicaat. Bij latere updates blijft het weglaten ervan het bestaande predicaat ongewijzigd. Specificeer een lege string ("") om een bestaand predicaat te verwijderen.
Belangrijk
Predicaatfiltering evalueert alleen gebeurtenissen die al zijn geconfigureerd om vastgelegd te worden. Om statements te filteren SELECT zoals in dit voorbeeld getoond, moet je ook de actiegroep Batch Was Completed (BATCH_COMPLETED_GROUP) inschakelen. Voor meer informatie, zie Database-niveau auditactiegroepen en acties.
Selecteer Aanvraag Verzenden.
Query's uitvoeren op auditlogboeken
SQL auditloggegevens worden opgeslagen in . XEL-bestanden in de OneLake. Je kunt deze gegevens benaderen door gebruik te maken van de sys.fn_get_audit_file_v2 Transact-SQL (T-SQL) functie. Voor meer informatie over hoe auditbestanden worden opgeslagen in OneLake, zie SQL auditlogs in Fabric Data Warehouse.
Gebruik vanuit de SQL-queryeditor of een ander querytool zoals SQL Server Management Studio (SSMS) of de MSSQL-extensie voor Visual Studio Code de volgende voorbeeld-T-SQL-query's. Zorg ervoor dat je je eigen <workspaceId> en <warehouseId>.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
Gebruik de volgende query om logboeken te filteren op tijdsbereik:
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');
Verwante inhoud