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


Проверка подлинности в Azure с помощью Azure CLI

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

Вход в Azure с помощью Azure CLI

При работе с Azure CLI существует четыре варианта проверки подлинности:

Authentication method Преимущество
Azure Cloud Shell Azure Cloud Shell автоматически регистрирует вас и проще всего приступить к работе.
Войдите в интерактивное режиме Этот вариант подходит при обучении команд Azure CLI и локальном запуске Azure CLI. С помощью команды az login выполните вход через браузер. Интерактивный вход также предоставляет селектор подписки для автоматического задания подписки по умолчанию.
Вход с помощью управляемого удостоверения Управляемые удостоверения предоставляют управляемое Azure удостоверение для приложений, используемых при подключении к ресурсам, поддерживающим проверку подлинности Microsoft Entra. Использование управляемого удостоверения устраняет необходимость управления секретами, учетными данными, сертификатами и ключами.
Войти с помощью сервисного принципала При написании скриптов рекомендуется использовать субъект-службу . Вы предоставляете только соответствующие разрешения, необходимые субъекту-службе, обеспечивая безопасность автоматизации.

многофакторная проверка подлинности (MFA)

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

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

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

Поиск или изменение текущей подписки

После входа команды CLI выполняются в подписке по умолчанию. Если у вас несколько подписок, измените подписку по умолчанию с помощью az account set --subscription.

az account set --subscription "<subscription ID or name>"

Дополнительные сведения об управлении подписками Azure см. в статье "Управление подписками Azure с помощью Azure CLI".

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

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

Примечание.

В зависимости от метода входа ваш клиент может иметь политики условного доступа, ограничивающие доступ к определенным ресурсам.

См. также