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
- Non è attualmente possibile eseguire CREATE USER in modo esplicito. Quando si esegue CONCEDI o NEGA, 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