Управление учетными данными в службе автоматизации Azure
В ресурсе-контейнере учетных данных службы автоматизации хранится объект, содержащий учетные данные безопасности, например имя пользователя и пароль. Модули Runbook и конфигурации DSC используют командлеты, которые принимают объект PSCredential для проверки подлинности. Кроме того, они могут извлекать имя пользователя и пароль объекта PSCredential
, чтобы предоставить их приложению или службе, для доступа к которым требуется проверка подлинности.
Примечание.
К защищенным ресурсам в службе автоматизации Azure относятся учетные данные, сертификаты, подключения и зашифрованные переменные. Эти ресурсы шифруются и хранятся в службе автоматизации Azure с помощью уникального ключа, который создается для каждой учетной записи службы автоматизации. Служба автоматизации Azure хранит ключ в управляемом системой хранилище ключей Key Vault. Перед сохранением защищенного ресурса служба автоматизации Azure загружает ключ из Key Vault, а затем использует его для шифрования ресурса.
Примечание.
Сведения о просмотре или удалении персональных данных см. в разделе "Общие запросы субъекта данных" для GDPR, запросов субъекта данных Azure для GDPR или запросов субъектов данных Windows для GDPR в зависимости от конкретной области и потребностей. Дополнительные сведения о GDPR см. в разделе, посвященном GDPR, в Центре управления безопасностью Майкрософт и на портале Service Trust Portal.
Командлеты PowerShell, используемые для доступа к учетным данным
Командлеты, представленные в следующей таблице, используются для создания учетных данных службы автоматизации с помощью PowerShell и управления ими. Они поставляются в составе модулей Az.
Командлет | Description |
---|---|
Get-AzAutomationCredential | Извлекает объект CredentialInfo, содержащий метаданные учетных данных. Командлет не извлекает сам объект PSCredential . |
New-AzAutomationCredential | Создает новые учетные данные службы автоматизации. |
Remove-AzAutomationCredential | Удаляет учетные данные службы автоматизации. |
Set-AzAutomationCredential | Задает свойства для существующих учетных данных службы автоматизации. |
Другие командлеты, используемые для доступа к учетным данным
Командлеты в следующей таблице используются для доступа к учетным данным в модулях Runbook и конфигурациях DSC.
Командлет | Description |
---|---|
Get-AutomationPSCredential |
Получает объект PSCredential для использования в модуле Runbook или в конфигурации DSC. Чаще всего используется именно этот внутренний командлет, а не командлет Get-AzAutomationCredential , поскольку последний извлекает только сведения об учетных данных. Эта информация обычно не представляет ценности для передачи другому командлету. |
Get-Credential | Получает учетные данные с запросом имени пользователя и пароля. Этот командлет является частью модуля Microsoft.PowerShell.Security по умолчанию. См. раздел Стандартные модули. |
New-AzureAutomationCredential | Создает ресурс-контейнер учетных данных. Этот командлет является частью модуля Azure по умолчанию. См. раздел Стандартные модули. |
Чтобы получить объекты PSCredential
в коде, необходимо импортировать модуль Orchestrator.AssetManagement.Cmdlets
. Дополнительные сведения см. в статье Администрирование модулей в службе автоматизации Azure.
Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue
Примечание.
Не следует использовать переменные в параметре Name
Get-AutomationPSCredential
. Их использование может усложнить обнаружение зависимостей между модулями Runbook или конфигурациями DSC и ресурсами-контейнерами учетных данных во время разработки.
Функции Python, обращающиеся к учетным данным
Функция, приведенная в следующей таблице, используется для доступа к учетным данным в runbook Python 2 и 3. Модули runbook для Python 3 сейчас доступны в предварительной версии.
Function | Description |
---|---|
automationassets.get_automation_credential |
Извлекает сведения о ресурсе учетных данных. |
Примечание.
Импортируйте модуль automationassets
в верхнюю часть модуля Runbook Python, чтобы получить доступ к функциям ресурса.
Создание ресурса-контейнера учетных данных
Ресурс-контейнер учетных данных можно создать с помощью портала Azure или Windows PowerShell.
Создание нового ресурса-контейнера учетных данных на портале Azure
В учетной записи службы автоматизации в области слева выберите Учетные данные в разделе Общие ресурсы.
На странице Учетные данные выберите Добавить учетные данные.
В области "Новые учетные данные" введите соответствующее имя учетных данных, следуя стандартам именования.
Введите идентификатор доступа в поле Имя пользователя.
В полях пароля введите секретный ключ доступа.
Если установлен флажок многофакторной проверки подлинности, снимите флажок.
Нажмите Создать, чтобы создать новый ресурс-контейнер учетных данных.
Примечание.
служба автоматизации Azure не поддерживает учетные записи пользователей, использующие многофакторную проверку подлинности.
Создание нового ресурса-контейнера учетных данных с помощью Windows PowerShell
В примере ниже демонстрируется порядок создания новых учетных данных службы автоматизации Azure. Сначала создается объект PSCredential
с именем и паролем, после чего он используется для создания ресурса-контейнера учетных данных. Вместо этого можно использовать командлет Get-Credential
, чтобы предложить пользователю ввести имя и пароль.
$user = "MyDomain\MyUser"
$pw = ConvertTo-SecureString "PassWord!" -AsPlainText -Force
$cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $user, $pw
New-AzureAutomationCredential -AutomationAccountName "MyAutomationAccount" -Name "MyCredential" -Value $cred
Получение ресурса-контейнера учетных данных
Модуль Runbook или Конфигурация DSC получают ресурс-контейнер учетных данных с помощью внутреннего командлета Get-AutomationPSCredential
. Этот командлет получает объект PSCredential
, который можно использовать с командлетом, для которого требуются учетные данные. Можно также получить свойства объекта учетных данных, чтобы использовать их по отдельности. Объект содержит свойства имени пользователя и защищенного пароля.
Примечание.
Командлет Get-AzAutomationCredential
не извлекает объект PSCredential
, который можно использовать для проверки подлинности. Он только предоставляет сведения об учетных данных. Если необходимо применить учетные данные в модуле Runbook, необходимо получить их как объект PSCredential
, используя Get-AutomationPSCredential
.
Кроме того, можно использовать метод GetNetworkCredential для получения объекта NetworkCredential, который представляет собой незащищенную версию пароля.
Пример текстового runbook
Команды в приведенном ниже примере демонстрируют использование учетных данных PowerShell в модуле Runbook. Он получает учетные данные и присваивает переменным имя пользователя и пароль.
$myCredential = Get-AutomationPSCredential -Name 'MyCredential'
$userName = $myCredential.UserName
$securePassword = $myCredential.Password
$password = $myCredential.GetNetworkCredential().Password
Вы также можете использовать учетные данные для проверки подлинности в Azure с помощью Connect-AzAccount после первого подключения к управляемому удостоверению. В этом примере используется управляемое удостоверение, назначаемое системой.
# Ensures you do not inherit an AzContext in your runbook
Disable-AzContextAutosave -Scope Process
# Connect to Azure with system-assigned managed identity
$AzureContext = (Connect-AzAccount -Identity).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext
# Get credential
$myCred = Get-AutomationPSCredential -Name "MyCredential"
$userName = $myCred.UserName
$securePassword = $myCred.Password
$password = $myCred.GetNetworkCredential().Password
$myPsCred = New-Object System.Management.Automation.PSCredential ($userName,$securePassword)
# Connect to Azure with credential
$AzureContext = (Connect-AzAccount -Credential $myPsCred -TenantId $AzureContext.Subscription.TenantId).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription `
-TenantId $AzureContext.Subscription.TenantId `
-DefaultProfile $AzureContext
Пример графического модуля Runbook
Можно добавить действие для внутреннего командлета Get-AutomationPSCredential
в графический модуль Runbook, щелкнув правой кнопкой мыши учетные данные в области "Библиотека" графического редактора и выбрав пункт Добавить на холст.
На следующем рисунке показан пример использования учетных данных в графическом Runbook. В этом случае учетные данные предоставляют проверку подлинности для модуля Runbook в ресурсах Azure, как описано в разделе "Использование идентификатора Microsoft Entra в служба автоматизации Azure для проверки подлинности в Azure". Первое действие получает учетные данные с доступом к подписке Azure. Затем действие подключения учетной записи использует эти учетные данные для проверки подлинности любых последующих действий. Здесь используется конвейерная связь, поскольку параметр Get-AutomationPSCredential
ожидает один объект.
Использование учетных данных в конфигурации DSC
Несмотря на то, что конфигурации DSC в службе автоматизации Azure могут работать с ресурсами-контейнерами учетных данных с помощью Get-AutomationPSCredential
, они также могут передавать ресурсы-контейнеры учетных данных посредством параметров. Дополнительные сведения см. в статье Компилирование конфигураций в Azure Automation DSC.
Следующие шаги
- Дополнительные сведения о командлетах, используемых для доступа к сертификатам, см. в статье Управление модулями в службе автоматизации Azure.
- Общие сведения о модулях runbook см. в статье Выполнение модуля Runbook в службе автоматизации Azure.
- Дополнительные сведения о конфигурациях DSC см. в разделе Общие сведения о настройке состояния службы автоматизации Azure.