Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Usando Microsoft Entra ID, è possibile utilizzare il controllo degli accessi in base al ruolo di Azure (Azure RBAC) per concedere autorizzazioni a un principale di sicurezza, che può essere un utente, un gruppo o un principale di servizio applicativo. Microsoft Entra ID autentica l'entità di sicurezza e restituisce un token OAuth 2.0. Usare il token per autorizzare una richiesta al servizio BLOB.
È possibile usare l'autorizzazione con Microsoft Entra ID per tutti gli account di archiviazione generica e di tipo Blob in tutte le regioni pubbliche e nei cloud nazionali. Solo gli account di archiviazione creati usando il modello di distribuzione Azure Resource Manager supportano l'autorizzazione Microsoft Entra.
Importante
Per una sicurezza ottimale, Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste nei dati BLOB, code e tabelle, quando possibile. L'autorizzazione con Microsoft Entra ID e le identità gestite offre sicurezza e facilità di utilizzo superiori rispetto all'autorizzazione con chiave condivisa. Per altre informazioni sulle identità gestite, vedere Informazioni sulle identità gestite per le risorse di Azure. Per un esempio di come abilitare e usare un'identità gestita per un'applicazione .NET, vedere Autenticazione di app ospitate in Azure in risorse di Azure con .NET.
Per le risorse ospitate all'esterno di Azure, ad esempio le applicazioni locali, è possibile usare le identità gestite tramite Azure Arc. Ad esempio, le app in esecuzione nei server abilitati per Azure Arc possono utilizzare le identità gestite per connettersi ai servizi di Azure. Per altre informazioni Eseguire l'autenticazione con le risorse di Azure con i server abilitati per Azure Arc.
Per gli scenari in cui vengono usate le firme di accesso condiviso, Microsoft consiglia di usare una firma di accesso condiviso di delega utente. Una firma di accesso condiviso di delega utente è protetta con le credenziali di Microsoft Entra e non con la chiave dell'account. Per informazioni sulle chiavi di firma di accesso condiviso, vedere Concedere accesso limitato ai dati con firme di accesso condiviso. Per un esempio di come creare e usare una firma di accesso condiviso di delega utente con .NET, vedere Creare una firma di accesso condiviso di delega utente per un BLOB con .NET.
Informazioni generali sull'ID Microsoft Entra per i BLOB
Quando un'entità di sicurezza (un utente, un gruppo o un'applicazione) prova ad accedere a una risorsa BLOB, la richiesta deve essere autorizzata, a meno che non si tratti di un BLOB disponibile per l'accesso anonimo. Usando Microsoft Entra ID, l'accesso a una risorsa è un processo in due passaggi:
In primo luogo, l'identità dell'entità di sicurezza viene autenticata e viene restituito un token OAuth 2.0.
Il passaggio di autenticazione richiede che una richiesta dell'applicazione contenga un token di accesso OAuth 2.0 in fase di esecuzione. Se un'applicazione viene eseguita dall'interno di un'entità di Azure, ad esempio una macchina virtuale di Azure, un set di scalabilità di macchine virtuali o un'app di Funzioni di Azure, può usare un'identità gestita per accedere ai dati BLOB.
Successivamente, il token viene passato come parte di una richiesta al servizio BLOB e il servizio lo usa per autorizzare l'accesso alla risorsa specificata.
Il passaggio di autorizzazione richiede l'assegnazione di uno o più ruoli di controllo degli accessi in base al ruolo di Azure all'entità di sicurezza che effettua la richiesta. Per ulteriori informazioni, consultare Assegnare ruoli di Azure per i diritti di accesso.
Usare un account Microsoft Entra con il portale, PowerShell o l'interfaccia della riga di comando di Azure
Per informazioni su come accedere ai dati nel portale di Azure usando un account di Microsoft Entra, vedere accesso Data dal portale di Azure. Per informazioni su come eseguire comandi di Azure PowerShell o interfaccia della riga di comando di Azure usando un account Microsoft Entra, vedere Accesso ai dati da PowerShell o interfaccia della riga di comando di Azure.
Usare Microsoft Entra ID per autorizzare l'accesso nel codice dell'applicazione
Per autorizzare l'accesso a Archiviazione di Azure usando Microsoft Entra ID, usare una delle librerie client seguenti per acquisire un token OAuth 2.0:
- La libreria client Identità di Azure è consigliata per la maggior parte degli scenari di sviluppo.
- Il Libreria di Autenticazione Microsoft (MSAL) potrebbe essere adatto per determinati scenari avanzati.
Libreria client di Identità di Azure
La libreria client Azure Identity semplifica il processo di recupero di un token di accesso OAuth 2.0 per l'autorizzazione usando Microsoft Entra ID tramite Azure SDK. Le versioni più recenti delle librerie client di Archiviazione di Azure per .NET, Java, Python, JavaScript e Go si integrano con le librerie di identità Azure per ognuno di questi linguaggi per fornire un modo semplice e sicuro per acquisire un token di accesso per l'autorizzazione delle richieste di Archiviazione di Azure.
Un vantaggio della libreria client di Identità di Azure è che consente di usare lo stesso codice per acquisire il token di accesso se l'applicazione è in esecuzione nell'ambiente di sviluppo o in Azure. La libreria client di Identità di Azure restituisce un token di accesso per un'entità di sicurezza. Quando il codice è in esecuzione in Azure, l'entità di sicurezza può essere un'identità gestita per le risorse di Azure, un'entità servizio o un utente o gruppo. Nell'ambiente di sviluppo, la libreria client fornisce un token di accesso per un utente o per un'entità servizio a scopo di test.
Il token di accesso restituito dalla libreria client Azure Identity viene incapsulato in una credenziale del token. Con la credenziale del token si può ottenere un oggetto client del servizio da usare per eseguire operazioni autorizzate su Archiviazione di Azure. Un modo semplice per ottenere il token di accesso e le credenziali del token consiste nell'usare la classe client DefaultAzureCredential fornita dalla libreria client Azure Identity. DefaultAzureCredential prova a ottenere le credenziali del token tentando in sequenza diversi tipi di credenziali. DefaultAzureCredential funziona sia nell'ambiente di sviluppo, sia in Azure.
La tabella seguente punta a informazioni aggiuntive per autorizzare l'accesso ai dati in vari scenari:
Libreria di Autenticazione Microsoft (MSAL)
Anche se Microsoft consiglia di usare la libreria client Azure Identity, quando possibile, la libreria MSAL potrebbe essere appropriata per l'uso in determinati scenari avanzati. Per ulteriori informazioni, consultare Informazioni su MSAL.
Quando si usa MSAL per acquisire un token OAuth per l'accesso ad Archiviazione di Azure, è necessario fornire un ID risorsa di Microsoft Entra. L'ID della risorsa Microsoft Entra indica i destinatari per i quali è possibile usare un token emesso per consentire l'accesso a una risorsa di Azure. Nel caso di Archiviazione di Azure, l'ID risorsa potrebbe essere specifico di un singolo account di archiviazione o può essere applicato a qualsiasi account di archiviazione.
Quando si fornisce un ID risorsa specifico di un singolo account di archiviazione e servizio, l'ID risorsa viene usato per acquisire un token per autorizzare le richieste dirette esclusivamente all'account e al servizio specificati. La tabella seguente elenca il valore da usare per l'ID risorsa in base al cloud in uso. Sostituire <account-name> con il nome del proprio account di archiviazione.
| Nuvola | ID risorsa |
|---|---|
| Azure globale | https://<account-name>.blob.core.windows.net |
| Azure per enti pubblici (Servizi governativi di Azure) | https://<account-name>.blob.core.usgovcloudapi.net |
| 21Vianet per Azure Cina | https://<account-name>.blob.core.chinacloudapi.cn |
È anche possibile specificare un ID risorsa applicabile a qualunque account di archiviazione, come illustrato nella tabella seguente. Questo ID risorsa è lo stesso per tutti i cloud pubblici e sovrani e viene usato per acquisire un token per autorizzare le richieste a qualsiasi account di archiviazione.
| Nuvola | ID risorsa |
|---|---|
| Azure globale Azure per enti pubblici (Servizi governativi di Azure) 21Vianet per Azure Cina |
https://storage.azure.com/ |
Assegnare ruoli di Azure per i diritti di accesso
Microsoft Entra autorizza i diritti di accesso alle risorse protette tramite il Controllo degli accessi in base al ruolo di Azure. Archiviazione di Azure definisce un set di ruoli controllo degli accessi in base al ruolo predefiniti che includono set comuni di autorizzazioni usate per accedere ai dati BLOB. È anche possibile definire ruoli personalizzati per l'accesso ai dati BLOB. Per ulteriori informazioni sull'assegnazione dei ruoli di Azure per l'accesso ai BLOB, consultare Assegnare un ruolo di Azure per l'accesso ai dati BLOB.
Un'entità di sicurezza di Microsoft Entra può essere un utente, un gruppo, un'entità servizio dell'applicazione o un'identità gestita per le risorse di Azure. I ruoli RBAC assegnati a un principale di sicurezza determinano le autorizzazioni del principale per la risorsa specificata.
Per informazioni su come assegnare ruoli di Azure per l'accesso ai BLOB, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.
In alcuni casi, potrebbe essere necessario abilitare l'accesso granulare alle risorse BLOB o semplificare le autorizzazioni quando si dispone di un numero elevato di assegnazioni di ruolo per una risorsa di archiviazione. Utilizzare il controllo degli accessi basato su attributi di Azure (Azure ABAC) per configurare le condizioni sulle assegnazioni di ruolo. È possibile usare le condizioni con un ruolo personalizzato o selezionare ruoli predefiniti. Per ulteriori informazioni sulla configurazione delle condizioni per le risorse di archiviazione di Azure con controllo degli accessi in base al ruolo, consultare Autorizzare l'accesso ai BLOB usando le condizioni di assegnazione dei ruoli di Azure (anteprima). Per informazioni dettagliate sulle condizioni supportate per le operazioni sui dati BLOB, consultare Azioni e attributi per le condizioni di assegnazione di ruolo di Azure in Archiviazione di Azure (anteprima).
Note
Quando si crea un account Archiviazione di Azure, non vengono assegnate automaticamente le autorizzazioni per accedere ai dati tramite Microsoft Entra ID. È necessario assegnare in modo esplicito a se stessi un ruolo di Azure per accedere all'archiviazione BLOB. È possibile assegnare questo ruolo a livello di sottoscrizione, gruppo di risorse, account di archiviazione o singolo contenitore.
Ambito risorsa
Prima di assegnare un ruolo Controllo degli accessi in base al ruolo di Azure a un'entità di sicurezza, determinare l'ambito di accesso che dovrà avere. Concedere sempre solo l'ambito più ristretto possibile. I ruoli controllo degli accessi in base al ruolo di Azure definiti in un ambito più ampio vengono ereditati dalle risorse sottostanti.
È possibile definire l'ambito dell'accesso alle risorse BLOB di Azure ai livelli seguenti, a partire dall'ambito più ristretto:
- Un singolo contenitore. In questo ambito un'assegnazione di ruolo si applica a tutti i BLOB nel contenitore, nonché alle proprietà e ai metadati del contenitore.
- Account di archiviazione. In questo ambito, un'assegnazione di ruolo si applica a tutti i contenitori e ai relativi BLOB.
- Il gruppo di risorse. In questo ambito un'assegnazione di ruolo si applica a tutti i contenitori in tutti gli account di archiviazione del gruppo di risorse.
- La sottoscrizione. In questo ambito un'assegnazione di ruolo si applica a tutti i contenitori in tutti gli account di archiviazione di tutti i gruppi di risorse della sottoscrizione.
- Un gruppo di gestione. In questo ambito un'assegnazione di ruolo si applica a tutti i contenitori in tutti gli account di archiviazione di tutti i gruppi di risorse di tutte le sottoscrizioni nel gruppo di risorse.
Per ulteriori informazioni sull'ambito per le assegnazioni di ruolo Controllo degli accessi in base al ruolo di Azure, consultare Informazioni sull'ambito per il controllo degli accessi in base al ruolo di Azure.
Ruoli predefiniti di Azure per i BLOB
Azure RBAC fornisce diversi ruoli predefiniti per autorizzare l'accesso ai dati blob utilizzando Microsoft Entra ID e OAuth. Ecco alcuni esempi di ruoli che forniscono autorizzazioni per le risorse dati in Archiviazione di Azure:
- Proprietario dati BLOB di archiviazione: consente di impostare la proprietà e gestire il controllo di accesso POSIX per Azure Data Lake Storage. Per altre informazioni, vedere Controllo di accesso in Azure Data Lake Storage.
- Collaboratore ai dati del BLOB di archiviazione: consente di concedere le autorizzazioni di lettura, scrittura ed eliminazione alle risorse di archiviazione BLOB.
- Lettore dei dati BLOB di archiviazione: usare per concedere autorizzazioni di sola lettura alle risorse di Archiviazione BLOB.
- Delegante di BLOB di archiviazione: consente di ottenere una chiave di delega utente da usare per creare una firma di accesso condiviso per un contenitore o un BLOB firmato con credenziali di Microsoft Entra.
Per informazioni su come assegnare un ruolo predefinito di Azure a un'entità di sicurezza, consultare Assegnare un ruolo di Azure per l'accesso ai dati BLOB. Per informazioni su come elencare i ruoli controllo degli accessi in base al ruolo di Azure e le relative autorizzazioni, consultare Elencare le definizioni dei ruoli di Azure.
Per altre informazioni sul modo in cui vengono definiti i ruoli predefiniti per Archiviazione di Azure, vedere Informazioni sulle definizioni di ruolo. Per informazioni sulla creazione di ruoli personalizzati di Azure, consultare Ruoli personalizzati di Azure.
Solo i ruoli definiti in modo esplicito per l'accesso ai dati consentono a un'entità di sicurezza di accedere ai dati BLOB. I ruoli predefiniti, ad esempio Proprietario, Collaboratore e Collaboratore Account di archiviazione permettono a un'entità di sicurezza di gestire un account di archiviazione, ma non forniscono l'accesso ai dati di BLOB all'interno di tale account tramite Microsoft Entra ID. Tuttavia, se un ruolo include Microsoft.Storage/storageAccounts/listKeys/action, pertanto un utente a cui è assegnato tale ruolo può accedere ai dati nell'account di archiviazione tramite l'autorizzazione con chiave condivisa utilizzando le chiavi di accesso dell'account. Per ulteriori informazioni, consultare Scegliere come autorizzare l'accesso ai dati BLOB nel portale di Azure.
Per informazioni dettagliate sui ruoli predefiniti di Azure per Archiviazione di Azure, sia per i servizi dati che per il servizio di gestione, vedere la sezione Archiviazione in Ruoli predefiniti di Azure per il controllo degli accessi in base al ruolo di Azure. Inoltre, per informazioni sui diversi tipi di ruoli che forniscono autorizzazioni in Azure, consultare ruoli di Azure, ruoli di Microsoft Entra e ruoli di amministratore della sottoscrizione classica.
Importante
Azure la propagazione delle assegnazioni di ruolo può richiedere fino a 30 minuti.
Autorizzazioni di accesso per le operazioni dei dati
Per informazioni dettagliate sulle autorizzazioni necessarie per chiamare operazioni specifiche del servizio BLOB, consultare Autorizzazioni per chiamare le operazioni sui dati.
Ritardi di propagazione delle assegnazioni di ruolo per l'accesso ai dati BLOB
Quando si assegnano ruoli o si rimuovono le assegnazioni di ruolo, possono essere necessari fino a 10 minuti prima che le modifiche siano effettive. Se si assegnano ruoli nell'ambito del gruppo di gestione, l'operazione può richiedere molto più tempo.
È possibile assegnare ruoli predefiniti con azioni sui dati nell'ambito del gruppo di gestione. In rari scenari, tuttavia, potrebbe verificarsi un ritardo significativo (fino a 12 ore) prima che le autorizzazioni di azione dei dati siano valide per determinati tipi di risorse. Le autorizzazioni vengono applicate eventualmente. Per i ruoli predefiniti con azioni sui dati, l'aggiunta o la rimozione di assegnazioni di ruolo nell'ambito del gruppo di gestione non è consigliata per gli scenari in cui è necessaria l'attivazione tempestiva delle autorizzazioni o la revoca, ad esempio Microsoft Entra Privileged Identity Management (PIM).
Se si impostano le autorizzazioni appropriate per l'accesso ai dati tramite Microsoft Entra ID e non è possibile accedere ai dati, ad esempio si riceve un errore "AuthorizationPermissionMismatch", assicurarsi di consentire tempo sufficiente per le modifiche apportate alle autorizzazioni apportate in Microsoft Entra ID di replicare. Assicurarsi inoltre di non disporre di assegnazioni di rifiuto che bloccano l'accesso. Per altre informazioni, vedere Informazioni sulle assegnazioni di rifiuto di Azure.
Accedere ai dati con un account Microsoft Entra
È possibile autorizzare l'accesso ai dati BLOB tramite il portale di Azure, PowerShell o interfaccia della riga di comando di Azure usando l'account Microsoft Entra o usando le chiavi di accesso dell'account (autorizzazione con chiave condivisa).
Attenzione
L'autorizzazione con chiave condivisa non è consigliata, perché potrebbe essere meno sicura. Per una sicurezza ottimale, disabilitare l'autorizzazione tramite chiave condivisa per l'account di archiviazione, come descritto in Impedire l'autorizzazione con chiave condivisa per un account di Archiviazione di Azure.
L'uso di chiavi di accesso e stringhe di connessione deve essere limitato ai modelli di verifica delle app iniziali o ai prototipi di sviluppo che non accedono a dati sensibili o di produzione. Diversamente, per l'autenticazione alle risorse di Azure vanno sempre preferite le classi di autenticazione basate su token disponibili in Azure SDK.
Microsoft consiglia che i client usino Microsoft Entra ID o una firma di accesso condiviso per autorizzare l'accesso ai dati in Archiviazione di Azure. Per ulteriori informazioni, consultare Autorizzare le operazioni per l'accesso ai dati.
Accesso ai dati dal portale di Azure
Il portale di Azure può usare l'account Microsoft Entra o le chiavi di accesso dell'account per accedere ai dati BLOB in un account di archiviazione di Azure. Lo schema di autorizzazione usato dal portale di Azure dipende dai ruoli di Azure assegnati all'utente.
Quando si cerca di accedere ai dati blob, il portale di Azure controlla per prima cosa se è stato assegnato un ruolo di Azure con Microsoft.Storage/storageAccounts/listkeys/action. Se ti è stato assegnato un ruolo con questa azione, il portale di Azure usa la chiave dell'account per accedere ai dati BLOB tramite autorizzazione con chiave condivisa. Se non è stato assegnato un ruolo con questa azione, il portale di Azure tenta di accedere ai dati usando l'account Microsoft Entra.
Per accedere ai dati BLOB dal portale di Azure usando l'account Microsoft Entra, sono necessarie autorizzazioni per accedere ai dati BLOB e sono necessarie anche le autorizzazioni per spostarsi tra le risorse dell'account di archiviazione nel portale di Azure. I ruoli predefiniti forniti da Archiviazione di Azure concedono l'accesso alle risorse BLOB, ma non le autorizzazioni per le risorse dell'account di archiviazione. Per questo motivo, l'accesso al portale richiede anche l'assegnazione di un ruolo di Azure Resource Manager, ad esempio il ruolo Lettore, il cui ambito rientra nel livello di account di archiviazione o superiore. Il ruolo Lettore concede le autorizzazioni più limitate, ma è accettabile anche un altro ruolo di Azure Resource Manager che conceda l'accesso alle risorse di gestione degli account di archiviazione. Per altre informazioni su come assegnare autorizzazioni agli utenti per l'accesso ai dati nel portale di Azure con un account Microsoft Entra, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.
Il portale di Azure indica quale schema di autorizzazione è in uso quando si passa a un contenitore. Per altre informazioni sull'accesso ai dati nel portale, vedere Scegliere come autorizzare l'accesso ai dati BLOB nel portale di Azure.
Accesso ai dati da PowerShell o dall'interfaccia della riga di comando di Azure
L'interfaccia della riga di comando di Azure e PowerShell supportano l'accesso con le credenziali di Microsoft Entra. Dopo l'accesso, la sessione viene eseguita con tali credenziali. Per ulteriori informazioni, consultare uno degli articoli seguenti:
- Scegliere come autorizzare l'accesso ai dati dei BLOB con l'interfaccia della riga di comando di Azure
- Eseguire comandi di PowerShell con le credenziali di Microsoft Entra per accedere ai dati BLOB
Supporto delle funzionalità
Il supporto di questa funzionalità potrebbe essere influenzato dall'abilitazione dei protocolli Data Lake Storage Gen2, NFS (Network File System) 3.0 o SFTP (SSH File Transfer Protocol). Se è stata abilitata una di queste funzionalità, consultare Supporto delle funzionalità di Archiviazione BLOB negli account di Archiviazione di Azure per valutare il supporto per questa funzionalità.
L'autorizzazione delle operazioni di dati BLOB con Microsoft Entra ID è supportata solo per le versioni dell'API REST 2017-11-09 e successive. Per ulteriori informazioni, consultare Controllo delle versioni per i servizi di Archiviazione di Azure.