Proteggere e monitorare il data warehouse
La sicurezza e il monitoraggio sono aspetti critici della gestione del data warehouse.
Sicurezza
La sicurezza del data warehouse è importante per proteggere i dati da accessi non autorizzati. Fabric offre numerose funzionalità di sicurezza che consentono di proteggere il data warehouse. tra cui:
- Controllo degli accessi in base al ruolo per controllare l'accesso al warehouse e ai relativi dati.
- Crittografia SSL per proteggere la comunicazione tra il warehouse e le applicazioni client.
- Crittografia del servizio di Archiviazione di Microsoft Azure per proteggere i dati in transito e inattivi.
- Monitoraggio di Azure e Azure Log Analytics per monitorare l'attività del warehouse e controllare l'accesso ai dati.
- Autenticazione a più fattori (MFA) per aggiungere un ulteriore livello di sicurezza agli account utente.
- Integrazione di Microsoft Entra ID per gestire le identità utente e l'accesso al magazzino.
Autorizzazioni dell'area di lavoro
I dati in Fabric sono organizzati in aree di lavoro, usate per controllare l'accesso e gestire il ciclo di vita dei dati e dei servizi. I ruoli dell'area di lavoro appropriati sono la prima linea di difesa per proteggere il data warehouse.
Oltre ai ruoli dell'area di lavoro, è possibile concedere autorizzazioni agli elementi e accedere tramite SQL.
Suggerimento
Per altre informazioni sui ruoli dell'area di lavoro, vedere Aree di lavoro in Power BI.
Autorizzazioni degli elementi
A differenza dei ruoli dell'area di lavoro, che si applicano a tutti gli elementi all'interno di un'area di lavoro, è possibile usare le autorizzazioni degli elementi per concedere l'accesso ai singoli warehouse. In questo modo è possibile condividere un singolo data warehouse per l'utilizzo downstream.
È possibile concedere autorizzazioni agli utenti tramite T-SQL o nel portale di Fabric. Concedere le autorizzazioni seguenti agli utenti che devono accedere al data warehouse:
- Leggere: Consente all'utente di connettersi usando la stringa di connessione SQL.
- ReadData: Consente all'utente di leggere i dati da qualsiasi tabella/vista all'interno del warehouse.
- ReadAll: Consente all'utente di leggere i dati dei file Parquet non elaborati in OneLake che possono essere utilizzati da Spark.
Una connessione utente all'endpoint di Analisi SQL avrà esito negativo se non è disponibile come minimo l'autorizzazione di lettura.
Monitoraggio
Il monitoraggio delle attività nel data warehouse è fondamentale per garantire prestazioni ottimali, un utilizzo efficiente delle risorse e la sicurezza. Consente di identificare i problemi, rilevare le anomalie e intervenire per mantenere il data warehouse in esecuzione senza problemi e in modo sicuro.
È possibile usare viste a gestione dinamica (DMV) per monitorare la connessione, la sessione e lo stato della richiesta per visualizzare informazioni dettagliate sul ciclo di vita delle query SQL dinamiche. Con le DMV è possibile ottenere dettagli come il numero di query attive e identificare le query in esecuzione per un periodo prolungato e richiedere la terminazione.
Attualmente sono disponibili tre DMV da usare in Fabric:
- sys.dm_exec_connections: Restituisce informazioni su ogni connessione stabilita tra il warehouse e il motore.
- sys.dm_exec_sessions: Restituisce informazioni su ogni sessione autenticata tra l'elemento e il motore.
- sys.dm_exec_requests: Restituisce informazioni su ogni richiesta attiva in una sessione.
Monitoraggio delle query
Usare "sys.dm_exec_requests" per identificare le query a esecuzione prolungata che potrebbero influire sulle prestazioni complessive del database e intraprendere le azioni appropriate per ottimizzare o terminare tali query.
Per iniziare, identificare le query in esecuzione da molto tempo. Usare la query seguente per identificare le query che hanno eseguito il più lungo, in ordine decrescente:
SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;
È possibile continuare l'analisi per comprendere quale utente ha eseguito la sessione con la query a esecuzione prolungata eseguendo:
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Infine, è possibile usare il KILL
comando per terminare la sessione con la query a esecuzione prolungata:
KILL 'SESSION_ID WITH LONG-RUNNING QUERY';
Importante
Per eseguire il comando, è necessario essere un amministratore dell'area KILL
di lavoro. Gli amministratori dell'area di lavoro possono eseguire tutte e tre le DMV. I ruoli Membro, Collaboratore e Visualizzatore possono visualizzare i propri risultati all'interno del magazzino, ma non possono visualizzare i risultati di altri utenti.