Используйте Azure Управляемый системный идентификатор виртуальной машины для доступа к Azure SQL из Powershell - PullRequest
0 голосов
/ 22 апреля 2020

Мне нужно выполнить несколько массовых операций за одну ночь в базе данных azure sql.

У меня есть сценарий PowerShell, который использует команды invoke- sql, используя учетные данные sql для учетной записи службы. Вот пример:

$params = @{
      'Database' = 'test-db'
      'ServerInstance' = 'my-db.database.windows.net'
      'Username' = 'service_account'
      'Password' = 'my exposed password'
      'OutputSqlErrors' = $true
      'Query' = 'SELECT top 10 * FROM dbo.CaseHistory'
}
Invoke-Sqlcmd @params

Я хочу установить это как запланированное задание windows, которое будет запускаться с моей виртуальной машины каждую ночь, однако мне не нравится иметь учетные данные SQL в сценарии PowerShell. .

У рассматриваемой виртуальной машины есть назначенный системой управляемый идентификатор, который я уже использую для доступа к хранилищу BLOB-объектов.

Я уже настроил пользователя sql для этого идентификатора в azure sql:

CREATE USER [myVmName] FROM EXTERNAL PROVIDER

И я предоставил все необходимые разрешения.

Как использовать управляемую идентификацию из сценария PowerShell?

PS Я не ценю то, что придерживаюсь Invoke-Sqlcmd.

1 Ответ

0 голосов
/ 23 апреля 2020

Поздравляем, Twisted нашли решение:

"Я нашел эту страницу с разделом справа внизу об использовании PowerShell с управляемыми удостоверениями: Учебное пособие: Используйте Windows VM, назначенную системой управляемой личность для доступа Azure SQL "

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...