Автоматизируйте аутентификацию в Azure в качестве участника-службы с помощью Windows Powershell

#azure #azure-powershell

#azure #azure-powershell

Вопрос:

Мне нужно использовать Powershell для некоторых автоматизированных заданий Jenkins. Для выполнения работы мне нужно пройти аутентификацию в качестве участника-службы неинтерактивным способом.

В командной строке Azure это может быть выполнено неинтерактивно с помощью следующей команды:

 az login --service-principal -u "$client_id" -p "$client_secret" -t "$tenant_id"
  

Однако выполнить это с помощью Connect-AzAccount командлета для Powershell оказывается непросто. Можно ли каким-либо образом достичь того же результата, что и выше, с помощью командлета Powershell? Все параметры, описанные здесь, кажутся только интерактивными.

Буду признателен за любую помощь.

Ответ №1:

Чтобы использовать Connect-AzAccount для неинтерактивного входа в систему, попробуйте команду, как показано ниже, strong password это секрет вашего клиента, на моей стороне она отлично работает.

 $azureAplicationId ="Azure AD Application Id"
$azureTenantId= "Your Tenant Id"
$azurePassword = ConvertTo-SecureString "strong password" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
Connect-AzAccount -Credential $psCred -TenantId $azureTenantId  -ServicePrincipal 
  

введите описание изображения здесь

Комментарии:

1. возможно ли сохранить пароль где-нибудь в хранилище вместо того, чтобы сохранять его локально, поскольку я не хочу сохранять пароль на своем локальном компьютере для входа в azure