Ausführen von PowerShell-Befehlen mit Microsoft Entra-Anmeldeinformationen für den Zugriff auf Blobdaten

Azure Storage bietet Erweiterungen für PowerShell, mit deren Hilfe Sie sich mit Microsoft Entra-Anmeldeinformationen anmelden und Skriptbefehle ausführen können. Wenn Sie sich mit Microsoft Entra-Anmeldeinformationen bei PowerShell anmelden, wird ein OAuth 2.0-Zugriffstoken zurückgegeben. Dieses Token wird dann automatisch von PowerShell verwendet, um nachfolgende Vorgänge für Blob Storage-Daten zu autorisieren. Für unterstützte Vorgänge müssen Sie mit dem Befehl keinen Kontoschlüssel und kein SAS-Token mehr übergeben.

Sie können einem Microsoft Entra-Sicherheitsprinzipal über die rollenbasierte Zugriffssteuerung (Azure RBAC) Berechtigungen für Blob-Daten zuweisen. Weitere Informationen zum Zuweisen von Azure-Rollen in Azure Storage finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.

Unterstützte Vorgänge

Die Azure Storage-Erweiterungen werden für Vorgänge mit Blobdaten unterstützt. Welche Vorgänge Sie aufrufen können, hängt von den Berechtigungen des Microsoft Entra-Sicherheitsprinzipals ab, mit dem Sie sich bei PowerShell anmelden. Die Berechtigungen für Azure Storage-Container werden über Azure RBAC zugewiesen. Wenn Ihnen beispielsweise die Rolle Blobdatenleser zugewiesen wurde, können Sie Skriptbefehle ausführen, die Daten aus einem Container lesen. Wurde Ihnen die Rolle Mitwirkender an Blobdaten zugewiesen, können Sie Skriptbefehle ausführen, die einen Container bzw. die darin enthaltenen Daten lesen, schreiben oder löschen.

Einzelheiten zu den Berechtigungen, die für die einzelnen Azure Storage-Vorgänge in einem Container erforderlich sind, finden Sie unter Aufrufen von Speichervorgängen mit OAuth-Token.

Wichtig

Wenn ein Speicherkonto mit ReadOnly in Azure Resource Manager gesperrt ist, ist der Vorgang Schlüssel auflisten für dieses Speicherkonto nicht zulässig. Schlüssel auflisten ist ein POST-Vorgang, und alle POST-Vorgänge werden verhindert, wenn die Sperre ReadOnly für das Konto festgelegt wurde. Aus diesem Grund müssen Benutzer, die nicht bereits über die Kontoschlüssel verfügen, Microsoft Entra-Anmeldeinformationen für den Zugriff auf Blob-Daten verwenden, wenn das Konto mit ReadOnly gesperrt ist. Fügen Sie in PowerShell den Parameter -UseConnectedAccount ein, um ein Objekt vom Typ AzureStorageContext mit Ihren Microsoft Entra-Anmeldeinformationen zu erstellen.

Aufrufen von PowerShell-Befehlen mithilfe von Microsoft Entra-Anmeldeinformationen

Wenn Sie sich über Azure PowerShell anmelden und mithilfe der Microsoft Entra-Anmeldeinformationen nachfolgende Vorgänge in Azure Storage ausführen möchten, erstellen Sie einen Speicherkontext als Verweis für das Speicherkonto, und verwenden Sie dabei den -UseConnectedAccount-Parameter.

Im folgenden Beispiel sehen Sie, wie Sie in einem neuen Speicherkonto mithilfe Ihrer Microsoft Entra-Anmeldeinformationen über Azure PowerShell einen Container erstellen. Denken Sie daran, die Platzhalterwerte in eckigen Klammern durch Ihre eigenen Werte zu ersetzen:

  1. Melden Sie sich mit dem Befehl Connect-AzAccount bei Ihrem Azure-Konto an:

    Connect-AzAccount
    

    Weitere Informationen zum Anmelden mit Azure PowerShell finden Sie unter Anmelden mit Azure PowerShell.

  2. Erstellen Sie eine Azure-Ressourcengruppe, indem Sie New-AzResourceGroup aufrufen.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. Erstellen Sie ein Speicherkonto, indem Sie New-AzStorageAccount aufrufen.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
      -AllowBlobPublicAccess $false
    
  4. Rufen Sie den Speicherkontokontext ab, der das neue Speicherkonto bestimmt, indem Sie New-AzStorageContext aufrufen. Wenn Sie Aktionen für ein Speicherkonto ausführen, können Sie auf den Kontext verweisen, anstatt immer wieder die Anmeldeinformationen zu übergeben. Schließen Sie den -UseConnectedAccount-Parameter ein, um mithilfe Ihrer Microsoft Entra-Anmeldeinformationen beliebige anschließende Datenvorgänge aufzurufen:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. Weisen Sie sich vor der Erstellung des Containers selbst die Rolle Mitwirkender an Storage-Blobdaten zu. Obwohl Sie der Kontobesitzer sind, benötigen Sie explizite Berechtigungen, um Datenvorgänge in Ihrem Speicherkonto ausführen zu können. Weitere Informationen zum Zuweisen von Azure-Rollen finden Sie unter Zuweisen einer RBAC-Rolle für den Zugriff auf Blobdaten.

    Wichtig

    Die Azure-Rollenzuweisungen können einige Minuten dauern.

  6. Erstellen Sie einen Container, indem Sie New-AzStorageContainer aufrufen. Da dieser Aufruf den Kontext verwendet, den Sie in den vorherigen Schritten erstellt haben, wird der Container mithilfe Ihrer Microsoft Entra-Anmeldeinformationen erstellt.

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

Nächste Schritte