Si applica a:✅ Warehouse in Microsoft Fabric
Il controllo in Fabric Data Warehouse offre funzionalità avanzate di sicurezza e conformità monitorando e registrando gli eventi del database.
È possibile configurare i log di controllo SQL in Fabric Data Warehouse nel portale di Fabric o tramite l'API REST.
Prerequisiti
Per configurare i log di audit SQL per Fabric Data Warehouse, servono i seguenti elementi:
- Un'area di lavoro Fabric con capacità attiva o capacità di prova.
- Accesso a un articolo Warehouse all'interno di uno spazio di lavoro.
-
Autorizzazione di audit per configurare e interrogare i log di audit. Per altre informazioni, vedere Permissions.
Puoi configurare i log di audit SQL usando il portale Fabric o l'API REST.
Nell'area di lavoro Fabric selezionare le impostazioni dell'articolo del magazzino.
Selezionare la pagina Log di controllo SQL .
Abilitare l'impostazione Salva eventi nei log di controllo SQL.
Per impostazione predefinita, tutte le azioni vengono abilitate e mantenute per nove anni.
Sotto Eventi da registrare, seleziona quali eventi catturano i log di audit SQL. Seleziona le categorie di eventi o i gruppi individuali di azioni di audit che vuoi catturare. Selezionare solo gli eventi richiesti dall'organizzazione per ottimizzare l'archiviazione e la pertinenza.
Opzionalmente, inserisci un'Espressione Predicata per filtrare gli eventi, ad esempio escludendo attività da un principale di servizio noto o da un'identità di automazione. Usa la sintassi descritta nella sintassi delle espressioni predicatiche.
Importante
Il filtraggio predicato si applica solo agli eventi già selezionati sotto Eventi per registrare. Ad esempio, per filtrare SELECT le isunzioni, devi anche abilitare Batch Was Completed.
Specificare un periodo di conservazione dei log desiderato in Anni, Mesi e Giorni.
Selezionare Salva per applicare le impostazioni.
Il tuo magazzino ora registra gli eventi di audit selezionati e conserva i log in modo sicuro su OneLake.
Scaricare e installare Visual Studio Code.
Installare l'estensione client REST da Visual Studio Marketplace.
Ottieni il gettone portatore seguendo questi passaggi. Puoi trovare il token portatore di Power BI negli strumenti per sviluppatori del browser o tramite PowerShell.
Per usare gli strumenti di sviluppo di Edge per trovare il token bearer di Power BI:
- Aprire l'area di lavoro Microsoft Fabric in un browser (Microsoft Edge).
- Premere F12 per aprire Strumenti di sviluppo.
- Selezionare la scheda Console. Se necessario, selezionare Espandi visualizzazione rapida per visualizzare il prompt della console
>.
- Digitare il comando
powerBIAccessToken e premere INVIO. Fare clic con il pulsante destro del mouse sulla stringa univoca di grandi dimensioni restituita nella console e selezionare Copia contenuto stringa.
- Incollarlo al posto di
<bearer token> negli script seguenti.
Per usare PowerShell per trovare il token di connessione Power BI:
Installare il modulo MicrosoftPowerBIMgmt da Microsoft Power BI Cmdlet per Windows PowerShell e PowerShell Core.
Install-Module -Name MicrosoftPowerBIMgmt
Usare Connect-PowerBIServiceAccount per connettersi a Power BI PowerShell e recuperare il token di connessione.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Dopo aver ottenuto il token portatore Power BI, invia una PATCH richiesta utilizzando l'estensione REST Client. In VS Code, crea un nuovo file di testo con l'estensione .http .
Copiare e incollare la richiesta seguente:
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"
}
- Sostituire
<workspaceId> e <warehouseId> con gli ID dell'area di lavoro e del magazzino corrispondenti. Per trovare questi valori, visita il magazzino sul portale di Fabric.
-
<workspaceID>: Trova il GUID dell'area di lavoro nell'URL dopo la sezione /groups/, o eseguendo SELECT @@SERVERNAME in un magazzino esistente. Ad esempio: 11aaa111-a11a-1111-1aaa-aa111111aaa. Non includere i caratteri /.
-
<warehouseID>: trovare il GUID del warehouse nell'URL dopo la sezione /warehouses/ o eseguendo SELECT @@SERVERNAME in un warehouse esistente. Ad esempio: 11aaa111-a11a-1111-1aaa-aa111111aaa. Non includere i caratteri /.
- Sostituisci
<BEARER_TOKEN> con il Bearer Token.
- Imposta
state per Enabled attivare l'audit (usa Disabled per disattivarlo).
- Imposta il
retentionDays parametro su 0 per la ritenzione illimitata. Questa è l'impostazione predefinita.
Importante
Nel codice di esempio di estensione è necessario includere una riga vuota immediatamente dopo aver fornito il token di connessione. Questa riga vuota segnala l'estensione dove terminano le intestazioni HTTP e inizia il corpo dei comandi API, così l'API può distinguere correttamente tra i due.
Selezionare Invia richiesta.
Controllare lo stato del log di controllo con l'API REST
Per verificare se i log di audit SQL sono abilitati, invia una richiesta GET utilizzando la stessa estensione REST Client.
- In VS Code, crea un nuovo file di testo con l'estensione
.http .
- Copiare e incollare la richiesta seguente, specificando i valori desiderati per
workspaceId, <warehouseId> e <BEARER_TOKEN>.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
La risposta restituisce ENABLED o DISABLED e la configurazione corrente di auditActionsAndGroups e predicateExpression.
I log di controllo SQL si basano su gruppi di azioni predefiniti che acquisiscono eventi specifici all'interno del database. Per informazioni dettagliate sui gruppi di azioni di controllo, vedere SQL audit logs in Fabric Data Warehouse.
In VS Code, crea un nuovo file di testo con l'estensione .http .
Copiare e incollare la richiesta seguente, specificando i valori desiderati per workspaceId, <warehouseId> e <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" ]
Selezionare Invia richiesta.
Utilizzare la stessa PATCH richiesta API per configurare un'espressione predicata che esclude eventi specifici dalla generazione, come attività da un principale di servizio noto o un'identità di automazione. Per la sintassi completa dei predicati, vedi Sintassi delle espressioni dei predicati.
In VS Code, crea un nuovo file di testo con l'estensione .http .
Copiare e incollare la richiesta seguente, specificando i valori desiderati per workspaceId, <warehouseId> e <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 %'"
}
- Questo esempio esclude
SELECT le istruzioni dall'essere auditate tramite filtraggio sul statement campo.
- Quando abiliti l'audit SQL per la prima volta, omettere
predicateExpression non si applica alcun predicato. Negli aggiornamenti successivi, ometterlo lascia invariato il predicato esistente. Specificare una stringa vuota ("") per rimuovere un predicato esistente.
Importante
Il filtraggio dei predicati valuta solo gli eventi già configurati per essere catturati. Per filtrare SELECT le istruzioni come mostrato in questo esempio, devi anche abilitare il gruppo d'azioni Batch Was Completed (BATCH_COMPLETED_GROUP). Per ulteriori informazioni, vedi Gruppi di azioni e azioni di audit a livello di database.
Selezionare Invia richiesta.
Consultare i log di audit
I dati di log di audit SQL sono memorizzati in . File XEL nel OneLake. Puoi accedere a questi dati utilizzando la funzione sys.fn_get_audit_file_v2 Transact-SQL (T-SQL). Per maggiori informazioni su come vengono memorizzati i file di audit in OneLake, consulta i log di audit SQL in Fabric Data Warehouse.
Dall'editor di query SQL o da qualsiasi strumento di query come SQL Server Management Studio (SSMS) o l'estensione MSSQL per Visual Studio Code, si usano i seguenti esempi di query T-SQL. Assicurati di fornire il <workspaceId> tuo e <warehouseId>.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
Per filtrare i log in base all'intervallo di tempo, usare la query seguente:
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');
Contenuto correlato