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 Azure CLI Web Account Manager (WAM) i Windows och en webbläsarbaserad inloggning på Linux och macOS 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 anger du konfigurationsegenskapen core.login_experience_v2 till off
.
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:
- Förbättrad säkerhet. Se Villkorsstyrd åtkomst: Tokenskydd (förhandsversion).
- Stöd för Windows Hello, principer för villkorlig åtkomst och FIDO-nycklar.
- Smidig enkel inloggning.
- Felkorrigeringar och förbättringar som levereras med Windows.
Om du stöter på ett problem och vill återgå till den tidigare webbläsarbaserade autentiseringsmetoden anger du core.enable_broker_on_windows konfigurationsegenskapen till false
.
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
.
Följ dessa steg för att logga in med en webbläsare:
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.
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
.
I utvalda miljöer och från och med Azure CLI version 2.61.0 måste du först inaktivera prenumerationsväljaren genom att ange konfigurationsegenskapen core.login_experience_v2
till off
.
# disable the subscription selector (v. 2.61.0 and up)
az config set core.login_experience_v2=off
# login with a tenant ID
az login --tenant 00000000-0000-0000-0000-000000000000
Kör för att återaktivera prenumerationsväljaren az config set core.login_experience_v2=on
. Mer information om prenumerationsväljaren finns i Interaktiv inloggning
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.
Logga in med --scope
az login --scope https://management.core.windows.net//.default
Utloggning
Om du vill ta bort åtkomsten till Azure använder du kommandot az logout .
az logout
Rensa din prenumerationscache
Om du vill uppdatera prenumerationslistan använder du kommandot az account clear . Du måste logga in igen för att se en uppdaterad lista.
az account clear
az login
Att rensa din prenumerationscache är tekniskt sett inte samma process som att logga ut från Azure.
Men när du rensar prenumerationscacheminnet kan du inte köra Azure CLI-kommandon, inklusive az account set
, förrän du loggar in igen.
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 förfallodatum finns i Uppdatera token i Microsoft platforma za identitete.
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
returnerarexpires_on
egenskapen tillsammans medexpiresOn
egenskapen för förfallotiden för token. - Egenskapen
expires_on
representerar en POSIX-tidsstämpel (Portable Operating System Interface) medan egenskapenexpiresOn
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 besöka edge://net-internals/#hsts i Microsoft
Kanten. Lägg till localhost
under "Ta bort domänsäkerhetsprincip" och välj Ta bort.
Se även
- Azure CLI Onboarding-fuskark
- Hitta Azure CLI-exempel och publicerade dokument