Scegliere come autorizzare l'accesso ai dati dei BLOB con l'interfaccia della riga di comando di Azure

Archiviazione di Azure fornisce estensioni per l'interfaccia della riga di comando di Azure che consentono di specificare come autorizzare le operazioni sui dati BLOB. È possibile autorizzare le operazioni sui dati nei modi seguenti:

  • Con un'entità di sicurezza di Microsoft Entra. Microsoft consiglia di usare le credenziali di Microsoft Entra per una maggiore sicurezza e facilità d'uso.
  • Con la chiave di accesso dell'account o un token di firma di accesso condiviso .With the account access key or a shared access signature (SAS) token.

Specificare la modalità di autorizzazione delle operazioni dei dati

I comandi dell'interfaccia della riga di comando di Azure per la lettura e la scrittura di dati BLOB includono il parametro facoltativo --auth-mode . Specificare questo parametro per indicare come deve essere autorizzata un'operazione dati:

  • Impostare il --auth-mode parametro su per login accedere usando un'entità di sicurezza Di Microsoft Entra (scelta consigliata).
  • Impostare il --auth-mode parametro sul valore legacy key per tentare di recuperare la chiave di accesso dell'account da usare per l'autorizzazione. Se si omette il --auth-mode parametro, l'interfaccia della riga di comando di Azure tenta anche di recuperare la chiave di accesso.

Per usare il parametro , assicurarsi di aver installato l'interfaccia --auth-mode della riga di comando di Azure versione 2.0.46 o successiva. Eseguire az --version per controllare la versione installata.

Nota

Quando un account di archiviazione è bloccato con un blocco ReadOnly di Azure Resource Manager, l'operazione List Keys non è consentita per tale account di archiviazione. List Keys è un'operazione POST e tutte le operazioni POST vengono impedite quando viene configurato un blocco ReadOnly per l'account. Per questo motivo, quando l'account è bloccato con un blocco ReadOnly , gli utenti che non dispongono già delle chiavi dell'account devono usare le credenziali di Microsoft Entra per accedere ai dati BLOB.

Importante

Se si omette il --auth-mode parametro o lo si imposta su key, l'interfaccia della riga di comando di Azure tenta di usare la chiave di accesso dell'account per l'autorizzazione. In questo caso, Microsoft consiglia di fornire la chiave di accesso nel comando o nella variabile di ambiente AZURE_STORAGE_KEY . Per altre informazioni sulle variabili di ambiente, vedere la sezione Impostare le variabili di ambiente per i parametri di autorizzazione.

Se non si specifica la chiave di accesso, l'interfaccia della riga di comando di Azure tenta di chiamare il provider di risorse Archiviazione di Azure per recuperarlo per ogni operazione. L'esecuzione di molte operazioni sui dati che richiedono una chiamata al provider di risorse può comportare una limitazione. Per altre informazioni sui limiti del provider di risorse, vedere Obiettivi di scalabilità e prestazioni per il provider di risorse Archiviazione di Azure.

Autorizzare con le credenziali di Microsoft Entra

Quando si accede all'interfaccia della riga di comando di Azure con le credenziali di Microsoft Entra, viene restituito un token di accesso OAuth 2.0. Tale token viene usato automaticamente dall'interfaccia della riga di comando di Azure per autorizzare le operazioni successive sui dati sull'archiviazione BLOB o code. Per le operazioni supportate, non è più necessario passare un chiave dell'account o un token di firma di accesso condiviso con il comando.

È possibile assegnare autorizzazioni ai dati BLOB a un'entità di sicurezza Di Microsoft Entra tramite il controllo degli accessi in base al ruolo di Azure. Per altre informazioni sui ruoli di Azure in Archiviazione di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Autorizzazioni per chiamare le operazioni dei dati

Le estensioni Archiviazione di Azure sono supportate per le operazioni sui dati BLOB. Le operazioni che è possibile chiamare dipendono dalle autorizzazioni concesse all'entità di sicurezza Microsoft Entra con cui si accede all'interfaccia della riga di comando di Azure. Le autorizzazioni per Archiviazione di Azure contenitori vengono assegnate tramite il controllo degli accessi in base al ruolo di Azure. Ad esempio, se viene assegnato il ruolo lettore di dati BLOB Archiviazione, è possibile eseguire comandi di scripting che leggono i dati da un contenitore. Se viene assegnato il ruolo Collaboratore dati BLOB Archiviazione, è possibile eseguire comandi di scripting che leggono, scrivono o eliminano un contenitore o i dati in esso contenuti.

Per informazioni dettagliate sulle autorizzazioni necessarie per ogni operazione di Archiviazione di Azure in un contenitore, vedere Chiamare le operazioni di archiviazione con token OAuth.

Esempio: Autorizzare un'operazione per creare un contenitore con le credenziali di Microsoft Entra

L'esempio seguente illustra come creare un contenitore dall'interfaccia della riga di comando di Azure usando le credenziali di Microsoft Entra. Per creare il contenitore, è necessario accedere all'interfaccia della riga di comando di Azure ed è necessario un gruppo di risorse e un account di archiviazione. Per informazioni su come creare queste risorse, vedere Avvio rapido: Creare, scaricare ed elencare BLOB con l'interfaccia della riga di comando di Azure.

  1. Prima di creare il contenitore, assegnare il ruolo Collaboratore ai dati dei BLOB di archiviazione a se stessi. Anche se si è il proprietario dell'account, sono necessarie autorizzazioni esplicite per eseguire operazioni sui dati sull'account di archiviazione. Per altre informazioni sull'assegnazione dei ruoli di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

    Importante

    La propagazione delle assegnazioni dei ruoli può richiedere alcuni minuti.

  2. Chiamare il comando az storage container create con il --auth-mode parametro impostato su per login creare il contenitore usando le credenziali di Microsoft Entra. È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:

    az storage container create \
        --account-name <storage-account> \
        --name sample-container \
        --auth-mode login
    

Autorizzare con la chiave di accesso dell'account

Se si possiede la chiave dell'account, è possibile chiamare qualsiasi operazione Archiviazione di Azure dati. In generale, l'uso della chiave dell'account è meno sicuro. Se la chiave dell'account viene compromessa, tutti i dati nell'account potrebbero essere compromessi.

L'esempio seguente illustra come creare un contenitore usando la chiave di accesso dell'account. Specificare la chiave dell'account e specificare il --auth-mode parametro con il key valore :

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --account-key <key>
    --auth-mode key

Importante

Quando un account di archiviazione è bloccato con un blocco ReadOnly di Azure Resource Manager, l'operazione List Keys non è consentita per tale account di archiviazione. List Keys è un'operazione POST e tutte le operazioni POST vengono impedite quando viene configurato un blocco ReadOnly per l'account. Per questo motivo, quando l'account è bloccato con un blocco ReadOnly , gli utenti devono accedere ai dati con le credenziali di Microsoft Entra.

Autorizzare con un token di firma di accesso condiviso

Se si possiede un token di firma di accesso condiviso, è possibile chiamare le operazioni sui dati consentite dalla firma di accesso condiviso. L'esempio seguente illustra come creare un contenitore usando un token di firma di accesso condiviso:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --sas-token <token>

Impostare le variabili di ambiente per i parametri di autorizzazione

È possibile specificare i parametri di autorizzazione nelle variabili di ambiente per evitare di includerli in ogni chiamata a un'operazione di dati Archiviazione di Azure. Nella tabella seguente vengono descritte le variabili di ambiente disponibili.

Variabile di ambiente Descrizione
AZURE_STORAGE_ACCOUNT nome dell'account di archiviazione. Questa variabile deve essere usata insieme alla chiave dell'account di archiviazione o a un token di firma di accesso condiviso. Se nessuno dei due è presente, l'interfaccia della riga di comando di Azure tenta di recuperare la chiave di accesso dell'account di archiviazione usando l'account Microsoft Entra autenticato. Se un numero elevato di comandi viene eseguito contemporaneamente, è possibile raggiungere il limite di limitazione del provider di risorse Archiviazione di Azure. Per altre informazioni sui limiti del provider di risorse, vedere Obiettivi di scalabilità e prestazioni per il provider di risorse Archiviazione di Azure.
AZURE_STORAGE_KEY Chiave dell'account di archiviazione. Questa variabile deve essere usata insieme al nome dell'account di archiviazione.
AZURE_STORAGE_CONNECTION_STRING Un stringa di connessione che include la chiave dell'account di archiviazione o un token di firma di accesso condiviso. Questa variabile deve essere usata insieme al nome dell'account di archiviazione.
AZURE_STORAGE_SAS_TOKEN Token di firma di accesso condiviso. Questa variabile deve essere usata insieme al nome dell'account di archiviazione.
AZURE_STORAGE_AUTH_MODE Modalità di autorizzazione con cui eseguire il comando. I valori consentiti sono login (consigliati) o key. Se si specifica login, l'interfaccia della riga di comando di Azure usa le credenziali di Microsoft Entra per autorizzare l'operazione sui dati. Se si specifica la modalità legacy key , l'interfaccia della riga di comando di Azure tenta di eseguire una query per la chiave di accesso dell'account e di autorizzare il comando con la chiave.

Passaggi successivi