Proteggere e monitorare il data warehouse

Completato

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.