Kiezen hoe u toegang tot wachtrijgegevens autoriseert met Azure CLI
Azure Storage biedt extensies voor Azure CLI waarmee u kunt opgeven hoe u bewerkingen wilt autoriseren voor wachtrijgegevens. 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 wachtrijgegevens 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 telogin
melden met behulp van een Microsoft Entra-beveiligingsprincipaal (aanbevolen). - Stel de
--auth-mode
parameter in op de verouderdekey
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 v2.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. Als het account daarom is vergrendeld met een ReadOnly-vergrendeling , moeten gebruikers die nog niet beschikken over de accountsleutels Microsoft Entra-referenties gebruiken om toegang te krijgen tot wachtrijgegevens.
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 AZURE_STORAGE_KEY
omgevingsvariabele. 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 gebruikt door Azure CLI om volgende gegevensbewerkingen te autoriseren voor Queue Storage. Voor ondersteunde bewerkingen hoeft u geen accountsleutel of SAS-token meer door te geven met de opdracht.
U kunt machtigingen toewijzen aan een Microsoft Entra-beveiligingsprincipaal via op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC). Zie Toegangsrechten voor Azure Storage-gegevens beheren met Azure RBAC voor meer informatie over Azure-rollen in Azure Storage.
Machtigingen voor het aanroepen van gegevensbewerkingen
De Azure Storage-extensies worden ondersteund voor bewerkingen op wachtrijgegevens. 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 wachtrijen worden toegewezen via Azure RBAC. Als u bijvoorbeeld de rol Opslagwachtrijgegevenslezer hebt toegewezen, kunt u scriptopdrachten uitvoeren waarmee gegevens uit een wachtrij worden gelezen. Als u de rol Inzender voor opslagwachtrijgegevens hebt toegewezen, kunt u scriptopdrachten uitvoeren die een wachtrij lezen, schrijven of verwijderen of de gegevens die ze bevatten.
Zie Opslagbewerkingen aanroepen met OAuth-tokens voor meer informatie over de machtigingen die vereist zijn voor elke Azure Storage-bewerking in een wachtrij.
Voorbeeld: Een bewerking autoriseren om een wachtrij te maken met Microsoft Entra-referenties
In het volgende voorbeeld ziet u hoe u een wachtrij maakt vanuit Azure CLI met behulp van uw Microsoft Entra-referenties. Als u de wachtrij wilt maken, moet u zich aanmelden bij de Azure CLI en hebt u een resourcegroep en een opslagaccount nodig.
Voordat u de wachtrij maakt, wijst u de rol Inzender voor opslagwachtrijgegevens aan uzelf toe . 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 wachtrijgegevens voor meer informatie over het toewijzen van Azure-rollen.
Belangrijk
Het kan enkele minuten duren voordat Azure-roltoewijzingen worden doorgegeven.
Roep de
az storage queue create
opdracht aan met de--auth-mode
parameter die is ingesteld om de wachtrij telogin
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 queue create \ --account-name <storage-account> \ --name sample-queue \ --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 wachtrij 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 queue create \
--account-name <storage-account> \
--name sample-queue \
--account-key <key>
--auth-mode key
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 wachtrij maakt met behulp van een SAS-token:
az storage queue create \
--account-name <storage-account> \
--name sample-queue \
--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. |