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


Войдите в Azure в интерактивном режиме с помощью Azure CLI

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

Внимание

Начиная с 2025 года корпорация Майкрософт будет применять обязательный MFA для Azure CLI и других средств командной строки. Дополнительные сведения об этом требовании см. в записи блога.

MFA повлияет только на идентификаторы пользователей Microsoft Entra ID . Это не повлияет на удостоверения рабочей нагрузки, такие как служебные субъекты и управляемые удостоверения.

Если вы используете az login с Entra ID и паролем для аутентификации скрипта или автоматизированного процесса, запланируйте переход на удостоверение задачи. Ниже приведены некоторые полезные ссылки, которые помогут вам внести это изменение:

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

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

Для интерактивного входа используйте команду az login . Начиная с Azure CLI версии 2.61.0 Azure CLI использует диспетчер веб-учетных записей (WAM) в Windows, а по умолчанию — имя входа на основе браузера в 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. Дополнительные сведения о селекторе подписки см. в разделе интерактивного входа .

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

Вход с помощью --scope

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

Выход

Чтобы удалить доступ к Azure, используйте команду az logout .

az logout

Очистка кэша подписки

Чтобы обновить список подписок, используйте команду az account clear . Чтобы просмотреть обновленный список, необходимо снова войти.

az account clear

az login

Очистка кэша подписок технически не совпадает с процессом выхода из Azure. При очистке кэша подписок, однако, команды Azure CLI, включая az account set, не могут выполняться, пока не выполнен повторный вход.

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

При входе с помощью учетной записи пользователя 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 в раздел "Удалить политику безопасности домена" и нажмите кнопку "Удалить".

См. также