Войдите в Azure в интерактивном режиме с помощью Azure CLI
Интерактивные имена входа в Azure обеспечивают более интуитивно понятный и гибкий интерфейс пользователя. С помощью Azure CLI можно выполнить проверку подлинности в Azure непосредственно с помощью команды az login . Эта команда полезна для нерегламентированных задач управления и для сред, требующих ручного входа, таких как многофакторная проверка подлинности (MFA). Этот метод упрощает доступ к тестированию скриптов, обучению и управлению на лету без необходимости предварительно настроить субъекты-службы или другие неинтерактивные методы проверки подлинности.
Внимание
Начиная с 2025 года корпорация Майкрософт будет применять обязательный MFA для Azure CLI и других средств командной строки. Дополнительные сведения об этом требовании см. в записи блога.
MFA повлияет только на идентификаторы пользователей Microsoft Entra ID . Это не повлияет на удостоверения рабочей нагрузки, такие как служебные субъекты и управляемые удостоверения.
Если вы используете az login с Entra ID и паролем для аутентификации скрипта или автоматизированного процесса, запланируйте переход на удостоверение задачи. Ниже приведены некоторые полезные ссылки, которые помогут вам внести это изменение:
- Планирование обязательной многофакторной проверки подлинности для Azure и других порталов администрирования.
- Как проверить, настроены ли пользователи для обязательной многофакторной проверки подлинности Microsoft Entra (MFA)
- Рекомендации по развертыванию многофакторной аутентификации Microsoft Entra
- Перейти на многофакторную аутентификацию Microsoft Entra с помощью федераций
- Использование программы миграции сервера MFA для миграции в многофакторную проверку подлинности Microsoft Entra
Необходимые компоненты
Интерактивный вход
Для интерактивного входа используйте команду 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 имеет несколько преимуществ:
- Улучшенная безопасность. См. раздел условного доступа: защита маркеров (предварительная версия).
- Поддержка политик windows Hello, политик условного доступа и ключей FIDO.
- Упрощенный единый вход.
- Исправления ошибок и улучшения, отправленные в Windows.
Если возникла проблема и вы хотите вернуться к предыдущему методу проверки подлинности на основе браузера, задайте для свойства конфигурации 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
.
Чтобы войти в браузер, выполните следующие действия.
Выполните команду
az login
.az login
Если Azure CLI может открыть браузер по умолчанию, он инициирует поток кода авторизации и открывает браузер по умолчанию для загрузки страницы входа Azure.
В противном случае он инициирует поток кода устройства и указывает, на что вы откроете страницу браузера.https://aka.ms/devicelogin Затем введите код, отображаемый в терминале.
Если веб-браузер недоступен или его не удается открыть, вы можете использовать поток кода устройства с применением az login --use-device-code.
Выполните вход в браузере с помощью учетных данных.
Вход с учетными данными с помощью командной строки
Укажите свои учетные данные пользователя 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
в раздел "Удалить политику безопасности домена" и нажмите кнопку "Удалить".
См. также
- Памятка по подключению Azure CLI
- Поиск примеров Azure CLI и опубликованных документов