Sicurezza a livello di colonna nel data warehousing di Fabric
Si applica a: Endpoint di analisi SQL e Warehouse in Microsoft Fabric
La sicurezza a livello di colonna semplifica la progettazione e la codifica della sicurezza nell'applicazione, consentendo di limitare l'accesso alle colonne per proteggere i dati sensibili. Assicurando, ad esempio, che utenti specifici possano accedere solo determinate colonne di una tabella relative al loro reparto.
Sicurezza a livello di colonna a livello di dati
La logica di restrizione dell'accesso si trova nel livello di database, non in un singolo livello applicazione. Il database applica le restrizioni di accesso ogni volta che si tenta l'accesso ai dati da qualsiasi applicazione o piattaforma di creazione di report, incluso Power BI. Questa restrizione rende la sicurezza più affidabile e solida, grazie alla riduzione della superficie di attacco del sistema di sicurezza generale.
La sicurezza a livello di colonna si applica solo alle query in un endpoint di analisi SQL o warehouse in Fabric. Le query di Power BI in un warehouse in modalità Direct Lake eseguiranno il fallback alla modalità Direct Query per rispettare la sicurezza a livello di colonna.
Limitare l'accesso a determinate colonne a determinati utenti
Inoltre, la sicurezza a livello di colonna è più semplice e che progettare visualizzazioni aggiuntive per filtrare le colonne per imporre restrizioni di accesso agli utenti.
Implementare la sicurezza a livello di colonna con l'istruzione GRANT T-SQL. Per semplicità di gestione, l'assegnazione di autorizzazioni ai ruoli è preferibile per l'uso di utenti singoli.
La sicurezza a livello di colonna viene applicata al warehouse condiviso o al lakehouse, perché l'origine dati sottostante non è stata modificata.
È supportata solo l'autenticazione di Microsoft Entra.
Esempi
Questo esempio creerà una tabella e limiterà le colonne che charlie@contoso.com
possono essere visualizzate nella customers
tabella.
CREATE TABLE dbo.Customers
(CustomerID int,
FirstName varchar(100) NULL,
CreditCard char(16) NOT NULL,
LastName varchar(100) NOT NULL,
Phone varchar(12) NULL,
Email varchar(100) NULL);
Si consentirà a Charlie di accedere solo alle colonne correlate al cliente, ma non alla colonna sensibile CreditCard
:
GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];
Le query eseguite come charlie@contoso.com
avranno esito negativo se includono la CreditCard
colonna :
SELECT * FROM Customers;
Msg 230, Level 14, State 1, Line 12
The SELECT permission was denied on the column 'CreditCard' of the object 'Customers', database 'ContosoSales', schema 'dbo'.
Passaggio successivo
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per