Sdílet prostřednictvím


Interaktivní přihlášení pomocí Azure CLI

Interaktivní přihlášení k Azure nabízejí intuitivnější a flexibilnější uživatelské prostředí. Interaktivní přihlášení pomocí Azure CLI umožňuje uživatelům ověřovat se v Azure přímo pomocí příkazu az login , což je užitečné pro ad hoc úlohy správy a pro prostředí, která vyžadují ruční přihlášení, jako jsou zákazníci s vícefaktorovým ověřováním (MFA). Tato metoda zjednodušuje přístup k testování skriptů, učení a místní správě, aniž by bylo nutné předem nakonfigurovat instanční objekty nebo jiné neinteraktivní metody ověřování.

Požadavky

Interaktivní přihlášení

Pokud se chcete přihlásit interaktivně, použijte příkaz az login . Od Azure CLI verze 2.61.0 používá Azure CLI ve Windows správce webových účtů (WAM) a ve výchozím nastavení přihlášení na základě prohlížeče v Linuxu a macOS.

az login

Selektor předplatného

Počínaje Azure CLI verze 2.61.0, pokud máte přístup k více předplatným, zobrazí se výzva k výběru předplatného Azure při přihlášení, jak je znázorněno v následujícím příkladu.

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

Při příštím přihlášení se dříve vybraný tenant a předplatné označí jako výchozí hvězdička (*) vedle čísla. To vám umožní vybrat výchozí předplatné stisknutím klávesy Enter .

Příkazy se ve výchozím nastavení spouštějí pro vybrané předplatné. Předplatné můžete kdykoli az account set změnit z příkazového řádku. Další informace najdete v tématu Správa předplatných Azure pomocí Azure CLI.

Tady je několik pokynů pro selektor předplatného, které je potřeba mít na paměti:

  • Selektor předplatného je dostupný jenom v 64bitové verzi Windows, Linuxu nebo macOS.
  • Selektor předplatného je k dispozici pouze při použití az login příkazu.
  • Při přihlášení pomocí instančního objektu nebo spravované identity se nezobrazí výzva k výběru předplatného.

Pokud chcete zakázat funkci selektoru předplatného, nastavte vlastnost konfigurace core.login_experience_v2 na offhodnotu .

az config set core.login_experience_v2=off
az login

Přihlášení pomocí Správce webových účtů (WAM) ve Windows

Počínaje Azure CLI verze 2.61.0 je teď správce webových účtů (WAM) výchozí metodou ověřování ve Windows. WAM je komponenta Windows 10+ , která funguje jako zprostředkovatel ověřování. (Zprostředkovatel ověřování je aplikace, která běží na počítači uživatele, který spravuje ověřování handshakes a údržbu tokenů pro připojené účty.)

Použití WAM má několik výhod:

Pokud narazíte na problém a chcete se vrátit k předchozí metodě ověřování na základě prohlížeče, nastavte vlastnost konfigurace core.enable_broker_on_windows na falsehodnotu .

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

WAM je k dispozici ve Windows 10 a novějších verzích a v systémech Windows Server 2019 a novějších.

Přihlášení pomocí prohlížeče

Azure CLI ve výchozím nastavení používá metodu ověřování založenou na prohlížeči, pokud platí jedna z následujících možností:

  • Operační systém je Mac nebo Linux nebo operační systém Windows je starší než Windows 10 nebo Windows Server 2019.
  • Vlastnost core.enable_broker_on_windows konfigurace je nastavena na falsehodnotu .

Pokud se chcete přihlásit pomocí prohlížeče, postupujte takto:

  1. Spusťte příkaz az login.

    az login
    

    Pokud azure CLI může otevřít váš výchozí prohlížeč, zahájí tok autorizačního kódu a otevře výchozí prohlížeč pro načtení přihlašovací stránky Azure.

    V opačném případě zahájí tok kódu zařízení a dá vám pokyn, abyste otevřeli stránku prohlížeče na https://aka.ms/deviceloginadrese . Pak zadejte kód zobrazený v terminálu.

    Pokud není k dispozici žádný webový prohlížeč nebo se webový prohlížeč neotevře, můžete vynutit tok kódu zařízení pomocí příkazu az login --use-device-code.

  2. Přihlaste se pomocí přihlašovacích údajů vašeho účtu v prohlížeči.

Přihlášení pomocí přihlašovacích údajů na příkazovém řádku

Zadejte na příkazovém řádku své přihlašovací údaje uživatele Azure. Tuto metodu ověřování použijte pouze pro výuku příkazů Azure CLI. Aplikace na úrovni produkce by měly používat instanční objekt nebo spravovanou identitu.

Tento postup nefunguje s účty Microsoft a účty s povoleným dvoufaktorovým ověřováním. Potřebujete interaktivní ověření.

az login --user <username> --password <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.

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

V PowerShellu použijte rutinu Get-Credential .

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

Přihlásit se pomocí jiného klienta

Tenanta pro přihlášení můžete vybrat pomocí argumentu --tenant. Hodnotou tohoto argumentu může být buď doména .onmicrosoft.com, nebo ID objektu Azure pro příslušného tenanta. Interaktivní metody přihlášení i metody přihlašování z příkazového řádku fungují s --tenant.

Ve vybraných prostředích a počínaje Azure CLI verze 2.61.0 musíte nejprve zakázat selektor předplatného core.login_experience_v2 nastavením vlastnosti konfigurace na offhodnotu .

# 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

Pokud chcete znovu použít selektor předplatného, spusťte az config set core.login_experience_v2=onpříkaz . Další informace o selektoru předplatného najdete v tématu Interaktivní přihlášení.

Pokud chcete po přihlášení změnit aktivního tenanta, přečtěte si, jak změnit aktivního tenanta.

Přihlášení pomocí --scope

az login --scope https://management.core.windows.net//.default

Odhlášení

Pokud chcete odebrat přístup k Azure, použijte příkaz az logout .

az logout

Vymazání mezipaměti předplatného

Pokud chcete aktualizovat seznam předplatných, použijte příkaz az account clear . Abyste viděli aktualizovaný seznam, budete se muset znovu přihlásit.

az account clear

az login

Vymazání mezipaměti předplatného není technicky stejný proces jako odhlášení z Azure. Když ale vymažete mezipaměť předplatného, nemůžete spouštět příkazy Azure CLI, včetně az account setpříkazů , dokud se znovu nehlásíte.

Obnovovací tokeny

Když se přihlásíte pomocí uživatelského účtu, Azure CLI vygeneruje a ukládá ověřovací obnovovací token. Vzhledem k tomu, že přístupové tokeny jsou platné pouze na krátkou dobu, vydává se obnovovací token současně s přístupovým tokenem. Klientská aplikace pak může tento obnovovací token v případě potřeby vyměnit za nový přístupový token. Další informace o životnosti a vypršení platnosti tokenů najdete v tématu Aktualizace tokenů na platformě Microsoft Identity Platform.

Pomocí příkazu az account get-access-token načtěte přístupový token:

# 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>"

Tady je několik dalších informací o datech vypršení platnosti přístupového tokenu:

  • Data vypršení platnosti se aktualizují ve formátu, který podporuje Rozhraní příkazového řádku Azure založené na MSAL.
  • Počínaje Azure CLI 2.54.0 az account get-access-token vrátí expires_on vlastnost společně expiresOn s vlastností pro čas vypršení platnosti tokenu.
  • Vlastnost expires_on představuje časové razítko POSIX (Portable Operating System Interface), zatímco expiresOn vlastnost představuje místní datum a čas.
  • Vlastnost expiresOn se při ukončení letního času nevyjádří "přeložením". To může způsobit problémy v zemích nebo oblastech, kde je přijat letní čas. Další informace o "přeložení", viz PEP 495 – Místní čas Nejednoznačnost.
  • Doporučujeme, aby podřízené aplikace používaly expires_on vlastnost, protože používá kód UTC (Universal Time Code).

Příklad výstupu:

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

Řešení problému

Pokud je vaším výchozím prohlížečem Microsoft Edge, při interaktivním pokusu o přihlášení k Azure az loginse může zobrazit následující chyba: Připojení pro tento web není zabezpečené. Pokud chcete tento problém vyřešit, navštivte edge://net-internals/#hsts v Microsoftu.

Okraj. Přidejte localhost v části Odstranit zásady zabezpečení domény a vyberte Odstranit.

Viz také