Přihlášení pomocí Azure CLISign in with Azure CLI

Pro Azure CLI existuje několik typů ověřování.There are several authentication types for the Azure CLI. Nejjednodušší způsob, jak začít, je použít službu Azure Cloud Shell, která vás automaticky přihlásí.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. Místně, můžete se přihlásit interaktivně přes prohlížeč s az login příkazu.Locally, you can sign in interactively through your browser with the az login command. Doporučeným způsobem při psaní skriptů je použití instančních objektů.When writing scripts, the recommended approach is to use service principals. Tím, že instančnímu objektu přidělíte jenom odpovídající potřebná oprávnění, zajistíte zabezpečení automatizace.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

Rozhraní příkazového řádku neukládá žádné z vašich přihlašovacích informací.None of your sign-in information is stored by the CLI. Místo toho Azure vygeneruje obnovovací token ověřování a ten se uloží.Instead, an authentication refresh token is generated by Azure and stored. Od srpna 2018 se tento token po uplynutí 90 dnů nečinnosti odvolá, ale Microsoft nebo správce vašeho tenanta může tuto hodnotu změnit.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. Po odvolání tokenu dostanete z rozhraní příkazového řádku zprávu, že se musíte znovu přihlásit.Once the token is revoked you get a message from the CLI saying you need to sign in again.

Po přihlášení příkazy spouštěné v rozhraní příkazového řádku běží ve výchozím předplatném.After signing in, CLI commands are run against your default subscription. Pokud máte několik předplatných, můžete si změnit výchozí předplatné.If you have multiple subscriptions, you can change your default subscription.

Interaktivní přihlášeníSign in interactively

Výchozí metoda ověřování Azure CLI využívá k přihlášení webový prohlížeč a přístupový token.The Azure CLI's default authentication method uses a web browser and access token to sign in.

  1. Spusťte příkaz login.Run the login command.

    az login
    

    Pokud rozhraní příkazového řádku může spustit výchozí prohlížeč, udělá to a načte přihlašovací stránku.If the CLI can open your default browser, it will do so and load a sign-in page.

    V opačném případě musíte otevřít stránku prohlížeče a postupovat podle pokynů v příkazovém řádku. Po přechodu na https://aka.ms/devicelogin v prohlížeči zadejte autorizační kód.Otherwise, you need to open a browser page and follow the instructions on the command line to enter an authorization code after navigating to https://aka.ms/devicelogin in your browser.

  2. Přihlaste se pomocí přihlašovacích údajů vašeho účtu v prohlížeči.Sign in with your account credentials in the browser.

Přihlášení pomocí přihlašovacích údajů na příkazovém řádkuSign in with credentials on the command line

Zadejte na příkazovém řádku své přihlašovací údaje uživatele Azure.Provide your Azure user credentials on the command line.

Poznámka

Tento postup nefunguje s účty Microsoft a účty s povoleným dvoufaktorovým ověřováním.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

az login -u <username> -p <password>

Důležité

Pokud chcete zabránit zobrazování vašeho hesla v konzole a používáte příkaz az login interaktivně, na příkazovém řádku bash použijte příkaz read -s.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

V Powershellu použijte Get-Credential rutiny.Under PowerShell, use the Get-Credential cmdlet.

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

Přihlášení pomocí instančního objektuSign in with a service principal

Instanční objekty jsou účty, které nejsou vázané na konkrétního uživatele a které můžou mít přiřazená oprávnění prostřednictvím předdefinovaných rolí.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. Ověřování pomocí instančního objektu je nejlepší způsob, jak psát bezpečné skripty nebo programy, a umožňuje používat omezení oprávnění i místně uložené statické přihlašovací údaje.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. Další informace o instančních objektech najdete v tématu Vytvoření instančního objektu Azure pomocí Azure CLI.To learn more about service principals, see Create an Azure service principal with the Azure CLI.

K přihlášení pomocí instančního objektu potřebuje:To sign in with a service principal, you need:

  • Název nebo identifikátor URL přidružený k instančnímu objektuThe URL or name associated with the service principal
  • Heslo instančního objektu nebo certifikát X509 použitý k vytvoření instančního objektu ve formátu PEMThe service principal password, or the X509 certificate used to create the service principal in PEM format
  • Tenanta přidruženého k instančnímu objektu (doména .onmicrosoft.com nebo ID objektu Azure)The tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID

Důležité

Pokud váš objekt služby používá certifikát, který je uložený ve službě Key Vault, musí být privátní klíč tohoto certifikátu k dispozici i bez přihlášení do 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. Pokud chcete načíst privátní klíč pro použití v režimu offline, použijte az keyvault 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>

Důležité

Pokud chcete zabránit zobrazování vašeho hesla v konzole a používáte příkaz az login interaktivně, na příkazovém řádku bash použijte příkaz read -s.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>

V Powershellu použijte Get-Credential rutiny.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>

Přihlásit se pomocí jiného klientaSign in with a different tenant

Tenanta pro přihlášení můžete vybrat pomocí argumentu --tenant.You can select a tenant to sign in under with the --tenant argument. Hodnotou tohoto argumentu může být buď doména .onmicrosoft.com, nebo ID objektu Azure pro příslušného tenanta.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. Pro argument --tenant funguje metoda interaktivního přihlášení i přihlášení pomocí příkazového řádku.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

Přihlášení pomocí spravované identitySign in with a managed identity

Na prostředcích konfigurovaných pro spravované identity pro prostředky Azure se můžete přihlásit pomocí spravované identity.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. Přihlašování pomocí identity prostředku se provádí prostřednictvím příznaku --identity.Signing in with the resource's identity is done through the --identity flag.

az login --identity

Další informace o spravovaných identitách pro prostředky Azure najdete v článcích Konfigurace spravovaných identit pro prostředky Azure a Použití spravovaných identit pro prostředky Azure k přihlášení.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.