Kör PowerShell-kommandon med Microsoft Entra-autentiseringsuppgifter för att komma åt blobdata

Azure Storage tillhandahåller tillägg för PowerShell som gör att du kan logga in och köra skriptkommandon med Microsoft Entra-autentiseringsuppgifter. När du loggar in på PowerShell med Microsoft Entra-autentiseringsuppgifter returneras en OAuth 2.0-åtkomsttoken. Denna token används automatiskt av PowerShell för att auktorisera efterföljande dataåtgärder mot Blob Storage. För åtgärder som stöds behöver du inte längre skicka en kontonyckel eller SAS-token med kommandot .

Du kan tilldela behörigheter till blobdata till ett Microsoft Entra-säkerhetsobjekt via rollbaserad åtkomstkontroll i Azure (Azure RBAC). Mer information om Azure-roller i Azure Storage finns i Tilldela en Azure-roll för åtkomst till blobdata.

Åtgärder som stöds

Azure Storage-tilläggen stöds för åtgärder på blobdata. Vilka åtgärder du kan anropa beror på vilka behörigheter som beviljats microsoft Entra-säkerhetsobjektet som du loggar in på PowerShell med. Behörigheter till Azure Storage-containrar tilldelas via Azure RBAC. Om du till exempel har tilldelats rollen Blob Data Reader kan du köra skriptkommandon som läser data från en container. Om du har tilldelats rollen Blob Data Contributor kan du köra skriptkommandon som läser, skriver eller tar bort en container eller de data som de innehåller.

Mer information om de behörigheter som krävs för varje Azure Storage-åtgärd i en container finns i Anropa lagringsåtgärder med OAuth-token.

Viktigt!

När ett lagringskonto är låst med ett Azure Resource Manager ReadOnly-lås tillåts inte åtgärden Listnycklar för lagringskontot. Listnycklar är en POST-åtgärd och alla POST-åtgärder förhindras när ett ReadOnly-lås har konfigurerats för kontot. Därför måste användare som inte redan har kontonycklarna använda Microsoft Entra-autentiseringsuppgifter för att komma åt blobdata när kontot är låst med ett ReadOnly-lås . I PowerShell tar du med parametern -UseConnectedAccount för att skapa ett AzureStorageContext-objekt med dina Microsoft Entra-autentiseringsuppgifter.

Anropa PowerShell-kommandon med Microsoft Entra-autentiseringsuppgifter

Om du vill använda Azure PowerShell för att logga in och köra efterföljande åtgärder mot Azure Storage med Microsoft Entra-autentiseringsuppgifter skapar du en lagringskontext för att referera till lagringskontot och inkluderar parametern -UseConnectedAccount .

I följande exempel visas hur du skapar en container i ett nytt lagringskonto från Azure PowerShell med dina Microsoft Entra-autentiseringsuppgifter. Kom ihåg att ersätta platshållarvärden i vinkelparenteser med dina egna värden:

  1. Logga in på ditt Azure-konto med kommandot Anslut-AzAccount:

    Connect-AzAccount
    

    Mer information om hur du loggar in på Azure med PowerShell finns i Logga in med Azure PowerShell.

  2. Skapa en Azure-resursgrupp genom att anropa New-AzResourceGroup.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. Skapa ett lagringskonto genom att anropa New-AzStorageAccount.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
      -AllowBlobPublicAccess $false
    
  4. Hämta kontexten för lagringskontot som anger det nya lagringskontot genom att anropa New-AzStorageContext. När du agerar på ett lagringskonto kan du referera till kontexten i stället för att upprepade gånger skicka in autentiseringsuppgifterna. Inkludera parametern -UseConnectedAccount för att anropa efterföljande dataåtgärder med dina Microsoft Entra-autentiseringsuppgifter:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. Innan du skapar containern tilldelar du rollen Storage Blob Data Contributor till dig själv. Även om du är kontoägare behöver du explicit behörighet för att utföra dataåtgärder mot lagringskontot. Mer information om hur du tilldelar Azure-roller finns i Tilldela en Azure-roll för åtkomst till blobdata.

    Viktigt!

    Det kan ta några minuter att sprida Azure-rolltilldelningar.

  6. Skapa en container genom att anropa New-AzStorageContainer. Eftersom det här anropet använder kontexten som skapades i föregående steg skapas containern med dina Microsoft Entra-autentiseringsuppgifter.

    $containerName = "sample-container"
    New-AzStorageContainer -Name $containerName -Context $ctx
    

Nästa steg