Wybierz sposób autoryzowania dostępu do danych obiektów blob za pomocą usługi Azure CLI

Usługa Azure Storage udostępnia rozszerzenia dla funkcji Azure CLI, które umożliwiają określenie sposobu autoryzowania operacji na danych obiektów blob. Operacje na danych można autoryzować w następujący sposób:

  • Podmiot zabezpieczeń usługi Azure Active Directory (Azure AD). Firma Microsoft zaleca używanie poświadczeń usługi Azure AD w celu najwyższego bezpieczeństwa i łatwości użytkowania.
  • Za pomocą klucza dostępu konta lub tokenu SAS.

Określanie sposobu autoryzacji operacji danych

Polecenia zestawu Azure CLI do czytania i pisania danych obiektów blob zawierają --auth-mode parametr opcjonalny. Określ ten parametr, aby wskazać, jak ma zostać autoryzowana operacja danych:

  • Ustaw parametr logowania przy użyciu zabezpieczeń usługi --auth-modelogin Azure AD (zalecane).
  • Ustaw dla parametru starszą wartość, aby spróbować pobrać klucz dostępu konta --auth-modekey do autoryzacji. Jeśli pominiesz parametr, narzędzie Azure CLI spróbuje --auth-mode również pobrać klucz dostępu.

Aby użyć --auth-mode parametru, upewnij się, że zainstalowano usługę Azure CLI w wersji 2.0.46 lub nowszej. Uruchom az --version program, aby sprawdzić zainstalowaną wersję.

Uwaga

Gdy konto magazynu jest zablokowane za pomocą blokady Odczytu tylko do odczytu w usłudze Azure Resource Manager, operacja Klucze 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. Dlatego, gdy konto jest zablokowane za pomocą blokady ReadOnly, użytkownicy, którzy jeszcze nie posiadają kluczy konta, muszą używać poświadczeń usługi Azure AD, aby uzyskać dostęp do danych obiektów blob.

Ważne

Jeśli pominiesz parametr lub ustawisz go na , usługa Azure CLI spróbuje użyć klucza dostępu konta w --auth-modekey celu autoryzacji. W takim przypadku firma Microsoft zaleca podanie klawisza dostępu za pomocą polecenia lub zmiennej AZURE_STORAGE_KEY środowiska. Aby uzyskać więcej informacji o zmiennych środowiskowych, zobacz sekcję Ustawianie zmiennych środowiskowych dla parametrów autoryzacji.

Jeśli nie po provide the access key, narzędzie Azure CLI spróbuje wywołać dostawcę usługi Azure Storage zasobów w celu pobrania go dla każdej operacji. Wykonywanie wielu operacji danych wymagających połączenia z dostawcą zasobów może spowodować ograniczenie. Aby uzyskać więcej informacji na temat limitów dostawcy zasobów, zobacz Cele skalowania i wydajności dla dostawcy usług Azure Storage zasobów.

Autoryzuj przy użyciu poświadczeń usługi Azure AD

Gdy zalogujesz się do usługi Azure CLI przy użyciu poświadczeń usługi Azure AD, zwracany jest token dostępu OAuth 2.0. Ten token jest automatycznie używany przez interfejs azure CLI do autoryzowania kolejnych operacji danych na magazynie obiektów blob lub kolejki. W przypadku obsługiwanych operacji nie trzeba już przekazywać klucza konta ani tokenu SAS wraz z poleceniem.

Możesz przypisywać uprawnienia do danych obiektów blob do podmiotu zabezpieczeń usługi Azure AD za pośrednictwem kontrolki dostępu opartej na rolach platformy Azure (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 uzyskiwania dostępu do danych obiektów blob.

Uprawnienia do wywoływania operacji na danych

Rozszerzenia usługi Azure Storage są obsługiwane dla operacji na danych obiektów blob. Operacje, które można wywołać, zależą od uprawnień przyznanych główneowi zabezpieczeń usługi Azure AD, za pomocą którego loguje sięsz do interfejsu rozmówcy usługi Azure. Uprawnienia do kontenerów usługi Azure Storage są przypisywane za pośrednictwem usługi Azure RBAC. Jeśli na przykład przypisano do Ciebie rolę czytnika danych obiektów blob Storage następnie możesz uruchamiać polecenia skryptowe odczytujące dane z kontenera. Jeśli masz przypisaną rolę współautora Storage danych obiektów blob, możesz uruchamiać polecenia skryptowe, które odczytują, zapisują lub usuwają kontener lub dane w nim zawierające.

Aby uzyskać szczegółowe informacje o uprawnieniach wymaganych dla każdej operacji Storage Azure na kontenerze, zobacz Operacje magazynowania połączeń przy użyciu tokenów OAuth.

Przykład: Autoryzuj operację w celu utworzenia kontenera za pomocą poświadczeń usługi Azure AD

W poniższym przykładzie pokazano, jak utworzyć kontener z interfejsu wideo usługi Azure CLI przy użyciu poświadczeń usługi Azure AD. Aby utworzyć kontener, musisz zalogować się do interfejsu logowania usługi Azure CLI oraz grupy zasobów i konta magazynu. Aby dowiedzieć się, jak tworzyć te zasoby, zobacz Szybki start: tworzenie, pobieraniei tworzenie list obiektów blob przy użyciu usługi Azure CLI.

  1. Przed utworzeniem kontenera przypisz do siebie Storage współautora danych obiektów blob. Mimo że jesteś właścicielem konta, potrzebujesz jawnych uprawnień 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 uzyskiwania dostępu do danych obiektów blob.

    Ważne

    Propagacja przydziałów ról na platformie Azure może potrwać kilka minut.

  2. Wywołaj polecenie create kontenera magazynu az z parametrem ustawionym do tworzenia kontenera przy użyciu login poświadczeń usługi Azure AD. Pamiętaj, aby zamienić wartości zastępcze w nawiasach kątowych na własne wartości:

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

Autoryzuj przy użyciu klucza dostępu do konta

Jeśli posiadasz klucz konta, możesz zadzwonić do dowolnej operacji na Storage Azure. Na ogół korzystanie z klucza konta jest mniej bezpieczne. Jeśli klucz konta zostanie naruszony, bezpieczeństwo wszystkich danych na Twoim koncie może zostać naruszone.

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

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

Ważne

Gdy konto magazynu jest zablokowane za pomocą blokady Odczytu tylko do odczytu w usłudze Azure Resource Manager, operacja Klucze 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. Dlatego, gdy konto jest zablokowane za pomocą blokady ReadOnly, użytkownicy muszą uzyskać dostęp do danych za pomocą poświadczeń usługi Azure AD.

Autoryzuj przy użyciu tokenu SAS

Jeśli posiadasz token SAS, możesz wywołać operacje danych dozwolone przez sas. W poniższym przykładzie pokazano, jak utworzyć kontener przy użyciu tokenu SAS:

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

Ustawianie zmiennych środowiska dla parametrów autoryzacji

Możesz określić parametry autoryzacji w zmiennych środowiskowych, aby uniknąć ich w każdym wywołaniu podczas operacji azure Storage danych. W poniższej tabeli opisano dostępne zmienne środowiskowe.

Zmienna środowiskowa Opis
AZURE_STORAGE_ACCOUNT Nazwa konta magazynu. Tej zmiennej należy używać w połączeniu z kluczem konta magazynu lub tokenem SAS. Jeśli żadne konto nie jest dostępne, narzędzie Azure CLI próbuje pobrać klucz dostępu konta magazynu przy użyciu uwierzytelnionego konta usługi Azure AD. Jeśli jednocześnie jest wykonywanych wiele poleceń, może zostać osiągnięty limit Storage Azure dla dostawcy zasobów. Aby uzyskać więcej informacji na temat limitów dostawcy zasobów, zobacz Cele skalowania i wydajności dla dostawcy usług Azure Storage zasobów.
AZURE_STORAGE_KEY Klucz konta magazynu. Tej zmiennej należy używać w połączeniu z nazwą konta magazynu.
AZURE_STORAGE_CONNECTION_STRING A connection string that includes the storage account key or a SAS token. Tej zmiennej należy używać w połączeniu z nazwą konta magazynu.
AZURE_STORAGE_SAS_TOKEN Token podpisu dostępu udostępnionego (SAS). Tej zmiennej należy używać w połączeniu z nazwą konta magazynu.
AZURE_STORAGE_AUTH_MODE Tryb autoryzacji, w którym należy uruchomić polecenie. Dozwolone wartości to login (zalecane) lub key . Jeśli określisz login , usługa Azure CLI użyje poświadczeń usługi Azure AD do autoryzowania operacji danych. Jeśli określisz starszy tryb, narzędzie Azure CLI spróbuje zapytać o klucz dostępu konta i key autoryzować polecenie przy użyciu klucza.

Następne kroki