Sicurezza delle scorciatoie OneLake

I collegamenti in OneLake fungono da puntatori ai dati che risiedono in vari account di archiviazione, sia all'interno di OneLake stesso che in sistemi esterni come Azure Data Lake Storage (ADLS). Questo articolo illustra le autorizzazioni necessarie per creare collegamenti e accedere ai dati usandoli.

Per garantire maggiore chiarezza sui componenti di un collegamento, questo articolo usa i termini seguenti:

  • Percorso della destinazione: posizione indicata da un collegamento.
  • Percorso del collegamento: posizione in cui viene visualizzato il collegamento.

Creare ed eliminare collegamenti

Per creare un collegamento, è necessaria l'autorizzazione di scrittura per l'elemento Fabric in cui si crea il collegamento. Inoltre, è necessario l'accesso in lettura ai dati a cui puntano i punti di collegamento. Le scorciatoie a origini esterne potrebbero richiedere determinate autorizzazioni nel sistema esterno. L'articolo Che cosa sono i collegamenti? include l'elenco completo dei tipi di collegamento e delle autorizzazioni necessarie.

Funzionalità Autorizzazione per il percorso della scorciatoia Autorizzazione per il percorso della destinazione
Creare un collegamento Autorizzazione di scrittura dell'elemento o sicurezza OneLake Lettura/Scrittura Sicurezza OneLake: Lettura1
Eliminare un collegamento Autorizzazione di scrittura dell'elemento o sicurezza OneLake Lettura/Scrittura Non Disponibile

1 Per gli elementi che non supportano ancora le funzionalità di sicurezza di OneLake, questa autorizzazione corrisponde all'autorizzazione ReadAll dell'elemento.

Accesso alle scorciatoie

Una combinazione delle autorizzazioni nel percorso del collegamento e nel percorso della destinazione regola le autorizzazioni per i collegamenti. Quando un utente accede a un collegamento, viene applicata l'autorizzazione più restrittiva delle due posizioni. Pertanto, un utente che dispone di autorizzazioni di lettura e scrittura nel lakehouse, ma solo delle autorizzazioni di lettura nel percorso di destinazione, non può scrivere nel percorso di destinazione. Analogamente, un utente che dispone solo dei permessi di lettura nel lakehouse, ma dei permessi di lettura e scrittura nel percorso di destinazione, non può comunque scrivere nel percorso di destinazione.

Questa tabella mostra le autorizzazioni necessarie per ogni azione di scelta rapida.

Funzionalità Autorizzazione per il percorso della scorciatoia Autorizzazione per il percorso della destinazione
Leggere il contenuto del file o della cartella del collegamento Sicurezza OneLake: Lettura1 Sicurezza di OneLakeLettura 1, 2
Scrivere nella posizione di destinazione del collegamento Autorizzazione di scrittura dell'elemento o sicurezza OneLake Lettura/Scrittura Autorizzazione di scrittura dell'elemento o sicurezza OneLake Lettura/Scrittura

1 Per gli elementi che non supportano ancora le funzionalità di sicurezza di OneLake, questa autorizzazione corrisponde all'autorizzazione ReadAll dell'elemento.

Importante

2Eccezione al pass-through di identità: mentre la sicurezza di OneLake passa in genere attraverso l'identità dell'utente chiamante per applicare le autorizzazioni, alcuni motori di query funzionano in modo diverso. Quando si accede ai dati di collegamento rapido tramite modelli semantici di Power BI usando i motori DirectLake su SQL o T-SQL configurati per la modalità identità delegata, questi motori non trasmettono l'identità dell'utente chiamante al target di collegamento. Usano invece l'identità del proprietario dell'elemento per accedere ai dati e quindi applicano i ruoli di sicurezza di OneLake per filtrare ciò che l'utente chiamante può visualizzare.

Questa condizione significa:

  • L'accesso alla destinazione del collegamento viene eseguito usando le autorizzazioni del proprietario dell'elemento (non dell'utente finale)
  • I ruoli di sicurezza di OneLake determinano comunque i dati che l'utente finale può leggere
  • Tutte le autorizzazioni configurate direttamente sul percorso di destinazione del collegamento per l'utente finale vengono ignorate.

Sicurezza di OneLake

La sicurezza di OneLake consente di applicare il controllo degli accessi in base al ruolo ai dati archiviati in OneLake. È possibile definire ruoli di sicurezza che concedono l'accesso in lettura a tabelle e cartelle specifiche all'interno di un elemento fabric e assegnarli a utenti o gruppi. Le autorizzazioni di accesso determinano le operazioni che gli utenti possono eseguire in tutti i motori in Fabric, garantendo un controllo di accesso coerente.

Gli utenti nei ruoli Admin, Member e Contributor hanno pieno accesso per leggere i dati tramite una scorciatoia. Per creare o aggiornare una scorciatoia, hanno anche bisogno di accesso di lettura al percorso di destinazione.

Gli utenti nel ruolo Visualizzatore, o quelli con permessi di lettura degli elementi, hanno accesso determinato dai loro ruoli di sicurezza OneLake. Per eseguire operazioni di scorciatoia, questi utenti necessitano del corrispondente permesso di sicurezza OneLake oltre al permesso di lettura Fabric.

La tabella seguente mostra i permessi combinati necessari per ogni operazione scorciatoia:

Operazione di scelta rapida Autorizzazione per il percorso della scorciatoia Autorizzazione per il percorso della destinazione
Creare Fabric Read più OneLake Security ReadWrite Lettura della sicurezza di OneLake
Lettura (collegamenti GET/LIST) Fabric Read più OneLake Security Read Non Disponibile
Update Fabric Read più OneLake Security ReadWrite Lettura delle configurazioni di sicurezza di OneLake (nella nuova destinazione)
Elimina Fabric Read più OneLake Security ReadWrite Non Disponibile

Per maggiori informazioni sul modello di controllo degli accessi con scorciatoie, vedi Modello di controllo degli accessi dati in OneLake.

Modelli di autenticazione per le scorciatoie

Le scorciatoie OneLake usano due modelli di autenticazione: pass-through e delega. Il modello dipende dal tipo di scorciatoia.

Tipo di collegamento Modello di autenticazione dettagli
Da OneLake a OneLake con stesso inquilino Inoltro o delegato Il pass-through è l'impostazione predefinita. Per usare invece l'autenticazione delegata, scegli Identità delegata quando crei la scorciatoia.
Inquilino trasversale da OneLake a OneLake Solo delegato Configura un account organizzativo o un principale di servizio nel tenant del produttore quando crei la scorciatoia cross-tenant.
Esterno (multicloud) Solo delegato Gli utenti possono accedere a dati esterni senza accesso diretto al sistema esterno. Configura la sicurezza di OneLake sul collegamento per controllare a quali dati nel sistema esterno è possibile accedere.

Autenticazione pass-through

Nel modello pass-through il collegamento accede ai dati nella posizione di destinazione passando l'identità dell'utente al sistema di destinazione. Qualsiasi utente che accede al collegamento può visualizzare solo i dati a cui ha accesso nella destinazione. Il sistema di origine mantiene il controllo completo sui dati e non è necessario replicare o ridefinire i controlli di accesso.

Diagramma che mostra l'identità utente trasmessa attraverso il collegamento verso la destinazione.

Autenticazione delegata

Nel modello delegato, la scorciatoia accede ai dati tramite una credenziale intermedia, ad esempio l'identità di un altro utente, un'entità servizio o una chiave dell'account. I tasti di scelta rapida delegati consentono di separare o "delegare" la gestione delle autorizzazioni a un altro team o utente downstream da gestire. Tutte le scorciatoie delegate in OneLake possono avere ruoli di sicurezza OneLake definiti per essi.

Usa l'autenticazione delegata quando il comportamento di passaggio predefinito non corrisponde al modello di accesso che desideri per i tuoi dati. Ad esempio, una scorciatoia delegata può utilizzare un'identità di connessione fissa che rappresenta un'unità di business invece di richiedere a ogni utente a valle di accedere ai dati sorgente. L'unità di business può gestire l'accesso alla sicurezza OneLake per i suoi utenti rispettando i controlli di sicurezza applicati all'identità di connessione.

I collegamenti a sistemi esterni come Amazon S3 o Google Cloud Storage usano sempre l'autenticazione delegata. I collegamenti alle destinazioni OneLake interne possono usare l'autenticazione delegata se è configurata al momento della creazione del collegamento.

Diagramma che mostra l'identità delegata usata per accedere ai dati nella destinazione del collegamento.

Collegamenti a OneLake delegati

Le scorciatoie OneLake delegate usano un'identità di connessione configurata anziché l'identità dell'utente che ha effettuato l'accesso. Quando accede a un collegamento delegato, l'utente vede l'intersezione tra le proprie autorizzazioni di sicurezza e quelle applicabili all'identità delegata. La tabella seguente illustra gli scenari di esempio.

Per le scorciatoie OneLake con lo stesso tenant, l'autenticazione delegata è opzionale. Se non lo selezioni, la scorciatoia usa l'autenticazione passthrough. Le scorciatoie OneLake cross-tenant utilizzano sempre l'autenticazione delegata. L'identità di connessione configurata deve accedere ai dati di destinazione. Per passare un collegamento esistente tra l'autenticazione pass-through e l'autenticazione delegata, eliminare e ricreare il collegamento con il metodo di autenticazione desiderato.

Autorizzazione per il percorso di scelta rapida (consumer) Autorizzazione sul percorso di destinazione (produttore) Accesso risultante
Accesso completo Accesso completo Accesso completo
Accesso completo CLS : solo colonne C1, C2 CLS : solo colonne C1, C2
CLS - Solo colonna C1 CLS : solo colonne C1, C2 CLS - Solo colonna C1

Le seguenti considerazioni sulla sicurezza si applicano ai collegamenti delegati:

  • Un utente può ricoprire solo un singolo ruolo di sicurezza OneLake con CLS sul lato consumer, se anche il lato produttore ha RLS.
  • La sicurezza a livello di colonna (CLS) è supportata sia per il produttore che per il consumatore di una scorciatoia delegata.
  • La sicurezza a livello di riga (RLS) è supportata per il lato produttore di una scorciatoia delegata, ma non puoi impostarla sul lato consumer.
  • Oltre all'accesso di sicurezza OneLake al percorso di produzione, l'accesso a scorciatoie esterne tramite Spark o chiamate API dirette richiede anche permessi di lettura sull'elemento contenente il percorso di scorciatoia esterna.