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. Questo semplice esercizio presuppone che nella tabella dati sia presente una colonna,
UserName_column
, contenente il nome utente pertinente, popolato dalla funzione di sistema USER_NAME().-- 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(); 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.Sostituire
UserName_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().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.