Управление подключениями в службе автоматизации Azure
Ресурс подключения службы автоматизации Azure содержит приведенные ниже сведения. Эти сведения необходимы для подключения к внешней службе или приложению из модуля runbook либо конфигурации DSC.
- Сведения, необходимые для проверки подлинности, такие как имя пользователя и пароль.
- Сведения о подключении, например URL-адрес или порт.
Ресурс подключения хранит все свойства для подключения к определенному приложению, что избавляет от необходимости создавать несколько переменных. Вы можете изменять значения для подключения в одном месте, а также передать имя подключения в модуль runbook или конфигурацию DSC в одном параметре. Модуль runbook или конфигурация обращается к свойствам подключения с помощью внутреннего командлета Get-AutomationConnection
.
При создании подключения необходимо указать его тип. Тип подключения — это шаблон, определяющий набор его свойств. Вы можете добавить тип подключения в службу автоматизации Azure с помощью модуля интеграции с файлом метаданных. Тип подключения можно также создать с помощью API службы автоматизации, если модуль интеграции содержит тип подключения и импортируется в учетную запись службы автоматизации.
Примечание.
К защищенным ресурсам в службе автоматизации Azure относятся учетные данные, сертификаты, подключения и зашифрованные переменные. Эти ресурсы шифруются и хранятся в службе автоматизации Azure с помощью уникального ключа, который создается для каждой учетной записи службы автоматизации. Служба автоматизации Azure хранит ключ в управляемом системой хранилище ключей Key Vault. Перед сохранением защищенного ресурса служба автоматизации Azure загружает ключ из Key Vault, а затем использует его для шифрования ресурса.
Типы подключений
При использовании службы автоматизации Azure доступны следующие встроенные типы подключений:
Azure
— подключение для управления классическими ресурсами.AzureServicePrincipal
— Представляет подключение, используемое для управления ресурсами в Azure с помощью субъекта-службы.AzureClassicCertificate
— Этот тип подключения используется для управления ресурсами в Azure, созданными с помощью классической модели развертывания, которая не поддерживает проверку подлинности субъекта-службы.
Командлеты PowerShell для доступа к подключениям
Командлеты, представленные в следующей таблице, используются для создания подключений службы автоматизации и управления ими с помощью PowerShell. Они поставляются в составе модулей Az.
Командлет | Description |
---|---|
Get-AzAutomationConnection | Извлекает сведения о подключении. |
New-AzAutomationConnection | Создает новое подключение. |
Remove-AzAutomationConnection | Удаляет существующее подключение. |
Set-AzAutomationConnectionFieldValue | Задает значение определенного поля для существующего подключения. |
Внутренние командлеты для доступа к подключениям
Внутренние командлеты в следующей таблице используются для доступа к подключениям в модулях runbook и конфигурациях DSC. Этот командлет предоставляется с глобальным модулем Orchestrator.AssetManagement.Cmdlets
. Дополнительные сведения см. в статье Внутренние командлеты.
Внутренний командлет | Description |
---|---|
Get-AutomationConnection |
Извлекает значения различных полей в подключении и возвращает их в виде хэш-таблицы. Затем эту хэш-таблицу можно использовать с соответствующими командами в модуле runbook или конфигурации DSC. |
Примечание.
Не следует использовать переменные с параметром Name
командлета Get-AutomationConnection
. Использование переменных в таком случае может усложнить обнаружение зависимостей между модулями runbook или конфигурациями DSC и ресурсами подключения во время разработки.
Функции Python для доступа к подключениям
Функция, приведенная в следующей таблице, используется для доступа к подключениям в модуле runbook на Python 2 и 3. Модули runbook для Python 3 сейчас доступны в предварительной версии.
Function | Description |
---|---|
automationassets.get_automation_connection |
Извлекает подключение. Возвращает словарь со свойствами подключения. |
Примечание.
Импортируйте модуль automationassets
в верхнюю часть модуля runbook на Python, чтобы получить доступ к функциям ресурса.
Создание нового подключения
Создание подключения на портале Azure
Чтобы создать новое подключение на портале Azure, сделайте следующее:
- В учетной записи службы автоматизации в области Общие ресурсы выберите Подключения.
- На странице "Подключения" щелкните + Добавить подключение.
- В поле Тип на панели "Новое подключение" выберите тип создаваемого подключения. Возможные варианты:
Azure
,AzureServicePrincipal
илиAzureClassicCertificate
. - В форме представлены свойства выбранного типа подключения. Заполните форму и нажмите кнопку Создать для сохранения нового подключения.
Создание подключения с помощью Windows PowerShell
Создайте новое подключение с помощью командлета New-AzAutomationConnection
в Windows PowerShell. У этого командлета есть параметр ConnectionFieldValues
, который ожидает хэш-таблицу, задающую значения для каждого свойства, определенного типом подключения.
Для создания подключения, которое можно использовать для проверки подлинности с помощью субъекта-службы Azure, можно использовать следующие команды.
$ConnectionAssetName = "AzureConnection"
$ConnectionFieldValues = @{"ApplicationId" = $Application.ApplicationId; "TenantId" = $TenantID.TenantId; "CertificateThumbprint" = $Cert.Thumbprint; "SubscriptionId" = $SubscriptionId}
New-AzAutomationConnection -ResourceGroupName $ResourceGroup -AutomationAccountName $AutomationAccountName -Name $ConnectionAssetName -ConnectionTypeName AzureServicePrincipal -ConnectionFieldValues $ConnectionFieldValues
При попытке использовать другой метод проверки подлинности вы не сможете создать ресурс подключения для подключения к службе или приложению, так как другие типы подключения не определены в учетной записи службы автоматизации. Дополнительные сведения о создании собственного типа подключения для пользовательского модуля см. в разделе Добавление типа подключения.
Добавление типа подключения
Если модуль runbook или конфигурация DSC подключается к внешней службе, необходимо определить тип подключения в пользовательском модуле, который называется модулем интеграции. Этот модуль включает файл метаданных, который задает свойства типа подключения, называется <ModuleName>-Automation.json и расположен в папке модуля ZIP-файла. Этот файл содержит поля подключения, необходимые для подключения к системе или службе, которую представляет модуль. С помощью этого файла можно задать имена полей, типы данных, состояние шифрования и необязательное состояние для типа подключения. В этом файле не поддерживается несколько типов подключений.
Следующий пример — это шаблон в формате JSON, который определяет свойства имени пользователя и пароля для пользовательского типа подключения с именем MyModuleConnection
.
{
"ConnectionFields": [
{
"IsEncrypted": false,
"IsOptional": true,
"Name": "Username",
"TypeName": "System.String"
},
{
"IsEncrypted": true,
"IsOptional": false,
"Name": "Password",
"TypeName": "System.String"
}
],
"ConnectionTypeName": "MyModuleConnection",
"IntegrationModuleName": "MyModule"
}
Получение подключения в модуле runbook или конфигурации DSC
Получите подключение в модуле runbook или конфигурации DSC, используя внутренний командлет Get-AutomationConnection
. Этот командлет является предпочтительным по отношению к командлету Get-AzAutomationConnection
, так как он получает значения подключения вместо сведений о подключении.
В следующем примере показано, как использовать подключение для проверки подлинности с помощью ресурсов Azure Resource Manager в runbook. Он использует ресурс подключения, который ссылается на субъект-службу на основе сертификатов.
$Conn = Get-AutomationConnection -Name AzureConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
Примеры графических модулей runbook
Вы можете добавить действие для внутреннего командлета Get-AutomationConnection
в графический модуль runbook. Щелкните правой кнопкой мыши подключение в области "Библиотека" графического редактора и выберите Добавить на холст.
На следующем рисунке показан пример использования объекта подключения в графическом модуле runbook.
Следующие шаги
- Дополнительные сведения о командлетах, используемых для доступа к подключениям, см. в статье Администрирование модулей в службе автоматизации Azure.
- Общие сведения о модулях runbook см. в статье Выполнение модуля Runbook в службе автоматизации Azure.
- Дополнительные сведения о конфигурациях DSC см. в разделе Общие сведения о настройке состояния.