Autorizzazioni granulari di SQL in Microsoft Fabric
Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric
Quando le autorizzazioni predefinite fornite dall'assegnazione di ruoli dell'area di lavoro o concesse tramite autorizzazioni relative all’elemento non sono sufficienti, sono disponibili costrutti SQL standard per un controllo più granulare.
Per endpoint di analisi SQL e Warehouse:
- La sicurezza a livello di oggetto può essere gestita usando la sintassi T-SQL CONCEDI, REVOCA e NEGA.
- Gli utenti possono essere assegnati a ruoli SQL, sia ruoli del database personalizzati che predefiniti.
Autorizzazioni utente granulari
- Perché un utente possa connettersi al database, deve essere assegnato a un ruolo Area di lavoro o all'elemento autorizzazione di Lettura. Se non si dispone almeno di un’autorizzazione di Lettura, la connessione non riuscirà.
- Se si desidera configurare le autorizzazioni granulari di un utente prima di consentirgli di connettersi al warehouse, è possibile configurare le autorizzazioni all'interno di SQL. È quindi possibile concedere l'accesso all’utente assegnandolo a un ruolo Area di lavoro o concedendogli autorizzazioni relative all’elemento.
Limiti
CREATE USER
attualmente non può essere eseguito in modo esplicito. QuandoGRANT
oDENY
viene eseguito, l'utente viene creato automaticamente. L'utente non sarà in grado di connettersi finché non gli verranno concessi diritti sufficienti a livello di area di lavoro.
Visualizza le mie autorizzazioni
Quando un utente si connette alla stringa di connessione SQL, può visualizzare le autorizzazioni disponibili usando la funzione sys.fn_my_permissions.
Autorizzazioni con ambito database dell'utente:
SELECT *
FROM sys.fn_my_permissions(NULL, 'Database');
Autorizzazioni con ambito schema dell'utente:
SELECT *
FROM sys.fn_my_permissions('<schema-name>', 'Schema');
Autorizzazioni con ambito oggetto dell'utente:
SELECT *
FROM sys.fn_my_permissions('<schema-name>.<object-name>', 'Object');
Visualizzare le autorizzazioni concesse in modo esplicito a utenti
Quando connesso tramite il stringa di connessione SQL, un utente con autorizzazioni elevate può eseguire query sulle autorizzazioni concesse usando le visualizzazioni di sistema. Ciò non mostra gli utenti o le autorizzazioni utente concesse agli utenti assegnandole a ruoli dell'area di lavoro o ad autorizzazioni relative all’elemento.
SELECT DISTINCT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
Funzionalità di protezione dei dati
È possibile assicurare filtri di colonna e filtri di riga basati su predicato nelle tabelle in Warehouse o endpoint di Analisi SQL a ruoli e utenti in Microsoft Fabric. È anche possibile mascherare i dati sensibili da utenti non amministratori usando il Dynamic Data Masking.
- Sicurezza a livello di riga nel data warehousing di Fabric
- Sicurezza a livello di colonna in Fabric data warehousing
- Dynamic data masking nell’Archiviazione dati di Fabric