Kies hoe u toegang tot blobgegevens wilt autoriseren met Azure CLI

Azure Storage biedt extensies voor Azure CLI waarmee u kunt opgeven hoe u bewerkingen voor blobgegevens wilt autoriseren. U kunt gegevensbewerkingen op de volgende manieren autoriseren:

  • Met een Microsoft Entra-beveiligingsprincipaal. Microsoft raadt aan microsoft Entra-referenties te gebruiken voor superieure beveiliging en gebruiksgemak.
  • Met de toegangssleutel van het account of een SAS-token (Shared Access Signature).

Opgeven hoe gegevensbewerkingen worden geautoriseerd

Azure CLI-opdrachten voor het lezen en schrijven van blobgegevens bevatten de optionele --auth-mode parameter. Geef deze parameter op om aan te geven hoe een gegevensbewerking moet worden geautoriseerd:

  • Stel de --auth-mode parameter in om u aan te login melden met behulp van een Microsoft Entra-beveiligingsprincipaal (aanbevolen).
  • Stel de --auth-mode parameter in op de verouderde key waarde om de toegangssleutel voor het account op te halen dat moet worden gebruikt voor autorisatie. Als u de --auth-mode parameter weglaat, probeert de Azure CLI ook de toegangssleutel op te halen.

Als u de --auth-mode parameter wilt gebruiken, moet u Ervoor zorgen dat u Azure CLI versie 2.0.46 of hoger hebt geïnstalleerd. Voer deze opdracht uit az --version om de geïnstalleerde versie te controleren.

Notitie

Wanneer een opslagaccount is vergrendeld met een Azure Resource Manager ReadOnly-vergrendeling , is de bewerking Lijstsleutels niet toegestaan voor dat opslagaccount. Lijstsleutels is een POST-bewerking en alle POST-bewerkingen worden voorkomen wanneer een ReadOnly-vergrendeling is geconfigureerd voor het account. Daarom moeten gebruikers die nog niet beschikken over de accountsleutels microsoft Entra-referenties gebruiken om toegang te krijgen tot blobgegevens wanneer het account is vergrendeld met een ReadOnly-vergrendeling .

Belangrijk

Als u de --auth-mode parameter weglaat of instelt op key, probeert de Azure CLI de toegangssleutel voor het account te gebruiken voor autorisatie. In dit geval raadt Microsoft u aan de toegangssleutel op te geven in de opdracht of in de omgevingsvariabele AZURE_STORAGE_KEY . Zie de sectie omgevingsvariabelen instellen met de titel Omgevingsvariabelen instellen voor autorisatieparameters voor meer informatie over omgevingsvariabelen.

Als u de toegangssleutel niet opgeeft, probeert de Azure CLI de Azure Storage-resourceprovider aan te roepen om deze voor elke bewerking op te halen. Het uitvoeren van veel gegevensbewerkingen waarvoor een aanroep naar de resourceprovider is vereist, kan leiden tot beperking. Zie Schaalbaarheids- en prestatiedoelen voor de Azure Storage-resourceprovider voor meer informatie over resourceproviderlimieten.

Autoriseren met Microsoft Entra-referenties

Wanneer u zich aanmeldt bij Azure CLI met Microsoft Entra-referenties, wordt er een OAuth 2.0-toegangstoken geretourneerd. Dit token wordt automatisch door Azure CLI gebruikt om volgende gegevensbewerkingen te autoriseren voor Blob- of Queue Storage. Voor ondersteunde bewerkingen hoeft u geen accountsleutel of SAS-token meer door te geven met de opdracht.

U kunt machtigingen toewijzen aan blobgegevens aan een Microsoft Entra-beveiligingsprincipaal via op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC). Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over Azure-rollen in Azure Storage.

Machtigingen voor het aanroepen van gegevensbewerkingen

De Azure Storage-extensies worden ondersteund voor bewerkingen op blobgegevens. Welke bewerkingen u kunt aanroepen, is afhankelijk van de machtigingen die zijn verleend aan de Microsoft Entra-beveiligingsprincipaal waarmee u zich aanmeldt bij Azure CLI. Machtigingen voor Azure Storage-containers worden toegewezen via Azure RBAC. Als u bijvoorbeeld de rol Opslagblobgegevenslezer hebt toegewezen, kunt u scriptopdrachten uitvoeren waarmee gegevens uit een container worden gelezen. Als u de rol Inzender voor opslagblobgegevens hebt toegewezen, kunt u scriptopdrachten uitvoeren die een container of de daarin opgenomen gegevens lezen, schrijven of verwijderen.

Zie Opslagbewerkingen aanroepen met OAuth-tokens voor meer informatie over de machtigingen die vereist zijn voor elke Azure Storage-bewerking in een container.

Voorbeeld: Een bewerking autoriseren om een container te maken met Microsoft Entra-referenties

In het volgende voorbeeld ziet u hoe u een container maakt vanuit Azure CLI met behulp van uw Microsoft Entra-referenties. Als u de container wilt maken, moet u zich aanmelden bij de Azure CLI en hebt u een resourcegroep en een opslagaccount nodig. Zie quickstart: Blobs maken, downloaden en vermelden met Azure CLI voor meer informatie over het maken van deze resources.

  1. Voordat u de container maakt, moet u de rol Storage Blob Data Contributor aan uzelf toewijzen. Hoewel u de accounteigenaar bent, hebt u expliciete machtigingen nodig om gegevensbewerkingen uit te voeren voor het opslagaccount. Zie Een Azure-rol toewijzen voor toegang tot blobgegevens voor meer informatie over het toewijzen van Azure-rollen.

    Belangrijk

    Het kan enkele minuten duren voordat Azure-roltoewijzingen worden doorgegeven.

  2. Roep de opdracht az storage container create aan met de --auth-mode parameter die is ingesteld om de container te login maken met behulp van uw Microsoft Entra-referenties. Vergeet niet om de waarden van de tijdelijke aanduidingen tussen de punthaken te vervangen door uw eigen waarden:

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

Autoriseren met de toegangssleutel van het account

Als u de accountsleutel bezit, kunt u elke Azure Storage-gegevensbewerking aanroepen. Over het algemeen is het gebruik van de accountsleutel minder veilig. Als de accountsleutel is gecompromitteerd, kunnen alle gegevens in uw account worden aangetast.

In het volgende voorbeeld ziet u hoe u een container maakt met behulp van de toegangssleutel voor het account. Geef de accountsleutel op en geef de parameter op --auth-mode met de key waarde:

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

Belangrijk

Wanneer een opslagaccount is vergrendeld met een Azure Resource Manager ReadOnly-vergrendeling , is de bewerking Lijstsleutels niet toegestaan voor dat opslagaccount. Lijstsleutels is een POST-bewerking en alle POST-bewerkingen worden voorkomen wanneer een ReadOnly-vergrendeling is geconfigureerd voor het account. Om deze reden moeten gebruikers, wanneer het account is vergrendeld met een ReadOnly-vergrendeling , toegang krijgen tot gegevens met Microsoft Entra-referenties.

Autoriseren met een SAS-token

Als u een SAS-token hebt, kunt u gegevensbewerkingen aanroepen die zijn toegestaan door de SAS. In het volgende voorbeeld ziet u hoe u een container maakt met behulp van een SAS-token:

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

Omgevingsvariabelen instellen voor autorisatieparameters

U kunt autorisatieparameters opgeven in omgevingsvariabelen om te voorkomen dat ze bij elke aanroep naar een Azure Storage-gegevensbewerking worden opgenomen. In de volgende tabel worden de beschikbare omgevingsvariabelen beschreven.

Omgevingsvariabele Omschrijving
AZURE_STORAGE_ACCOUNT De naam van het opslagaccount. Deze variabele moet worden gebruikt in combinatie met de sleutel van het opslagaccount of een SAS-token. Als geen van beide aanwezig is, probeert de Azure CLI de toegangssleutel voor het opslagaccount op te halen met behulp van het geverifieerde Microsoft Entra-account. Als een groot aantal opdrachten tegelijk wordt uitgevoerd, kan de beperkingslimiet van de Azure Storage-resourceprovider worden bereikt. Zie Schaalbaarheids- en prestatiedoelen voor de Azure Storage-resourceprovider voor meer informatie over resourceproviderlimieten.
AZURE_STORAGE_KEY De opslagaccountsleutel. Deze variabele moet worden gebruikt in combinatie met de naam van het opslagaccount.
AZURE_STORAGE_CONNECTION_STRING Een verbindingsreeks met de sleutel van het opslagaccount of een SAS-token. Deze variabele moet worden gebruikt in combinatie met de naam van het opslagaccount.
AZURE_STORAGE_SAS_TOKEN Een SAS-token (Shared Access Signature). Deze variabele moet worden gebruikt in combinatie met de naam van het opslagaccount.
AZURE_STORAGE_AUTH_MODE De autorisatiemodus waarmee de opdracht moet worden uitgevoerd. Toegestane waarden worden login (aanbevolen) of key. Als u opgeeft login, gebruikt de Azure CLI uw Microsoft Entra-referenties om de gegevensbewerking te autoriseren. Als u de verouderde key modus opgeeft, probeert de Azure CLI een query uit te voeren op de toegangssleutel voor het account en de opdracht te autoriseren met de sleutel.

Volgende stappen