Eseguire comandi di PowerShell con le credenziali di Microsoft Entra per accedere ai dati BLOB
Archiviazione di Azure offre estensioni per PowerShell che consentono di accedere ed eseguire comandi di scripting con le credenziali di Microsoft Entra. Quando si accede a PowerShell con le credenziali di Microsoft Entra, viene restituito un token di accesso OAuth 2.0. Tale token viene usato automaticamente da PowerShell per autorizzare le operazioni successive sui dati in Archiviazione di Azure. 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.
Operazioni supportate
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 per accedere a PowerShell. 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 è stata ricevuta l’assegnazione del ruolo di Lettore dei dati dei BLOB, è possibile eseguire i comandi di scripting che leggono i dati da un contenitore. Se è stata ricevuta l'assegnazione del ruolo di Collaboratore ai dati dei BLOB, è possibile eseguire i comandi di scripting per la lettura, scrittura o eliminazione di un contenitore o dei dati in essi contenuti.
Per informazioni dettagliate sulle autorizzazioni necessarie per ogni operazione di Archiviazione di Azure su un contenitore, vedere Chiamare le operazioni di archiviazione con i token OAuth.
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 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 dei BLOB. In PowerShell includere il parametro -UseConnectedAccount
per creare un oggetto AzureStorageContext con le credenziali di Microsoft Entra.
Chiamare i comandi di PowerShell usando le credenziali di Microsoft Entra
Per usare Azure PowerShell per accedere alle operazioni successive ed eseguirle in Archiviazione di Azure usando le credenziali di Microsoft Entra, creare un contesto di archiviazione per fare riferimento all'account di archiviazione e includere il parametro -UseConnectedAccount
.
L'esempio seguente illustra come creare un contenitore in un nuovo account di archiviazione da Azure PowerShell usando le credenziali di Microsoft Entra. È necessario ricordare di sostituire i valori segnaposto tra parentesi uncinate con i valori personalizzati:
Accedere all'account Azure con il comando Connect-AzAccount:
Connect-AzAccount
Per altre informazioni sull'accesso ad Azure con PowerShell, vedere Accedere con Azure PowerShell.
Creare un gruppo di risorse di Azure chiamando New-AzResourceGroup.
$resourceGroup = "sample-resource-group-ps" $location = "eastus" New-AzResourceGroup -Name $resourceGroup -Location $location
Creare un account di archiviazione chiamando New-AzStorageAccount.
$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup ` -Name "<storage-account>" ` -SkuName Standard_LRS ` -Location $location ` -AllowBlobPublicAccess $false
Ottenere il contesto dell'account di archiviazione che specifica il nuovo account di archiviazione chiamando New-AzStorageContext. Quando si usa un account di archiviazione, è possibile fare riferimento al contesto anziché passare ripetutamente le credenziali. Includere il parametro
-UseConnectedAccount
per chiamare eventuali operazioni successive sui dati usando le credenziali di Microsoft Entra:$ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
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 dei BLOB.
Importante
La propagazione delle assegnazioni dei ruoli può richiedere alcuni minuti.
Creare un contenitore chiamando New-AzStorageContainer. Poiché questa chiamata usa il contesto creato nei passaggi precedenti, il contenitore viene creato usando le credenziali di Microsoft Entra.
$containerName = "sample-container" New-AzStorageContainer -Name $containerName -Context $ctx