Uruchamianie poleceń programu PowerShell przy użyciu poświadczeń firmy Microsoft Entra w celu uzyskania dostępu do danych kolejki

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 Queue Storage. W przypadku obsługiwanych operacji nie trzeba już przekazywać klucza konta ani tokenu SAS za pomocą polecenia .

Uprawnienia do kolejki danych można przypisać do podmiotu zabezpieczeń firmy Microsoft Entra za pośrednictwem kontroli dostępu opartej na rolach (RBAC) platformy Azure. Aby uzyskać więcej informacji na temat ról platformy Azure w usłudze Azure Storage, zobacz Zarządzanie prawami dostępu do danych usługi Azure Storage przy użyciu kontroli dostępu opartej na rolach platformy Azure.

Obsługiwane operacje

Rozszerzenia usługi Azure Storage są obsługiwane w przypadku operacji na danych kolejki. 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 kolejek są przypisywane za pośrednictwem kontroli dostępu opartej na rolach platformy Azure. Jeśli na przykład przypisano rolę Czytelnik danych kolejki, możesz uruchomić polecenia skryptów odczytujące dane z kolejki. Jeśli przypisano rolę Współautor danych kolejki, możesz uruchamiać polecenia skryptów, które odczytują, zapisują lub usuwają kolejkę lub zawarte w nich dane.

Aby uzyskać szczegółowe informacje o uprawnieniach wymaganych dla każdej operacji usługi Azure Storage w kolejce, zobacz Wywoływanie operacji magazynowania 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 kolejki. 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

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

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ć kolejkę 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 `
    
  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 kolejki przypisz rolę Współautor danych kolejki magazynu 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 w kolejce.

    Ważne

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

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

    $queueName = "sample-queue"
    New-AzStorageQueue -Name $queueName -Context $ctx
    

Następne kroki