Поддержка ADAL SQL Runbook автоматизации Azure

Я пытаюсь использовать книгу выполнения Azure Automation для выполнения запроса к базе данных SQL Azure с использованием учетных данных Azure AD:

$cred = Get-AutomationPSCredential -Name 'SqlAdminUser'
$Username = $cred.UserName
$Password = $cred.GetNetworkCredential().Password
$Server = 'server.database.windows.net'
$Port = 1433
$cxnString = "Server=tcp:$Server,$Port;Database=$Database;Authentication=Active Directory Password;UID=$UserName;PWD=$Password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"

$cxn = New-Object System.Data.SqlClient.SqlConnection($cxnString)
$cxn.Open()
$cmd = New-Object System.Data.SqlClient.SqlCommand($query, $cxn)
$cmd.CommandTimeout = 120
$cmd.ExecuteNonQuery()
$cxn.Close()

и я получаю следующую ошибку:

Ключевое слово не поддерживается: "аутентификация".

Таким образом, похоже, что в Azure Automation не установлена библиотека ADAL SQL? Есть ли простой способ обойти это (и при этом использовать для подключения учетную запись Azure AD)?

Я использовал этот пример в качестве отправной точки.

2 ответа

Решение

В конце концов я создал гибридных рабочих, которые позволили мне установить последнюю версию библиотеки ADAL SQL, которая поддерживает аутентификацию Azure AD.

Вы извлекаете имя пользователя и пароль из $SqlCredential, но сохраняете учетные данные в переменной $cred. Эти переменные должны быть одинаковыми. Также убедитесь, что объект учетной записи автоматизации создан в учетной записи автоматизации Azure с тем же именем, что и SqlAdminUser.

Другие вопросы по тегам