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 ai ruoli dell'area di lavoro o concesse tramite autorizzazioni di elemento non sono sufficienti, i costrutti SQL standard sono disponibili per un controllo più granulare.

Per endpoint di analisi SQL e Warehouse:

  • La sicurezza a livello di oggetto può essere gestita usando la sintassi GRANT, REVOKE e DENY T-SQL.
  • Gli utenti possono essere assegnati a ruoli SQL, sia ruoli del database personalizzati che predefiniti.

Autorizzazioni granulari dell'utente

  • Per consentire a un utente di connettersi al database, l'utente deve essere assegnato a un ruolo Area di lavoro o all'elemento Autorizzazione lettura. Senza autorizzazioni di lettura almeno, la connessione non riesce.
  • Se si desidera configurare le autorizzazioni granulari di un utente prima di consentire la connessione al warehouse, è possibile configurare le autorizzazioni all'interno di SQL. È quindi possibile concedere l'accesso assegnandole a un ruolo area di lavoro o concedendole le autorizzazioni per gli elementi.

Limiti

  • Impossibile eseguire in modo esplicito CREATE U edizione Standard R. Quando si esegue GRANT o DENY, l'utente viene creato automaticamente. L'utente non sarà in grado di connettersi finché non vengono concessi diritti sufficienti a livello di area di lavoro.

Visualizzare le autorizzazioni personali

Quando un utente si connette al 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 agli utenti

Quando si è connessi tramite il stringa di connessione SQL, un utente con autorizzazioni elevate può eseguire query sulle autorizzazioni concesse usando le viste di sistema. Ciò non mostra gli utenti o le autorizzazioni utente concesse agli utenti assegnandole ai ruoli dell'area di lavoro o alle autorizzazioni degli elementi assegnate.

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 proteggere i filtri di colonna e i filtri di riga basati su predicato nelle tabelle in Warehouse o endpoint di analisi SQL ai ruoli e agli utenti in Microsoft Fabric. È anche possibile mascherare i dati sensibili da utenti non amministratori usando la maschera dati dinamica.