Uruchamianie poleceń programu z poświadczeniami usługi Microsoft Entra w celu uzyskania dostępu do danych obiektów blob

Usługa Azure Storage udostępnia rozszerzenia dla programu PowerShell, które umożliwiają logowanie się i uruchamianie poleceń skryptów przy użyciu poświadczeń firmy Microsoft Entra. Po zalogowaniu się do programu PowerShell przy użyciu poświadczeń usługi Microsoft Entra zwracany jest token dostępu OAuth 2.0. Ten token jest automatycznie używany przez program PowerShell do autoryzowania kolejnych operacji danych w usłudze Blob Storage. W przypadku obsługiwanych operacji nie trzeba już przekazywać klucza konta ani tokenu SAS za pomocą polecenia .

Uprawnienia do danych obiektów blob można przypisać do podmiotu zabezpieczeń firmy Microsoft Entra za pośrednictwem kontroli dostępu opartej na rolach (Azure RBAC). Aby uzyskać więcej informacji na temat ról platformy Azure w usłudze Azure Storage, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych obiektów blob.

Obsługiwane operacje

Rozszerzenia usługi Azure Storage są obsługiwane w przypadku operacji na danych obiektów blob. Które operacje, które można wywołać, zależą od uprawnień przyznanych podmiotowi zabezpieczeń firmy Microsoft, za pomocą którego logujesz się do programu PowerShell. Uprawnienia do kontenerów usługi Azure Storage są przypisywane za pośrednictwem kontroli dostępu opartej na rolach platformy Azure. Jeśli na przykład przypisano rolę Czytelnik danych obiektów blob, możesz uruchomić polecenia skryptów odczytujące dane z kontenera. Jeśli przypisano rolę Współautor danych obiektu blob, możesz uruchamiać polecenia skryptów, które odczytują, zapisują lub usuwają kontener lub zawarte w nich dane.

Aby uzyskać szczegółowe informacje o uprawnieniach wymaganych dla każdej operacji usługi Azure Storage w kontenerze, zobacz Wywoływanie operacji magazynu przy użyciu tokenów OAuth.

Ważne

Gdy konto magazynu jest zablokowane za pomocą blokady readOnly usługi Azure Resource Manager, operacja Wyświetlanie kluczy listy nie jest dozwolona dla tego konta magazynu. Klucze listy to operacja POST, a wszystkie operacje POST są blokowane, gdy dla konta skonfigurowano blokadę ReadOnly . Z tego powodu, gdy konto jest zablokowane za pomocą blokady ReadOnly , użytkownicy, którzy jeszcze nie posiadają kluczy konta, muszą używać poświadczeń usługi Microsoft Entra w celu uzyskania dostępu do danych obiektów blob. W programie PowerShell dołącz -UseConnectedAccount parametr , aby utworzyć obiekt AzureStorageContext przy użyciu poświadczeń firmy Microsoft Entra.

Wywoływanie poleceń programu PowerShell przy użyciu poświadczeń usługi Microsoft Entra

Aby użyć programu Azure PowerShell do logowania się i uruchamiania kolejnych operacji w usłudze Azure Storage przy użyciu poświadczeń firmy Microsoft Entra, utwórz kontekst magazynu, aby odwołać się do konta magazynu i dołączyć -UseConnectedAccount parametr .

W poniższym przykładzie pokazano, jak utworzyć kontener na nowym koncie magazynu z poziomu programu Azure PowerShell przy użyciu poświadczeń usługi Microsoft Entra. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach kątowych własnymi wartościami:

  1. Zaloguj się do konta platformy Azure za pomocą polecenia Połączenie-AzAccount:

    Connect-AzAccount
    

    Aby uzyskać więcej informacji na temat logowania się do platformy Azure przy użyciu programu PowerShell, zobacz Logowanie się przy użyciu programu Azure PowerShell.

  2. Utwórz grupę zasobów platformy Azure, wywołując polecenie New-AzResourceGroup.

    $resourceGroup = "sample-resource-group-ps"
    $location = "eastus"
    New-AzResourceGroup -Name $resourceGroup -Location $location
    
  3. Utwórz konto magazynu, wywołując polecenie New-AzStorageAccount.

    $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
      -Name "<storage-account>" `
      -SkuName Standard_LRS `
      -Location $location `
      -AllowBlobPublicAccess $false
    
  4. Pobierz kontekst konta magazynu, który określa nowe konto magazynu, wywołując polecenie New-AzStorageContext. Podczas działania na koncie magazynu można odwoływać się do kontekstu zamiast wielokrotnie przekazywać poświadczenia. Dołącz parametr w -UseConnectedAccount celu wywołania wszelkich kolejnych operacji danych przy użyciu poświadczeń firmy Microsoft Entra:

    $ctx = New-AzStorageContext -StorageAccountName "<storage-account>" -UseConnectedAccount
    
  5. Przed utworzeniem kontenera przypisz rolę Współautor danych obiektu blob usługi Storage do siebie. Mimo że jesteś właścicielem konta, musisz mieć jawne uprawnienia do wykonywania operacji danych na koncie magazynu. Aby uzyskać więcej informacji na temat przypisywania ról platformy Azure, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych obiektów blob.

    Ważne

    Propagowanie przypisań ról platformy Azure może potrwać kilka minut.

  6. Utwórz kontener, wywołując polecenie New-AzStorageContainer. Ponieważ to wywołanie używa kontekstu utworzonego w poprzednich krokach, kontener jest tworzony przy użyciu poświadczeń firmy Microsoft Entra.

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

Następne kroki