Proteggere e monitorare un magazzino
La sicurezza e il monitoraggio sono aspetti critici della gestione delle data warehouse. Fabric offre più livelli di strumenti di visibilità e protezione che consentono di controllare l'accesso e comprendere le prestazioni delle query.
Sicurezza
Il data warehouse di Fabric opera a più livelli di sicurezza, dall'accesso all'area di lavoro fino alle singole righe e colonne. Questa progettazione consente di supportare le esigenze distinte dell'organizzazione consentendo comunque la democratizzazione dei dati, ma con la governance.
Ruoli dell'area di lavoro
I dati in Fabric sono organizzati in workspaces e i ruoli dell'area di lavoro sono il primo livello di access control. Assegnare gli utenti ai ruoli appropriati in base al livello di access necessario. Ad esempio, gli amministratori hanno il controllo completo, mentre i visualizzatori possono visualizzare gli elementi, ma non possono apportare modifiche.
Suggerimento
Per altre informazioni, vedere Aree di lavoro in Power BI.
Autorizzazioni per gli elementi
Oltre ai ruoli dell'area di lavoro, è possibile concedere autorizzazioni elemento per condividere singoli magazzini senza concedere accesso all'intera area di lavoro. Questa granularità è utile quando è necessario condividere un magazzino per l'utilizzo downstream con utenti specifici.
Concedere le autorizzazioni seguenti in base alle esigenze:
- Leggi - consente all'utente di connettersi usando l'endpoint SQL di analisi.
- ReadData : consente all'utente di leggere i dati da qualsiasi tabella o vista nel warehouse.
- ReadAll : consente all'utente di leggere file parquet non elaborati in OneLake.
Annotazioni
Una connessione utente all'endpoint di analisi SQL ha esito negativo senza autorizzazioni di lettura almeno.
Sicurezza SQL granulare
Per un access control più preciso, Fabric data warehouse supporta la sicurezza granulare tramite T-SQL. Queste funzionalità consentono di limitare la visibilità dei dati senza modificare le tabelle sottostanti:
- Security a livello di oggetto - Controlla accesso a tabelle, viste o procedure specifiche.
- Sicurezza a livello di riga : limitare le righe che un utente può visualizzare usando i predicati della clausola WHERE.
- Sicurezza a livello di colonna (CLS): limitare le colonne visibili a utenti specifici.
- Maschera dati dinamica : mascherare i dati sensibili (ad esempio indirizzi di posta elettronica o numeri di account) da utenti senza privilegi.
La protezione dei dati del warehouse è importante sia per la conformità alle normative che per garantire che gli strumenti basati sull'intelligenza artificiale come Copilot e gli agenti dati funzionino entro limiti regolamentati. I criteri di sicurezza definiti in T-SQL vengono applicati indipendentemente dalla modalità di accesso ai dati.
Suggerimento
La sicurezza a livello di riga, la sicurezza a livello di colonna e la maschera dati dinamica sono descritte in modo approfondito in Secure a Microsoft Fabric data warehouse.
Monitoraggio
L'attività del warehouse di monitoraggio consente di identificare i problemi di prestazioni, ottimizzare le query e comprendere i modelli di utilizzo.
Informazioni dettagliate sulle query
Informazioni dettagliate sulle query fornisce una posizione unificata per i dati delle query cronologici e le informazioni sulle prestazioni utili. Conserva i dati per 30 giorni e consente di identificare query con esecuzione prolungata, tenere traccia delle modifiche delle prestazioni nel tempo e comprendere quali query utilizzano la maggior parte delle risorse.
Analisi delle query utilizza viste di sistema che è possibile interrogare direttamente.
-
queryinsights.exec_requests_history- Restituisce informazioni su ogni richiesta SQL completata. -
queryinsights.long_running_queries: restituisce le query classificate in base al tempo di esecuzione. -
queryinsights.exec_sessions_history- Restituisce informazioni sulle sessioni completate.
Visualizzazioni dinamiche di gestione
È anche possibile usare dmv (Dynamic Management Views ) per monitorare le connessioni, le sessioni e le richieste attive in tempo reale. Ad esempio, usare sys.dm_exec_requests per identificare le query attualmente in esecuzione:
SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;
Importante
È necessario essere un amministratore dell'area di lavoro per eseguire il KILL comando per terminare sessioni con esecuzione prolungata. I membri, i collaboratori e i visualizzatori possono visualizzare i propri risultati, ma non possono visualizzare le query di altri utenti.