Поделиться через


Интерактивный вход с помощью Azure CLI

Интерактивные имена входа в Azure обеспечивают более интуитивно понятный и гибкий интерфейс пользователя. Интерактивное вход с помощью Azure CLI позволяет пользователям проходить проверку подлинности в Azure напрямую с помощью команды az login , которая полезна для задач ad-hoc управления и для сред, требующих ручного входа, таких как клиенты с многофакторной проверкой подлинности (MFA). Этот метод упрощает доступ к тестированию скриптов, обучению и управлению на лету без необходимости предварительно настроить субъекты-службы или другие неинтерактивные методы проверки подлинности.

Необходимые компоненты

Интерактивный вход

Для интерактивного входа используйте команду az login . Начиная с Azure CLI версии 2.61.0, системы Windows используют диспетчер веб-учетных записей (WAM), а системы Linux и macOS по умолчанию используют имя входа на основе браузера.

az login

Селектор подписки

Начиная с Azure CLI версии 2.61.0, если у вас есть доступ к нескольким подпискам, вам будет предложено выбрать подписку Azure во время входа, как показано в следующем примере.

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

При следующем входе выбранный клиент и подписка помечаются как значение по умолчанию со звездочкой (*) рядом с его номером. Это позволяет нажать клавишу ВВОД , чтобы выбрать подписку по умолчанию.

Команды выполняются по умолчанию в выбранной подписке. Вы по-прежнему можете изменять az account set подписку из командной строки в любое время. Дополнительные сведения см. в статье "Управление подписками Azure с помощью Azure CLI".

Ниже приведены некоторые рекомендации по селектору подписок, которые следует учитывать:

  • Селектор подписки доступен только в 64-разрядной версии Windows, Linux или macOS.
  • Селектор подписки доступен только при использовании az login команды.
  • Вам не предлагается выбрать подписку при входе в систему с помощью субъекта-службы или управляемого удостоверения.

Если требуется отключить функцию селектора подписки, задайте для свойства конфигурации core.login_experience_v2 значение off.

az config set core.login_experience_v2=off
az login

Вход с помощью диспетчера веб-учетных записей (WAM) в Windows

Начиная с Azure CLI версии 2.61.0, диспетчер веб-учетных записей (WAM) теперь является методом проверки подлинности по умолчанию в Windows. WAM — это компонент Windows 10+, который выступает в качестве брокера проверки подлинности. (Брокер проверки подлинности — это приложение, работающее на компьютере пользователя, которое управляет подтверждением проверки подлинности и обслуживанием маркеров для подключенных учетных записей.)

Использование WAM имеет несколько преимуществ:

Если возникла проблема и вы хотите отменить изменения в предыдущий метод проверки подлинности на основе браузера, задайте для свойства конфигурации core.enable_broker_on_windows значение false.

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

WAM доступен в Windows 10 и более поздних версиях, а также в Windows Server 2019 и более поздних версий.

Вход с помощью браузера

Azure CLI по умолчанию использует метод проверки подлинности на основе браузера, если одно из следующих значений имеет значение true:

  • Операционная система (ОС) — Mac или Linux, или ОС Windows ранее, чем Windows 10 или Windows Server 2019.
  • Для core.enable_broker_on_windows свойства конфигурации задано значение false.

Выполните следующие действия, чтобы войти в браузер:

  1. Выполните команду az login.

    az login
    

    Если Azure CLI может открыть браузер по умолчанию, он инициирует поток кода авторизации и открывает браузер по умолчанию для загрузки страницы входа Azure.

    В противном случае он инициирует поток кода устройства и указывает, на что вы откроете страницу браузера.https://aka.ms/devicelogin Затем введите код, отображаемый в терминале.

    Если веб-браузер недоступен или его не удается открыть, вы можете использовать поток кода устройства с применением az login --use-device-code.

  2. Выполните вход в браузере с помощью учетных данных.

Вход с учетными данными с помощью командной строки

Укажите свои учетные данные пользователя Azure в командной строке. Используйте этот метод проверки подлинности только для обучения команд Azure CLI. Приложения уровня рабочей среды должны использовать субъект-службу или управляемое удостоверение.

Этот способ не работает с учетными записями Майкрософт или с учетными записями, которые используют двухфакторную проверку подлинности. Вы получаете сообщение об интерактивной проверке подлинности .

az login --user <username> --password <password>

Внимание

Если вы не хотите, чтобы ваш пароль отображался в консоли, и используете az login в интерактивном режиме, используйте команду read -s в bash.

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

В PowerShell используйте командлет Get-Credential.

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

Вход с помощью другого клиента

С помощью аргумента --tenant можно выбрать клиент, от имени которого выполняется вход. Значением этого аргумента может быть домен .onmicrosoft.com или идентификатор объекта Azure для клиента. Интерактивные и методы входа в командной строке работают с --tenant.

При выборе сред и начиная с Azure CLI версии 2.61.0 необходимо сначала отключить селектор подписки, задав core.login_experience_v2 для свойства конфигурации значение 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

Чтобы повторно создать селектор подписки, выполните команду az config set core.login_experience_v2=on. Дополнительные сведения о селекторе подписки см. в разделе [#interactive-login)

После входа, если вы хотите изменить активный клиент, см . инструкции по изменению активного клиента.

маркеры обновления.

При входе с помощью учетной записи пользователя Azure CLI создает и сохраняет маркер обновления проверки подлинности. Так как маркеры доступа действительны только в течение короткого периода времени, маркер обновления выдается одновременно с маркером доступа. После этого клиентское приложение может при необходимости обмениваться этим маркером обновления для получения нового маркера доступа. Дополнительные сведения о времени существования и истечении срока действия маркеров см. в платформа удостоверений Майкрософт.

Используйте команду az account get-access-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>"

Ниже приведены дополнительные сведения о датах окончания срока действия маркера доступа:

  • Даты окончания срока действия обновляются в формате, поддерживаемом Azure CLI на основе MSAL.
  • Начиная с Azure CLI 2.54.0, az account get-access-token возвращает expires_on свойство вместе со свойством expiresOn для срока действия маркера.
  • Свойство expires_on представляет метку времени переносимого интерфейса операционной системы (POSIX), а expiresOn свойство представляет локальное время даты и времени.
  • Свойство expiresOn не выражает "свертывания", когда заканчивается летнее время. Это может привести к проблемам в странах или регионах, где используется летнее время. Дополнительные сведения о "свертывание" см. в разделе PEP 495 — диамбигуация местного времени.
  • Для подчиненных приложений рекомендуется использовать expires_on свойство, так как он использует универсальный код времени (UTC).

Пример результата:

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

Устранение неполадок

Если браузер по умолчанию — Microsoft Edge, при попытке входа в Azure в интерактивном режиме az loginможет возникнуть следующая ошибка: "Подключение для этого сайта не безопасно". Чтобы устранить эту проблему, посетите edge://net-internals/#hsts в Microsoft Edge. Добавьте localhost в раздел "Удалить политику безопасности домена" и нажмите кнопку "Удалить".

См. также