Implementare la sicurezza a livello di riga nell’Archiviazione dati di Microsoft Fabric
Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric
La sicurezza a livello di riga in endpoint di analisi di Fabric Warehouse e SQL consente di controllare l'accesso alle righe in una tabella di database in base a ruoli utente e a predicati. Per altre informazioni, vedere Sicurezza a livello di riga nel data warehousing di Fabric.
Questa guida illustra i passaggi per implementare la sicurezza a livello di riga in endpoint di analisi di Microsoft Fabric Warehouse o SQL.
Prerequisiti
Prima di iniziare, verificare di disporre di quanto segue:
- Un'area di lavoro Fabric con capacità attiva o capacità in versione di valutazione.
- Un endpoint di Warehouse o Analisi SQL Fabric in un Lakehouse.
- Diritti di Amministratore, Membro o Collaboratore per l'area di lavoro o autorizzazioni elevate per l'endpoint di analisi Warehouse o SQL.
1. Connettersi
- Accedere usando un account con accesso con privilegi elevati nell'endpoint di Warehouse o Analisi SQL. (Ruolo di amministratore/membro/collaboratore sull'area di lavoro o autorizzazioni di controllo sull'endpoint di Warehouse o Analisi SQL).
- Aprire l'area di lavoro Fabric e passare all'endpoint di analisi Warehouse o SQL in cui si vuole applicare la sicurezza a livello di riga.
2. Definire i criteri di sicurezza
Determinare i ruoli e i predicati da usare per controllare l'accesso ai dati. I ruoli definiscono chi può accedere ai dati e i predicati definiscono i criteri per l'accesso.
Creare predicati di sicurezza. I predicati di sicurezza sono condizioni che determinano le righe a cui un utente è autorizzato ad accedere. I predicati di sicurezza vengono creati come funzioni inline con valori di tabella.
-- Creating schema for Security CREATE SCHEMA Security; GO -- Creating a function for the SalesRep evaluation CREATE FUNCTION Security.tvf_securitypredicate(@UserName AS varchar(50)) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS tvf_securitypredicate_result WHERE @UserName = USER_NAME() OR USER_NAME() = 'BatchProcess@contoso.com'; GO -- Using the function to create a Security Policy CREATE SECURITY POLICY YourSecurityPolicy ADD FILTER PREDICATE Security.tvf_securitypredicate(UserName_column) ON sampleschema.sampletable WITH (STATE = ON); GO
Sostituire
YourSecurityPolicy
con il nome del criterio,tvf_securitypredicate
con il nome della funzione predicato,sampleschema
con il nome dello schema esampletable
con il nome della tabella di destinazione.Questo esercizio presuppone che nella tabella dati sia presente una colonna,
UserName_column
, che contiene il nome utente pertinente, popolato dalla funzione di sistema USER_NAME(). SostituireUserName_column
con una colonna nella tabella che contenga nomi utente.Sostituire
WHERE @UserName = USER_NAME();
con una clausolaWHERE
corrispondente al filtro di sicurezza basato su predicato desiderato. Ad esempio, questa operazione filtra i dati in cui la colonnaUserName
, mappata al parametro@UserName
, corrisponde al risultato della funzione di sistema USER_NAME().- Facoltativamente, l'istruzione
WHERE
include anche un'eccezione per il nome utente dell'identità gestita che gestisce lo spostamento dei dati, ad esempioBatchProcess@contoso.com
.
- Facoltativamente, l'istruzione
Se necessario, ripetere questi passaggi per creare criteri di sicurezza per altre tabelle.
3. Testare la sicurezza a livello di riga
Accedere a Fabric come utente membro di un ruolo con un criterio di sicurezza associato. Usare la query seguente per verificare il valore che dovrebbe risultare corrispondente nella tabella.
SELECT USER_NAME()
Eseguire una query sulle tabelle di database per verificare che la sicurezza a livello di riga funzioni come previsto. Gli utenti dovrebbero visualizzare solo i dati che soddisfano il predicato di sicurezza definito nel proprio ruolo. Ad esempio:
SELECT * FROM sampleschema.sampletable
Simili risultati filtrati per l'utente verranno filtrati con altre applicazioni che usano l'autenticazione con Microsoft Entra per l'accesso a database. Per altre informazioni, vedere L'autenticazione di Microsoft Entra come alternativa all'autenticazione SQL in Microsoft Fabric.
4. Monitorare e mantenere la sicurezza a livello di riga
Monitorare e aggiornare regolarmente i criteri di sicurezza a livello di riga man mano che i requisiti di sicurezza subiscono cambiamenti. Tenere traccia delle assegnazioni di ruolo e assicurarsi che gli utenti dispongano dell'accesso appropriato.