Logga in med Azure CLI

Det finns flera autentiseringstyper för Azure Command-Line Interface (CLI), så hur loggar du in? Det enklaste sättet att komma igång är med Azure Cloud Shell, som automatiskt loggar in dig. Lokalt kan du logga in interaktivt via webbläsaren med kommandot az login. När du skriver skript är den rekommenderade metoden att använda tjänstens huvudnamn. Genom att bara tilldela den behörighet som krävs för ett huvudnamn för tjänsten kan du skydda din automatisering.

Ingen av dina inloggningsuppgifter lagras av Azure CLI. I stället skapas en token för uppdatering av autentisering av Azure och lagras. Från augusti 2018 återkallas denna token efter 90 dagars inaktivitet, men det här värdet kan ändras av Microsoft eller din klientorganisationsadministratör. När token har återkallats får du ett meddelande från CLI som säger att du måste logga in igen.

När du har loggat in körs CLI-kommandon mot standardprenumerationen. Om du har flera prenumerationer kan du ändra din standardprenumeration.

Logga in interaktivt

Azure CLI:s standardautentiseringsmetod för inloggningar använder en webbläsare och åtkomsttoken för att logga in.

  1. Kör kommandot login.

    az login
    

    Om CLI kan öppna din standardwebbläsare gör den det och läser in en Inloggningssida för Azure.

    Annars öppnar du en webbläsarsida på och https://aka.ms/devicelogin anger auktoriseringskoden som visas i terminalen.

    Om ingen webbläsare är tillgänglig eller om webbläsaren inte kan öppnas använder du 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.

Anteckning

Den här metoden fungerar inte med Microsoft-konton eller konton som har tvåfaktorsautentisering aktiverad.

az login -u <username> -p <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

Under PowerShell använder du Get-Credential cmdleten .

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

Logga in med ett huvudnamn för tjänsten

Tjänstens huvudnamn är konton som är inte kopplade till en viss användare och som kan ha behörigheter som tilldelats via fördefinierade roller. Det bästa sättet att skriva säkra skript eller program är att autentisera med ett huvudnamn för tjänsten eftersom du då kan använda både behörighetsbegränsningar och lokalt lagrade statiska autentiseringsuppgifter. Läs mer om tjänstens huvudnamn i informationen om att skapa ett huvudnamn för tjänsten i Azure med Azure CLI.

Om du vill logga in med ett huvudnamn för tjänsten behöver du:

  • Den URL eller det namn som associeras med tjänstens huvudnamn
  • Lösenordet för tjänstens huvudnamn eller X509-certifikatet som används för att skapa tjänstens huvudnamn i PEM-format
  • Klientorganisationen som associeras med tjänstens huvudnamn, som en .onmicrosoft.com-domän eller ett Azure-objekt-ID

Anteckning

Ett CERTIFIKAT måste läggas till i den PRIVATA NYCKELN i en PEM-fil. Ett exempel på ett PEM-filformat finns i Certifikatbaserad autentisering.

Viktigt

Om tjänstens huvudnamn använder ett certifikat som lagras i Key Vault måste certifikatets privata nyckel vara tillgänglig utan att du behöver logga in på Azure. Information om hur du hämtar certifikatet az login för finns i Hämta certifikat från Key Vault.

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

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 --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>

Under PowerShell använder du Get-Credential cmdleten .

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>

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 interaktiv och kommandoradsbaserad fungerar med --tenant.

az login --tenant <tenant>

Logga in med en hanterad identitet

Du kan logga in med den hanterade identiteten på resurser som konfigurerats för hanterade identiteter för Azure-resurser. Du loggar in med resursidentiteten via flaggan --identity.

az login --identity

Om resursen har flera användar tilldelade hanterade identiteter och ingen system tilldelad identitet, måste du ange klient-ID eller objekt-ID eller resurs-ID för den användar tilldelade hanterade identiteten med --username för inloggning.

az login --identity --username <client_id|object_id|resource_id>

Mer information om hanterade identiteter för Azure-resurser finns i Configure managed identities for Azure resources (Konfigurera hanterade identiteter för Azure-resurser) och Use managed identities for Azure resources for sign in (Använda hanterade identiteter för Azure-resurser för att logga in).