Logga in med Azure CLISign in with Azure CLI

Det finns flera typer av autentisering för Azure CLI.There are several authentication types for the Azure CLI. Det enklaste sättet att komma igång är med Azure Cloud Shell, som automatiskt loggar in dig.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. Lokalt kan du logga in interaktivt via webbläsaren med kommandot AZ login .Locally, you can sign in interactively through your browser with the az login command. När du skriver skript är den rekommenderade metoden att använda tjänstens huvudnamn.When writing scripts, the recommended approach is to use service principals. Genom att bara tilldela den behörighet som krävs för ett huvudnamn för tjänsten kan du skydda din automatisering.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

Ingen av din inloggningsinformation lagras av CLI.None of your sign-in information is stored by the CLI. I stället skapas en token för uppdatering av autentisering av Azure och lagras.Instead, an authentication refresh token is generated by Azure and stored. 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.As of August 2018 this token is revoked after 90 days of inactivity, but this value can be changed by Microsoft or your tenant administrator. När token har återkallats får du ett meddelande från CLI om att du behöver logga in igen.Once the token is revoked you get a message from the CLI saying you need to sign in again.

När du har loggat in körs CLI-kommandon mot standardprenumerationen.After signing in, CLI commands are run against your default subscription. Om du har flera prenumerationer kan du ändra din standardprenumeration.If you have multiple subscriptions, you can change your default subscription.

Logga in interaktivtSign in interactively

Standardautentiseringsmetoden för Azure CLI använder en webbläsare och en åtkomsttoken för att logga in.The Azure CLI's default authentication method uses a web browser and access token to sign in.

  1. Kör login-kommandot.Run the login command.

    az login
    

    Om CLI kan öppna din standard webbläsare så gör den det och läser in en Azure-inloggnings sida.If the CLI can open your default browser, it will do so and load an Azure sign-in page.

    Annars öppnar du en webb sida på https://aka.ms/devicelogin och anger den auktoriseringskod som visas i din terminal.Otherwise, open a browser page at https://aka.ms/devicelogin and enter the authorization code displayed in your terminal.

  2. Logga in med dina autentiseringsuppgifter för kontot i webbläsaren.Sign in with your account credentials in the browser.

Logga in med autentiseringsuppgifter via kommandoradenSign in with credentials on the command line

Ange dina autentiseringsuppgifter för Azure-användare på kommandoraden.Provide your Azure user credentials on the command line.

Anteckning

Den här metoden fungerar inte med Microsoft-konton eller konton som har tvåfaktorsautentisering aktiverad.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

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.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

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

Under PowerShell använder du Get-Credential-cmdleten.Under PowerShell, use the Get-Credential cmdlet.

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

Logga in med ett huvudnamn för tjänstenSign in with a service principal

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.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. 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.Authenticating with a service principal is the best way to write secure scripts or programs, allowing you to apply both permissions restrictions and locally stored static credential information. Läs mer om tjänstens huvudnamn i informationen om att skapa ett huvudnamn för tjänsten i Azure med Azure CLI.To learn more about service principals, see Create an Azure service principal with the Azure CLI.

Om du vill logga in med ett huvudnamn för tjänsten behöver du:To sign in with a service principal, you need:

  • Den URL eller det namn som associeras med tjänstens huvudnamnThe URL or name associated with the service principal
  • Lösenordet för tjänstens huvudnamn eller X509-certifikatet som används för att skapa tjänstens huvudnamn i PEM-formatThe service principal password, or the X509 certificate used to create the service principal in PEM format
  • Klientorganisationen som associeras med tjänstens huvudnamn, som en .onmicrosoft.com-domän eller ett Azure-objekt-IDThe tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID

Viktigt

Om tjänstens huvud namn använder ett certifikat som lagras i Key Vault, måste certifikatets privata nyckel vara tillgänglig utan att logga in på Azure.If your service principal uses a certificate that is stored in Key Vault, that certificate's private key must be available without signing in to Azure. Om du vill hämta en privat nyckel för användning offline använder du AZ Key Vault Secret show.To retrieve a private key for use offline, use az keyvault secret show.

az login --service-principal -u <app-url> -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.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-url> -p $AZ_PASS --tenant <tenant>

Under PowerShell använder du Get-Credential-cmdleten.Under PowerShell, use the Get-Credential cmdlet.

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

Logga in med en annan klientorganisationSign in with a different tenant

Du kan välja en klientorganisation att logga in under med argumentet --tenant.You can select a tenant to sign in under with the --tenant argument. Argumentets värde kan antingen vara en .onmicrosoft.com-domän eller objekt-ID:t för Azure för klienten.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. Både interaktiv och kommandoradsbaserad fungerar med --tenant.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

Logga in med en hanterad identitetSign in with a managed identity

Du kan logga in med den hanterade identiteten på resurser som konfigurerats för hanterade identiteter för Azure-resurser.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. Du loggar in med resursidentiteten via flaggan --identity.Signing in with the resource's identity is done through the --identity flag.

az login --identity

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).To learn more about managed identities for Azure resources, see Configure managed identities for Azure resources and Use managed identities for Azure resources for sign in.