Wybieranie sposobu autoryzowania dostępu do danych w kolejce za pomocą interfejsu wiersza polecenia platformy Azure

Usługa Azure Storage udostępnia rozszerzenia dla interfejsu wiersza polecenia platformy Azure, które umożliwiają określenie sposobu autoryzowania operacji na danych kolejki. Operacje na danych można autoryzować na następujące sposoby:

  • Z podmiotem zabezpieczeń firmy Microsoft Entra. Firma Microsoft zaleca korzystanie z poświadczeń firmy Microsoft Entra w celu zapewnienia doskonałego bezpieczeństwa i łatwości użycia.
  • Za pomocą klucza dostępu konta lub tokenu sygnatury dostępu współdzielonego (SAS).

Określanie sposobu autoryzacji operacji danych

Polecenia interfejsu wiersza polecenia platformy Azure do odczytywania i zapisywania danych kolejki obejmują opcjonalny --auth-mode parametr. Określ ten parametr, aby wskazać sposób autoryzacji operacji danych:

  • Ustaw parametr na --auth-mode wartość , aby login zalogować się przy użyciu podmiotu zabezpieczeń firmy Microsoft Entra (zalecane).
  • --auth-mode Ustaw parametr na starszą key wartość, aby spróbować pobrać klucz dostępu konta do użycia na potrzeby autoryzacji. Jeśli pominięto --auth-mode parametr, interfejs wiersza polecenia platformy Azure próbuje również pobrać klucz dostępu.

Aby użyć parametru --auth-mode , upewnij się, że zainstalowano interfejs wiersza polecenia platformy Azure w wersji 2.0.46 lub nowszej. Uruchom polecenie , az --version aby sprawdzić zainstalowaną wersję.

Uwaga

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.

Ważne

Jeśli pominiesz --auth-mode parametr lub ustawisz go na keywartość , interfejs wiersza polecenia platformy Azure spróbuje użyć klucza dostępu konta do autoryzacji. W takim przypadku firma Microsoft zaleca podanie klucza dostępu na poleceniu lub w zmiennej środowiskowej AZURE_STORAGE_KEY . Aby uzyskać więcej informacji na temat zmiennych środowiskowych, zobacz sekcję zatytułowaną Ustawianie zmiennych środowiskowych dla parametrów autoryzacji.

Jeśli nie podasz klucza dostępu, interfejs wiersza polecenia platformy Azure próbuje wywołać dostawcę zasobów usługi Azure Storage w celu pobrania go dla każdej operacji. Wykonywanie wielu operacji danych, które wymagają wywołania dostawcy zasobów, może spowodować ograniczenie przepustowości. Aby uzyskać więcej informacji na temat limitów dostawcy zasobów, zobacz Cele dotyczące skalowalności i wydajności dla dostawcy zasobów usługi Azure Storage.

Autoryzowanie przy użyciu poświadczeń firmy Microsoft Entra

Po zalogowaniu się do interfejsu wiersza polecenia platformy Azure przy użyciu poświadczeń usługi Microsoft Entra zwracany jest token dostępu OAuth 2.0. Ten token jest automatycznie używany przez interfejs wiersza polecenia platformy Azure 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.

Uprawnienia do wywoływania operacji danych

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ń udzielonych podmiotowi zabezpieczeń firmy Microsoft, za pomocą którego logujesz się do interfejsu wiersza polecenia platformy Azure. Uprawnienia do kolejek są przypisywane za pośrednictwem kontroli dostępu opartej na rolach platformy Azure. Jeśli na przykład masz przypisaną rolę Czytelnik danych kolejki magazynu, możesz uruchomić polecenia skryptowe odczytujące dane z kolejki. Jeśli masz przypisaną rolę Współautor danych kolejki magazynu, 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.

Przykład: autoryzowanie operacji tworzenia kolejki przy użyciu poświadczeń firmy Microsoft Entra

W poniższym przykładzie pokazano, jak utworzyć kolejkę z poziomu interfejsu wiersza polecenia platformy Azure przy użyciu poświadczeń firmy Microsoft Entra. Aby utworzyć kolejkę, musisz zalogować się do interfejsu wiersza polecenia platformy Azure i musisz mieć grupę zasobów i konto magazynu.

  1. 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.

  2. Wywołaj az storage queue create polecenie z ustawionym parametrem --auth-mode , aby login utworzyć kolejkę przy użyciu poświadczeń firmy Microsoft Entra. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach kątowych własnymi wartościami:

    az storage queue create \
        --account-name <storage-account> \
        --name sample-queue \
        --auth-mode login
    

Autoryzowanie przy użyciu klucza dostępu do konta

Jeśli posiadasz klucz konta, możesz wywołać dowolną operację danych usługi Azure Storage. Ogólnie rzecz biorąc, użycie klucza konta jest mniej bezpieczne. Jeśli klucz konta zostanie naruszony, wszystkie dane na Twoim koncie mogą zostać naruszone.

W poniższym przykładzie pokazano, jak utworzyć kolejkę przy użyciu klucza dostępu do konta. Określ klucz konta i podaj --auth-mode parametr z wartością key :

az storage queue create \
    --account-name <storage-account> \
    --name sample-queue \
    --account-key <key>
    --auth-mode key

Autoryzowanie przy użyciu tokenu SAS

Jeśli posiadasz token SAS, możesz wywołać operacje danych, które są dozwolone przez sygnaturę dostępu współdzielonego. W poniższym przykładzie pokazano, jak utworzyć kolejkę przy użyciu tokenu SAS:

az storage queue create \
    --account-name <storage-account> \
    --name sample-queue \
    --sas-token <token>

Ustawianie zmiennych środowiskowych dla parametrów autoryzacji

Parametry autoryzacji można określić w zmiennych środowiskowych, aby uniknąć dołączania ich do każdego wywołania operacji danych usługi Azure Storage. W poniższej tabeli opisano dostępne zmienne środowiskowe.

Zmienna środowiskowa opis
AZURE_STORAGE_ACCOUNT Nazwa konta magazynu. Ta zmienna powinna być używana w połączeniu z kluczem konta magazynu lub tokenem SAS. Jeśli żaden z nich nie istnieje, interfejs wiersza polecenia platformy Azure próbuje pobrać klucz dostępu do konta magazynu przy użyciu uwierzytelnioowanego konta Microsoft Entra. Jeśli jednocześnie jest uruchamiana duża liczba poleceń, może zostać osiągnięty limit ograniczania dostawcy zasobów usługi Azure Storage. Aby uzyskać więcej informacji na temat limitów dostawcy zasobów, zobacz Cele dotyczące skalowalności i wydajności dla dostawcy zasobów usługi Azure Storage.
AZURE_STORAGE_KEY Klucz konta magazynu. Ta zmienna musi być używana w połączeniu z nazwą konta magazynu.
AZURE_STORAGE_CONNECTION_STRING Parametry połączenia, który zawiera klucz konta magazynu lub token SAS. Ta zmienna musi być używana w połączeniu z nazwą konta magazynu.
AZURE_STORAGE_SAS_TOKEN Token sygnatury dostępu współdzielonego (SAS). Ta zmienna musi być używana w połączeniu z nazwą konta magazynu.
AZURE_STORAGE_AUTH_MODE Tryb autoryzacji, za pomocą którego należy uruchomić polecenie. Dozwolone wartości to login (zalecane) lub key. Jeśli określisz login, interfejs wiersza polecenia platformy Azure używa poświadczeń firmy Microsoft Entra do autoryzowania operacji danych. Jeśli określisz key starszy tryb, interfejs wiersza polecenia platformy Azure spróbuje wykonać zapytanie dotyczące klucza dostępu do konta i autoryzować polecenie za pomocą klucza.

Następne kroki