Välj hur du vill auktorisera åtkomst till ködata med Azure CLI
Azure Storage tillhandahåller tillägg för Azure CLI som gör att du kan ange hur du vill auktorisera åtgärder för ködata. Du kan auktorisera dataåtgärder på följande sätt:
- Med säkerhetsobjektet Microsoft Entra. Microsoft rekommenderar att du använder Microsoft Entra-autentiseringsuppgifter för överlägsen säkerhet och användarvänlighet.
- Med kontoåtkomstnyckeln eller en SAS-token (signatur för delad åtkomst).
Ange hur dataåtgärder ska auktoriseras
Azure CLI-kommandon för att läsa och skriva ködata innehåller den valfria --auth-mode
parametern. Ange den här parametern för att ange hur en dataåtgärd ska auktoriseras:
- Ange parametern
--auth-mode
tilllogin
för att logga in med ett Microsoft Entra-säkerhetsobjekt (rekommenderas). - Ange parametern
--auth-mode
till det äldrekey
värdet för att försöka hämta kontoåtkomstnyckeln som ska användas för auktorisering. Om du utelämnar parametern--auth-mode
försöker Azure CLI också hämta åtkomstnyckeln.
Om du vill använda parametern --auth-mode
kontrollerar du att du har installerat Azure CLI v2.0.46 eller senare. Kör az --version
för att kontrollera den installerade versionen.
Kommentar
När ett lagringskonto är låst med ett Azure Resource Manager ReadOnly-lås tillåts inte åtgärden Listnycklar för lagringskontot. Listnycklar är en POST-åtgärd och alla POST-åtgärder förhindras när ett ReadOnly-lås har konfigurerats för kontot. Därför måste användare som inte redan har kontonycklarna använda Microsoft Entra-autentiseringsuppgifter för att komma åt ködata när kontot är låst med ett ReadOnly-lås .
Viktigt!
Om du utelämnar parametern --auth-mode
eller anger den till key
försöker Azure CLI använda kontoåtkomstnyckeln för auktorisering. I det här fallet rekommenderar Microsoft att du anger åtkomstnyckeln antingen för kommandot eller i AZURE_STORAGE_KEY
miljövariabeln. Mer information om miljövariabler finns i avsnittet Ange miljövariabler för auktoriseringsparametrar.
Om du inte anger åtkomstnyckeln försöker Azure CLI anropa Azure Storage-resursprovidern för att hämta den för varje åtgärd. Om du utför många dataåtgärder som kräver ett anrop till resursprovidern kan det leda till begränsning. Mer information om begränsningar för resursprovider finns i Skalbarhets- och prestandamål för Azure Storage-resursprovidern.
Auktorisera med Microsoft Entra-autentiseringsuppgifter
När du loggar in på Azure CLI med Microsoft Entra-autentiseringsuppgifter returneras en OAuth 2.0-åtkomsttoken. Denna token används automatiskt av Azure CLI för att auktorisera efterföljande dataåtgärder mot Queue Storage. För åtgärder som stöds behöver du inte längre skicka en kontonyckel eller SAS-token med kommandot .
Du kan tilldela behörigheter för att köa data till ett Microsoft Entra-säkerhetsobjekt via rollbaserad åtkomstkontroll i Azure (Azure RBAC). Mer information om Azure-roller i Azure Storage finns i Hantera åtkomsträttigheter till Azure Storage-data med Azure RBAC.
Behörigheter för att anropa dataåtgärder
Azure Storage-tilläggen stöds för åtgärder på ködata. Vilka åtgärder du kan anropa beror på vilka behörigheter som beviljats microsoft Entra-säkerhetsobjektet som du loggar in på Azure CLI med. Behörigheter till köer tilldelas via Azure RBAC. Om du till exempel har tilldelats rollen Dataläsare för lagringskö kan du köra skriptkommandon som läser data från en kö. Om du har tilldelats rollen Lagringsködatadeltagare kan du köra skriptkommandon som läser, skriver eller tar bort en kö eller de data som de innehåller.
Mer information om de behörigheter som krävs för varje Azure Storage-åtgärd i en kö finns i Anropa lagringsåtgärder med OAuth-token.
Exempel: Auktorisera en åtgärd för att skapa en kö med Microsoft Entra-autentiseringsuppgifter
I följande exempel visas hur du skapar en kö från Azure CLI med dina Microsoft Entra-autentiseringsuppgifter. För att skapa kön måste du logga in på Azure CLI och du behöver en resursgrupp och ett lagringskonto.
Innan du skapar kön tilldelar du rollen Lagringsködatadeltagare till dig själv. Även om du är kontoägare behöver du explicit behörighet för att utföra dataåtgärder mot lagringskontot. Mer information om hur du tilldelar Azure-roller finns i Tilldela en Azure-roll för åtkomst till ködata.
Viktigt!
Det kan ta några minuter att sprida Azure-rolltilldelningar.
az storage queue create
Anropa kommandot med parametern--auth-mode
inställd på för attlogin
skapa kön med dina Microsoft Entra-autentiseringsuppgifter. Kom ihåg att ersätta platshållarvärden i vinkelparenteser med dina egna värden:az storage queue create \ --account-name <storage-account> \ --name sample-queue \ --auth-mode login
Auktorisera med kontoåtkomstnyckeln
Om du har kontonyckeln kan du anropa alla Azure Storage-dataåtgärder. I allmänhet är det mindre säkert att använda kontonyckeln. Om kontonyckeln komprometteras kan alla data i ditt konto komprometteras.
I följande exempel visas hur du skapar en kö med hjälp av kontoåtkomstnyckeln. Ange kontonyckeln och ange parametern --auth-mode
med key
värdet:
az storage queue create \
--account-name <storage-account> \
--name sample-queue \
--account-key <key>
--auth-mode key
Auktorisera med en SAS-token
Om du har en SAS-token kan du anropa dataåtgärder som tillåts av SAS. I följande exempel visas hur du skapar en kö med hjälp av en SAS-token:
az storage queue create \
--account-name <storage-account> \
--name sample-queue \
--sas-token <token>
Ange miljövariabler för auktoriseringsparametrar
Du kan ange auktoriseringsparametrar i miljövariabler för att undvika att inkludera dem vid varje anrop till en Azure Storage-dataåtgärd. I följande tabell beskrivs tillgängliga miljövariabler.
Miljövariabel | Description |
---|---|
AZURE_STORAGE_ACCOUNT | Namnet på lagringskontot. Den här variabeln ska användas tillsammans med antingen lagringskontonyckeln eller en SAS-token. Om ingen av dem finns försöker Azure CLI hämta åtkomstnyckeln för lagringskontot med hjälp av det autentiserade Microsoft Entra-kontot. Om ett stort antal kommandon körs samtidigt kan begränsningsgränsen för Azure Storage-resursprovidern nås. Mer information om begränsningar för resursprovider finns i Skalbarhets- och prestandamål för Azure Storage-resursprovidern. |
AZURE_STORAGE_KEY | Nyckeln till lagringskontot. Den här variabeln måste användas tillsammans med lagringskontots namn. |
AZURE_STORAGE_CONNECTION_STRING | En anslutningssträng som innehåller lagringskontonyckeln eller en SAS-token. Den här variabeln måste användas tillsammans med lagringskontots namn. |
AZURE_STORAGE_SAS_TOKEN | En SAS-token (signatur för delad åtkomst). Den här variabeln måste användas tillsammans med lagringskontots namn. |
AZURE_STORAGE_AUTH_MODE | Auktoriseringsläget som kommandot ska köras med. Tillåtna värden är login (rekommenderas) eller key . Om du anger login använder Azure CLI dina Microsoft Entra-autentiseringsuppgifter för att auktorisera dataåtgärden. Om du anger det äldre key läget försöker Azure CLI fråga efter kontoåtkomstnyckeln och auktorisera kommandot med nyckeln. |