Управление подключениями в службе автоматизации 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, сделайте следующее:

  1. В учетной записи службы автоматизации в области Общие ресурсы выберите Подключения.
  2. На странице "Подключения" щелкните + Добавить подключение.
  3. В поле Тип на панели "Новое подключение" выберите тип создаваемого подключения. Возможные варианты: Azure, AzureServicePrincipal или AzureClassicCertificate.
  4. В форме представлены свойства выбранного типа подключения. Заполните форму и нажмите кнопку Создать для сохранения нового подключения.

Создание подключения с помощью 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. Щелкните правой кнопкой мыши подключение в области "Библиотека" графического редактора и выберите Добавить на холст.

add to canvas

На следующем рисунке показан пример использования объекта подключения в графическом модуле runbook.

get connections

Следующие шаги