Dela via


Logga in interaktivt med Azure CLI

Interaktiva inloggningar till Azure ger en mer intuitiv och flexibel användarupplevelse. Interaktiv inloggning med Azure CLI gör det möjligt för användare att autentisera till Azure direkt via kommandot az login , vilket är användbart för ad hoc-hanteringsuppgifter och för miljöer som kräver manuell inloggning, till exempel de kunder med multifaktorautentisering (MFA). Den här metoden förenklar åtkomsten för skripttestning, inlärning och direkthantering utan att behöva förkonfigurera tjänstens huvudnamn eller andra icke-interaktiva autentiseringsmetoder.

Förutsättningar

Interaktiv inloggning

Om du vill logga in interaktivt använder du kommandot az login . Från och med Azure CLI version 2.61.0 använder Windows-system webkontohanteraren (WAM) och Linux- och macOS-system använder webbläsarbaserad inloggning som standard.

az login

Prenumerationsväljare

Från och med Azure CLI version 2.61.0, om du har åtkomst till flera prenumerationer, uppmanas du att välja en Azure-prenumeration vid inloggningstillfället, som du ser i följande exempel.

Retrieving subscriptions for the selection...

[Tenant and subscription selection]

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2]   Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4] * Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

The default is marked with an *; the default tenant is 'Contoso' and subscription is 'Information Technology Subscription' (00000000-0000-0000-0000-000000000000).

Select a subscription and tenant (Type a number or Enter for no changes): 2

Tenant: Contoso
Subscription: Finance Department Subscription (00000000-0000-0000-0000-000000000000)

[Announcements]
With the new Azure CLI login experience, you can select the subscription you want to use more easily.
Learn more about it and its configuration at https://go.microsoft.com/fwlink/?linkid=2271236

If you encounter any problem, please open an issue at https://aka.ms/azclibug

Nästa gång du loggar in markeras den tidigare valda klientorganisationen och prenumerationen som standard med en asterisk (*) bredvid dess nummer. På så sätt kan du trycka på Retur för att välja standardprenumerationen.

Kommandon körs som standard mot den valda prenumerationen. Du kan fortfarande använda az account set för att ändra din prenumeration från en kommandorad när som helst. Mer information finns i Hantera Azure-prenumerationer med Azure CLI.

Här följer några riktlinjer om prenumerationsväljaren att tänka på:

  • Prenumerationsväljaren är endast tillgänglig i 64-bitars Windows, Linux eller macOS.
  • Prenumerationsväljaren är endast tillgänglig när du använder az login kommandot .
  • Du uppmanas inte att välja en prenumeration när du loggar in med tjänstens huvudnamn eller hanterade identitet.

Om du vill inaktivera funktionen för prenumerationsväljare kör du följande kommandon:

az config set core.login_experience_v2=off
az login

Logga in med Web Account Manager (WAM) i Windows

Från och med Azure CLI version 2.61.0 är Web Account Manager (WAM) nu standardautentiseringsmetoden i Windows. WAM är en Windows 10+-komponent som fungerar som autentiseringskoordinator. (En autentiseringskoordinator är ett program som körs på en användares dator som hanterar handskakningar för autentisering och tokenunderhåll för anslutna konton.)

Att använda WAM har flera fördelar:

Om du får problem och vill återgå till den tidigare webbläsarbaserade autentiseringsmetoden kör du följande skript:

az account clear
az config set core.enable_broker_on_windows=false
az login

WAM är tillgängligt på Windows 10 och senare, och på Windows Server 2019 och senare.

Logga in med en webbläsare

Azure CLI är som standard en webbläsarbaserad autentiseringsmetod när något av följande är sant:

  • Operativsystemet (OS) är Mac, Linux eller Windows-operativsystemet är tidigare än Windows 10 eller Windows Server 2019.
  • Konfigurationsegenskapen core.enable_broker_on_windows är inställd på false.
  1. Kör kommandot az login.

    az login
    

    Om Azure CLI kan öppna standardwebbläsaren initierar den auktoriseringskodflödet och öppnar standardwebbläsaren för att läsa in en Azure-inloggningssida.

    Annars initieras enhetskodflödet och du uppmanas att öppna en webbläsarsida på https://aka.ms/devicelogin. Ange sedan koden som visas i terminalen.

    Om ingen webbläsare är tillgänglig eller om webbläsaren inte kan öppnas kan du tvinga enhetskodflödet med az login --use-device-code.

  2. Logga in med dina autentiseringsuppgifter för kontot i webbläsaren.

Logga in med autentiseringsuppgifter via kommandoraden

Ange dina autentiseringsuppgifter för Azure-användare på kommandoraden. Använd endast den här autentiseringsmetoden för att lära dig Azure CLI-kommandon. Program på produktionsnivå bör använda tjänstens huvudnamn eller hanterade identitet.

Den här metoden fungerar inte med Microsoft-konton eller konton som har tvåfaktorsautentisering aktiverad. Du får ett interaktivt autentiseringsmeddelande .

az login --user <username> --password <password>

Viktigt!

Om du vill undvika att visa lösenordet i konsolen och använder az login interaktivt använder du kommandot read -s under bash.

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

Använd cmdleten Get-Credential under PowerShell.

$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password

Logga in med en annan klientorganisation

Du kan välja en klientorganisation att logga in under med argumentet --tenant. Argumentets värde kan antingen vara en .onmicrosoft.com-domän eller objekt-ID:t för Azure för klienten. Både interaktiva metoder och inloggningsmetoder för kommandoraden fungerar med --tenant.

az login --tenant 00000000-0000-0000-0000-000000000000

När du har loggat in kan du läsa Så här ändrar du din aktiva klientorganisation om du vill ändra din aktiva klientorganisation.

Uppdatera token

När du loggar in med ett användarkonto genererar och lagrar Azure CLI en autentiseringsuppdateringstoken. Eftersom åtkomsttoken endast är giltiga under en kort tidsperiod utfärdas en uppdateringstoken samtidigt som åtkomsttoken utfärdas. Klientprogrammet kan sedan byta ut den här uppdateringstoken mot en ny åtkomsttoken vid behov. Mer information om tokens livslängd och giltighetstid finns i Uppdatera token i Microsofts identitetsplattform.

Använd kommandot az account get-access-token för att hämta åtkomsttoken:

# get access token for the active subscription
az account get-access-token

# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"

Här är ytterligare information om förfallodatum för åtkomsttoken:

  • Förfallodatum uppdateras i ett format som stöds av MSAL-baserade Azure CLI.
  • Från och med Azure CLI 2.54.0 az account get-access-token returnerar expires_on egenskapen tillsammans med expiresOn egenskapen för förfallotiden för token.
  • Egenskapen expires_on representerar en POSIX-tidsstämpel (Portable Operating System Interface) medan egenskapen expiresOn representerar en lokal datetime.
  • Egenskapen expiresOn uttrycker inte "vikning" när sommartid slutar. Detta kan orsaka problem i länder eller regioner där sommartid används. Mer information om "fold" finns i PEP 495 – Lokal tidsdisambition.
  • Vi rekommenderar att underordnade program använder expires_on egenskapen eftersom den använder UTC (Universal Time Code).

Exempel på utdata>

{
  "accessToken": "...",
  "expiresOn": "2023-10-31 21:59:10.000000",
  "expires_on": 1698760750,
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

Felsökning

När standardwebbläsaren är Microsoft Edge kan följande fel uppstå när du försöker logga in på Azure interaktivt med az login: "Anslutningen för den här webbplatsen är inte säker.". Lös problemet genom att gå till edge://net-internals/#hsts i Microsoft Edge. Lägg till localhost under "Ta bort domänsäkerhetsprincip" och välj Ta bort.

Se även