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


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

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

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

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

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

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

Начиная с сентября 2025 г. корпорация Майкрософт потребует многофакторной проверки подлинности (MFA) для Azure CLI и других средств командной строки. Это изменение применяется только к идентификациям пользователей Microsoft Entra ID и не влияет на удостоверения рабочих процессов, такие как учетные записи служб или управляемые удостоверения.

Если вы используете az login с именем пользователя и паролем для аутентификации скриптов или автоматизированных рабочих процессов, сейчас пришло время перейти на учетную запись рабочей нагрузки. Для получения дополнительной информации, см. статью «Влияние многофакторной аутентификации на Azure CLI в сценариях автоматизации».

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

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

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

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

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

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

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

Замечание

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

См. также