Condividi tramite


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

Archiviazione di Azure offre 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.

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

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

Nota

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

Importante

Se si omette il parametro --auth-mode 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 ambienteAZURE_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 di 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 di 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 di coda. 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 per i 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 di Archiviazione di Azure sono supportate per le operazioni sui dati BLOB. Le operazioni che è possibile chiamare dipendono dalle autorizzazioni concesse all'entità di sicurezza di Microsoft Entra con cui si accede all'interfaccia della riga di comando di Azure. Le autorizzazioni per i contenitori di Archiviazione di Azure vengono assegnate tramite il controllo degli accessi in base al ruolo di Azure. Ad esempio, se si dispone del ruolo Lettore dei dati BLOB di archiviazione, è possibile eseguire comandi di scripting che leggano i dati da un contenitore. Se si dispone del ruolo Collaboratore ai dati BLOB di archiviazione, è possibile eseguire comandi di scripting per la lettura, la scrittura o l'eliminazione di un contenitore o dei dati che contiene.

Per informazioni dettagliate sulle autorizzazioni necessarie per ogni operazione di Archiviazione di Azure in un contenitore, vedere Chiamare le operazioni di archiviazione con i 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 nell'account di archiviazione. Per altre informazioni sull'assegnazione di 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 parametro --auth-mode impostato su login per 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 sui dati di Archiviazione di Azure. 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 parametro --auth-mode con il valore key:

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

Importante

Quando a un account di archiviazione è applicato un blocco ReadOnly di Azure Resource Manager, l'operazione Elenca chiavi non è consentita per tale account di archiviazione. Elenca chiavi è 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 per un'operazione sui dati di 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 nessuna delle 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 la limitazione della larghezza di banda della rete del provider di risorse di Archiviazione di Azure. Per altre informazioni sui limiti del provider di risorse, vedere Obiettivi di scalabilità e prestazioni per il provider di risorse di 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 Una 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 Un token di firma di accesso condiviso (SAS). 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