Dela via


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 till login för att logga in med ett Microsoft Entra-säkerhetsobjekt (rekommenderas).
  • Ange parametern --auth-mode till det äldre key 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 keyfö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.

  1. 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.

  2. az storage queue create Anropa kommandot med parametern --auth-mode inställd på för att login 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 loginanvä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.

Nästa steg