Udostępnij za pomocą


Choose how to authorize access to blob data with Azure CLI

Azure Storage provides extensions for Azure CLI that enable you to specify how you want to authorize operations on blob data. Operacje na danych można autoryzować na następujące sposoby:

  • With a Microsoft Entra security principal. 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

Azure CLI commands for reading and writing blob data include the optional --auth-mode parameter. Określ ten parametr, aby wskazać sposób autoryzacji operacji danych:

  • Set the --auth-mode parameter to login to sign in using a Microsoft Entra security principal (recommended).
  • --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.

To use the --auth-mode parameter, make sure that you have installed Azure CLI version 2.0.46 or later. 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 nie jest dozwolona dla tego konta magazynu. List Keys is a POST operation, and all POST operations are prevented when a ReadOnly lock is configured for the account. Z tego powodu, gdy konto jest zablokowane za pomocą blokady ReadOnly, użytkownicy, którzy jeszcze nie posiadają kluczy konta, muszą użyć poświadczeń usługi Microsoft Entra, aby uzyskać dostęp do danych blob.

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. In this case, Microsoft recommends that you provide the access key either on the command or in the AZURE_STORAGE_KEY environment variable. 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

When you sign in to Azure CLI with Microsoft Entra credentials, an OAuth 2.0 access token is returned. That token is automatically used by Azure CLI to authorize subsequent data operations against Blob or Queue storage. W przypadku obsługiwanych operacji nie trzeba już przekazywać klucza konta ani tokenu SAS za pomocą polecenia .

You can assign permissions to blob data to a Microsoft Entra security principal via Azure role-based access control (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.

Uprawnienia do wywoływania operacji danych

The Azure Storage extensions are supported for operations on blob data. Which operations you may call depends on the permissions granted to the Microsoft Entra security principal with which you sign in to Azure CLI. Permissions to Azure Storage containers are assigned via Azure RBAC. For example, if you are assigned the Storage Blob Data Reader role, then you can run scripting commands that read data from a container. If you are assigned the Storage Blob Data Contributor role, then you can run scripting commands that read, write, or delete a container or the data it contains.

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.

Example: Authorize an operation to create a container with Microsoft Entra credentials

The following example shows how to create a container from Azure CLI using your Microsoft Entra credentials. To create the container, you'll need to sign in to the Azure CLI, and you'll need a resource group and a storage account. To learn how to create these resources, see Quickstart: Create, download, and list blobs with Azure CLI.

  1. Before you create the container, assign the Storage Blob Data Contributor role to yourself. Mimo że jesteś właścicielem konta, musisz mieć jawne uprawnienia do wykonywania operacji danych na koncie przechowywania. Aby uzyskać więcej informacji na temat nadawania ról Azure, zobacz Nadawanie roli Azure w celu uzyskania dostępu do danych blob.

    Ważne

    Azure role assignments may take a few minutes to propagate.

  2. Call the az storage container create command with the --auth-mode parameter set to login to create the container using your Microsoft Entra credentials. Pamiętaj, aby zastąpić wartości symboli zastępczych w nawiasach kątowych własnymi wartościami:

    az storage container create \
        --account-name <storage-account> \
        --name sample-container \
        --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.

The following example shows how to create a container using the account access key. Określ klucz konta i podaj --auth-mode parametr z wartością key :

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 ReadOnly usługi Azure Resource Manager, operacja Wyświetlanie kluczy nie jest dozwolona dla tego konta magazynu. List Keys is a POST operation, and all POST operations are prevented when a ReadOnly lock is configured for the account. For this reason, when the account is locked with a ReadOnly lock, users must access data with Microsoft Entra credentials.

Autoryzowanie przy użyciu tokenu SAS

If you possess a SAS token, you can call data operations that are permitted by the SAS. The following example shows how to create a container using a SAS token:

az storage container create \
    --account-name <storage-account> \
    --name sample-container \
    --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, Azure CLI próbuje pobrać klucz dostępu do konta magazynu przy użyciu uwierzytelnionego konta Microsoft Entra. If a large number of commands are executed at one time, the Azure Storage resource provider throttling limit may be reached. 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 przechowywania. Ta zmienna musi być używana w połączeniu z nazwą konta magazynowego.
AZURE_STORAGE_CONNECTION_STRING Ciąg połączenia, który zawiera klucz konta magazynu lub token SAS. Ta zmienna musi być używana w połączeniu z nazwą konta magazynowego.
AZURE_STORAGE_SAS_TOKEN Token sygnatury dostępu współdzielonego (SAS). Ta zmienna musi być używana w połączeniu z nazwą konta magazynowego.
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 starszy tryb key, Azure CLI spróbuje zapytać o klucz dostępu do konta i autoryzować polecenie tym kluczem.

Następne kroki