Che cos'è una firma di accesso condiviso (SAS) di OneLake?

Una firma di accesso condiviso (SAS) di OneLake offre accesso sicuro, a breve termine e delegato alle risorse in OneLake. Con OneLake SAS, hai un controllo dettagliato su come un client può accedere ai tuoi dati. Per esempio:

  • Quali risorse il client può accedere.
  • Quali autorizzazioni devono avere per le risorse.
  • Tempo di validità del SAS.

Ogni chiave SAS (Shared Access Signature) e chiave di delega utente di OneLake è sempre associata a un'identità di Microsoft Entra, ha una durata massima di 1 ora e può concedere l'accesso solo a cartelle e file all'interno di un elemento di dati, come una Lakehouse.

Funzionamento di una firma di accesso condiviso

Una firma di accesso condiviso è un token aggiunto all'URI per una risorsa OneLake. Il token contiene un set speciale di parametri di query che indicano come il client può accedere alla risorsa. Uno dei parametri di query è la firma. Viene costruito dai parametri SAS e firmato con la chiave usata per creare il SAS. OneLake usa questa firma per autorizzare l'accesso alla cartella o al file in OneLake. OneLake SAS usa lo stesso formato e le stesse proprietà della SAS delegata dall'utente di Azure Storage, ma con più restrizioni di sicurezza sulla durata e sull'ambito.

Una firma con chiave di accesso condiviso di OneLake è firmata con una chiave di delega utente (UDK), sostenuta da una credenziale di Microsoft Entra. È possibile richiedere una chiave di delega utente con l'operazione Ottieni chiave di delega utente . Usare quindi questa chiave (mentre è ancora valida) per creare la SAS (firma di accesso condiviso) di OneLake. Le autorizzazioni di tale credenziale di Microsoft Entra, insieme alle autorizzazioni concesse in modo esplicito al SAS, determinano l'accesso del client alla risorsa.

Autorizzazione di un SAS di OneLake

Quando un client o un'applicazione accede a OneLake con una firma di accesso condiviso OneLake, la richiesta viene autorizzata utilizzando le credenziali di Microsoft Entra, che sono state utilizzate per richiedere la chiave di delegazione utente impiegata nella creazione della firma di accesso condiviso. Pertanto, tutte le autorizzazioni di OneLake concesse all'identità Microsoft Entra si applicano alla SAS (firma di accesso condiviso), ovvero una SAS non può mai superare le autorizzazioni dell'utente che la crea. Inoltre, quando si crea una SAS (firma di accesso condiviso) si concedono in modo esplicito le autorizzazioni, consentendo di fornire autorizzazioni ancora più ristrette all'ambito della SAS. Tra l'identità fornita da Microsoft Entra, le autorizzazioni concesse in modo esplicito e la breve durata di vita, OneLake segue le procedure consigliate per la sicurezza per fornire l'accesso delegato ai dati.

Quando usare una SAS di OneLake

OneLake SAS delega l'accesso sicuro e temporaneo a OneLake, supportato da un'identità di Microsoft Entra. Le applicazioni senza supporto nativo di Microsoft Entra possono utilizzare una firma di accesso condiviso di OneLake per ottenere temporaneamente l'accesso necessario a caricare i dati senza dover affrontare complicate operazioni di configurazione e integrazione.

OneLake SAS supporta anche le applicazioni che fungono da proxy tra gli utenti e i relativi dati. Ad esempio, alcuni fornitori di software indipendenti (ISV) vengono eseguiti tra gli utenti e la loro area di lavoro Fabric, fornendo funzionalità aggiuntive e possibilmente un modello di autenticazione diverso. Delegando l'accesso con una firma di accesso condiviso di OneLake, questi ISV possono gestire l'accesso ai dati sottostanti e fornire l'accesso diretto ai dati, anche se i loro utenti non hanno identità di Microsoft Entra.

Gestione di OneLake SAS

Due impostazioni nel tenant di Fabric gestiscono l'uso di OneLake SAS.

La prima impostazione è un'impostazione a livello di tenant, Usa token SAS con delega utente a breve termine, che gestisce la generazione di chiavi di delega utente. Poiché le chiavi di delega utente vengono generate a livello di tenant, vengono controllate da un'impostazione del tenant. Questa impostazione è attivata per impostazione predefinita, poiché queste chiavi di delega utente hanno autorizzazioni equivalenti all'identità di Microsoft Entra che le richiede e sono sempre di breve durata.

Note

La disattivazione di questa funzionalità impedisce a tutte le aree di lavoro di usare la firma di accesso condiviso OneLake, poiché tutti gli utenti non potranno generare chiavi di delega utente.

La seconda impostazione è un'impostazione dell'area di lavoro delegata, Authenticate with OneLake user-delegated SAS tokens ,che controlla se un'area di lavoro accetta OneLake SAS. Questa impostazione è disattivata per impostazione predefinita. Un amministratore dell'area di lavoro può attivare questa impostazione per consentire l'autenticazione con OneLake SAS nell'area di lavoro. Un amministratore tenant può attivare questa impostazione per tutte le aree di lavoro tramite l'impostazione del tenant o lasciarla attiva agli amministratori dell'area di lavoro.

È anche possibile monitorare la creazione di chiavi di delega utente nel portale di Microsoft Purview. Per visualizzare tutte le chiavi generate nel tenant, cercare il nome dell'operazione generateonelakeudk. Poiché la creazione di una SAS è un'operazione lato client, non è possibile monitorare o limitare la creazione di una SAS di OneLake, ma solo la generazione di una UDK.

Procedure consigliate con OneLake SAS

  • Usare sempre HTTPS per creare o distribuire un SAS per proteggersi da attacchi man-in-the-middle che cercano di intercettare il SAS.
  • Tenere traccia dei tempi di scadenza del token di firma di accesso condiviso, della chiave e della firma di accesso condiviso. Le chiavi di delega utente di OneLake e i token di firma di accesso condiviso hanno una durata massima di 1 ora. Il tentativo di richiedere una chiave definita dall'utente o creare una firma di accesso condiviso con una durata superiore a 1 ora causa l'esito negativo della richiesta. Per evitare che la firma di accesso condiviso venga usata per estendere la durata dei token OAuth in scadenza, la durata del token deve anche essere superiore alla scadenza della chiave di delega utente e della firma di accesso condiviso.
  • Prestare attenzione all'ora di inizio di un token di firma di accesso condiviso. Impostare l'ora di inizio di un SAS come ora corrente potrebbe causare errori per i primi minuti, a causa di orari di inizio diversi tra i computer (sfasamento dell'orologio). L'impostazione dell'ora di inizio per alcuni minuti in passato consente di proteggersi da questi errori.
  • Concedere i privilegi minimi possibili alla SAS. Fornire i privilegi minimi necessari al minor numero di risorse è un aspetto fondamentale della sicurezza e riduce l'impatto se un SAS viene compromesso.
  • Monitorare la generazione di chiavi di delega utente. È possibile controllare la creazione di chiavi di delega utente nel portale di Microsoft Purview. Cerca il nome dell'operazione generateonelakeudk per visualizzare le chiavi generate nel tenant.
  • Comprendere le limitazioni di OneLake SAS. Poiché i token di firma di accesso condiviso OneLake non possono avere autorizzazioni a livello di area di lavoro, non sono compatibili con alcuni strumenti di Archiviazione di Azure che prevedono autorizzazioni a livello di contenitore per attraversare i dati, ad esempio Azure Storage Explorer.
  • Abilitare la diagnostica di OneLake per tenere traccia dell'utilizzo di OneLake SAS. Quando viene usato un token di firma di accesso condiviso OneLake per accedere ai dati, l'utilizzo, inclusa l'identità dell'utente delegato e l'indirizzo IP dell'applicazione tramite il token, viene registrato dalla diagnostica di OneLake. Abilitare la diagnostica per mantenere un audit trail completo dell'accesso OneLake SAS ai tuoi dati.