Интерактивный вход с помощью Azure CLI
Интерактивные имена входа в Azure обеспечивают более интуитивно понятный и гибкий интерфейс пользователя. Интерактивное вход с помощью Azure CLI позволяет пользователям проходить проверку подлинности в Azure напрямую с помощью команды az login , которая полезна для задач ad-hoc управления и для сред, требующих ручного входа, таких как клиенты с многофакторной проверкой подлинности (MFA). Этот метод упрощает доступ к тестированию скриптов, обучению и управлению на лету без необходимости предварительно настроить субъекты-службы или другие неинтерактивные методы проверки подлинности.
Необходимые компоненты
Интерактивный вход
Для интерактивного входа используйте команду 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 в Корпорации Майкрософт
Пограничное. Добавьте localhost
в раздел "Удалить политику безопасности домена" и нажмите кнопку "Удалить".
См. также
- Памятка по подключению Azure CLI
- Поиск примеров Azure CLI и опубликованных документов