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


Вход в систему Azure с использованием учетной записи службы через Azure CLI

Сервисные субъекты — это учетные записи, не привязанные к конкретному пользователю, которым можно назначать разрешения с помощью предопределенных ролей. Аутентификация с использованием учетной записи службы — лучший способ создавать безопасные скрипты или программы. Он позволяет применять как ограничения разрешений, так и локально хранимые статические учетные данные. Дополнительные сведения о субъектах-службах см. в статье "Работа с субъектами-службами Azure" с помощью Azure CLI.

Для входа с помощью учетной записи службы необходимы следующие сведения:

  • URL-адрес или имя, связанное с основной службой.
  • Секрет клиента служебного принципала или сертификат X509, используемый для создания служебного принципала в формате PEM.
  • Клиент, связанный с субъектом-службой, как домен .onmicrosoft.com или идентификатор клиента Microsoft Entra.

Обратите внимание на два важных факта при работе с субъектами-службами и Azure CLI:

Чтобы войти с помощью секрета клиента, используйте следующую команду:

az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID

Чтобы войти с помощью сертификата, используйте следующую команду:

az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID

Это важно

Чтобы не отображать пароль в консоли при интерактивном использовании az login , используйте read -s команду в разделе bash.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>

В PowerShell используйте командлет Get-Credential.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>

См. также