Condividi tramite


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:

  1. Un'area di lavoro Fabric con capacità attiva o capacità in versione di valutazione.
  2. Un endpoint di Warehouse o Analisi SQL Fabric in un Lakehouse.
  3. Diritti di Amministratore, Membro o Collaboratore per l'area di lavoro o autorizzazioni elevate per l'endpoint di analisi Warehouse o SQL.

1. Connettersi

  1. 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).
  2. 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

  1. 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.

  2. 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 
    
  3. Sostituire YourSecurityPolicy con il nome del criterio, tvf_securitypredicate con il nome della funzione predicato, sampleschema con il nome dello schema e sampletable con il nome della tabella di destinazione.

  4. Sostituire UserName_column con una colonna nella tabella che contenga nomi utente.

  5. Sostituire WHERE @UserName = USER_NAME(); con una clausola WHERE corrispondente al filtro di sicurezza basato su predicato desiderato. Ad esempio, questa operazione filtra i dati in cui la colonna UserName, mappata al parametro @UserName, corrisponde al risultato della funzione di sistema USER_NAME().

  6. Se necessario, ripetere questi passaggi per creare criteri di sicurezza per altre tabelle.

3. Testare la sicurezza a livello di riga

  1. 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() 
    
  2. 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
    
  3. 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.