it-swarm.com.ru

Azure Powershell - автоматизация входа в систему. Вход в AzureRmAccount AD - для функции Azure.

У меня есть этот сценарий Azure Powershell , который успешно выполняет резервное копирование базы данных SQL Azure в BLOB-объект Azure.

В его нынешнем виде мне требуется войти через AD.

Теперь мне нужно реализовать этот скрипт для выполнения через функцию Azure через определенные промежутки времени.

Первый фрагмент сценария:

$subscriptionId = "YOUR Azure SUBSCRIPTION ID"

Login-AzureRmAccount
Set-AzureRmContext -SubscriptionId $subscriptionId

Поэтому мне не нужно использовать Login-AzureRmAccount, а заменить его методом, который не требует участия человека.

Я нашел эту ссылку:

https://cmatskas.com/automate-login-for-Azure-powershell-scripts/

  • Одним словом, автор:
    1. Создает приложение Azure AD (со своим собственным паролем)
    2. Создает сервисный принципал
    3. Назначает разрешения для участника службы

Это единовременное ручное создание, которое идеально.

Затем автор входит в это недавно созданное приложение

$psCred = New-Object System.Management.Automation.PSCredential($azureAccountName, $azurePassword)


Add-AzureRmAccount -Credential $psCred -TenantId e801a3ad-3690-4aa0-a142-1d77cb360b07 -ServicePrincipal

Мои вопросы:

  1. Это то, что я должен сделать, чтобы иметь возможность автоматизировать свое приложение и предотвратить вход в систему человека?

  2. Это приложение Azure AD, созданное на шаге 1, могу ли я использовать это приложение в качестве отправной точки в моих функциях Azure?

4
Peter PitLock
  1. Да, вы можете использовать этот маршрут, или использовать проверку подлинности сертификата, или использовать пользователя Azure AD, он может войти в систему с именем пользователя\пароль, но считается менее безопасным, чем участник службы.
  2. Да, вы можете использовать одного участника службы для любого количества функций Azure, которые вы хотели бы.
5
4c74356b41

Чтобы использовать Azure PowerShell в функциях Azure, вы можете обратиться к следующему ответу в другом потоке SO. Примером является HTTP-Trigger, но вы можете изменить его, чтобы использовать Timer-Trigger для вашего варианта использования. Вот ссылка:

роль функции Azure, например разрешения для остановки виртуальных машин Azure

1
Ling Toh

Запустите PowerShell от имени администратора, вам нужно установить AzureRM в PowerShell,

  • Войдите в Azure

Login-AzureRmAccount

  • Введите свои учетные данные Azure
  • Чтобы получить информацию о подписке, введите

Get-AzureRmSubscription

  • Используйте идентификатор подписки, чтобы выбрать подписку.

Select-AzureRmSubscription -SubscriptionId xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

  • Сохраните AzureProfile, используя приведенную ниже команду

Save-AzureRmProfile -Path "C:\AzureScripts\profile.json"

  • Файл json можно использовать для входа в Azure.

Select-AzureRmProfile -Path "C:\AzureScripts\profile.json"

Поместите эту строку поверх файла .ps1, вам не требуется ввод данных человеком .

Ссылка: http://www.smartcoding.in/blog/auto-login-Azure-power-Shell

0
Kishore Sahasranaman