Administración de conexiones en Azure Automation
Un recurso de conexión de Azure Automation contiene la información que se muestra a continuación. Esta información es necesaria para conectarse a aplicaciones o servicios externos desde un runbook o la configuración de DSC.
- Información necesaria para la autenticación, como el nombre de usuario y la contraseña
- Información de conexión, como la dirección URL o el puerto
El recurso de conexión mantiene juntas todas las propiedades para conectarse a una aplicación determinada, por lo que no es necesario crear varias variables. Puede editar los valores de una conexión en un lugar y pasar el nombre de una conexión a un runbook o una configuración de DSC en un solo parámetro. El runbook o la configuración acceden a las propiedades de una conexión mediante el cmdlet Get-AutomationConnection
interno.
Cuando crea una conexión, debe especificar un tipo de conexión. El tipo de conexión es una plantilla que define un conjunto de propiedades. Puede agregar un tipo de conexión a Azure Automation mediante un módulo de integración con un archivo de metadatos. Se puede crear un tipo de conexión mediante la API de Azure Automation si el módulo de integración incluye un tipo de conexión y se importa en su cuenta de Automation.
Nota:
Los recursos protegidos en Azure Automation incluyen credenciales, certificados, conexiones y variables cifradas. Estos recursos se cifran y se almacenan en Azure Automation con una clave única que se genera para cada cuenta de Automation. Azure Automation almacena la clave en la instancia de Key Vault administrada por el sistema. Antes de almacenar un recurso seguro, Azure Automation carga la clave desde Key Vault y después la usa para cifrar el recurso.
Tipos de conexión
Azure Automation pone a disposición de los usuarios los siguientes tipos de conexión integrados:
Azure
: representa una conexión que se usa para administrar recursos clásicos.AzureServicePrincipal
: representa una conexión que se usa para administrar recursos en Azure mediante una entidad de servicio.AzureClassicCertificate
: este tipo de conexión se usa para administrar los recursos de Azure que se crearon mediante el modelo de implementación clásica que no admite la autenticación de la entidad de servicio.
Cmdlets de PowerShell para acceder a las conexiones
Los cmdlets de la tabla siguiente permiten crear y administrar conexiones de Automation con PowerShell. Se suministran como un componente de los módulos Az.
Cmdlet | Descripción |
---|---|
Get-AzAutomationConnection | Recupera información acerca de una conexión. |
New-AzAutomationConnection | Crea una conexión nueva. |
Remove-AzAutomationConnection | Quita una conexión existente. |
Set-AzAutomationConnectionFieldValue | Establece el valor de un campo determinado para una conexión existente. |
Cmdlets internos para acceder a las conexiones
El cmdlet interno de la tabla siguiente se usa para acceder a las conexiones de los runbooks y las configuraciones de DSC. Este cmdlet se incluye en el módulo global Orchestrator.AssetManagement.Cmdlets
. Para más información, consulte Cmdlets internos.
Cmdlet interno | Descripción |
---|---|
Get-AutomationConnection |
Recupera los valores de los distintos campos de la conexión y los devuelve como una tabla hash. Esta tabla hash se puede usar después con los comandos adecuados en el runbook o la configuración de DSC. |
Nota:
Evite el uso de variables con el parámetro Name
de Get-AutomationConnection
. El uso de variables en este caso puede complicar la detección de dependencias entre runbooks o configuraciones de DSC y los recursos de conexión durante el tiempo de diseño.
Funciones de Python para acceder a las conexiones
La función de la tabla siguiente se usa para acceder a las conexiones de un runbook de Python 2 y 3. Actualmente, los runbooks de Python 3 están en versión preliminar.
Función | Descripción |
---|---|
automationassets.get_automation_connection |
Recupera una conexión. Devuelve un diccionario con las propiedades de la conexión. |
Nota:
Para acceder a las funciones del activo, debe importar el módulo automationassets
en la parte superior del runbook de Python.
Crear una nueva conexión
Creación de una conexión con Azure Portal
Para crear una conexión nueva en Azure Portal:
- En la cuenta de Automation, haga clic en Conexiones en Recursos compartidos.
- En la página Conexiones, haga clic en + Agregar una conexión.
- En el campo Tipo del panel Nueva conexión, seleccione el tipo de conexión que desea crear. Las opciones son
Azure
,AzureServicePrincipal
yAzureClassicCertificate
. - El formulario presenta las propiedades del tipo de conexión que ha elegido. Complete el formulario y haga clic en Crear para guardar la conexión nueva.
Creación de una conexión con Windows PowerShell
Cree una conexión con Windows PowerShell mediante el cmdlet New-AzAutomationConnection
. Este cmdlet tiene un parámetro ConnectionFieldValues
que espera una tabla hash que defina los valores de cada una de las propiedades definidas por el tipo de conexión.
Puede usar los siguientes comandos de ejemplo para crear una conexión que se pueda usar para la autenticación mediante la entidad de servicio de 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
Si intenta crear un recurso de conexión para conectarse a un servicio o a una aplicación con un método de autenticación diferente, la operación generará un error porque el tipo de conexión no se ha definido todavía en la cuenta de Automation. Para más información sobre cómo crear su propio tipo de conexión para un módulo personalizado, consulte Agregar un tipo de conexión.
Agregar un tipo de conexión
Si el runbook o la configuración de DSC se conectan a un servicio externo, debe definir un tipo de conexión en un módulo personalizado denominado "módulo de integración". Este módulo incluye un archivo de metadatos que especifica las propiedades del tipo de conexión, se denomina <ModuleName>-Automation.json y se encuentra en la carpeta del módulo del archivo .zip comprimido. Este archivo contiene los campos de una conexión que se necesitan para conectarse al sistema o servicio que representa el módulo. Con este archivo, puede establecer los nombres de campo, los tipos de datos, el estado de cifrado y el estado opcional del tipo de conexión. No se admiten varios tipos de conexión en este archivo.
El ejemplo siguiente es una plantilla en el formato de archivo .json que define propiedades de nombre de usuario y contraseña de un tipo de conexión predeterminado denominado MyModuleConnection
:
{
"ConnectionFields": [
{
"IsEncrypted": false,
"IsOptional": true,
"Name": "Username",
"TypeName": "System.String"
},
{
"IsEncrypted": true,
"IsOptional": false,
"Name": "Password",
"TypeName": "System.String"
}
],
"ConnectionTypeName": "MyModuleConnection",
"IntegrationModuleName": "MyModule"
}
Obtención de una conexión en un runbook o una configuración de DSC
Recupere una conexión de un runbook o una configuración de DSC con el cmdlet Get-AutomationConnection
interno. Este cmdlet es preferible al cmdlet Get-AzAutomationConnection
, ya que recupera los valores de conexión en lugar de la información sobre la conexión.
El ejemplo siguiente muestra cómo utilizar una conexión para autenticar con recursos de Azure Resource Manager en su runbook. Utiliza el recurso de conexión, que hace referencia a la entidad de servicio basada en certificado.
$Conn = Get-AutomationConnection -Name AzureConnection
Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
Ejemplos de runbook gráfico
Puede agregar una actividad para el cmdlet Get-AutomationConnection
interno a un runbook gráfico. Haga clic con el botón derecho en la conexión en el panel Biblioteca del editor gráfico y seleccione Agregar al lienzo.
La imagen siguiente muestra un ejemplo de cómo usar un objeto de conexión en un runbook gráfico.
Pasos siguientes
- Para obtener más información sobre los cmdlets que se usan para acceder a las conexiones, consulte Administración de módulos en Azure Automation.
- Para obtener información general sobre los runbooks, consulte Ejecución de un runbook en Azure Automation.
- Para más información sobre las configuraciones de DSC, consulte Introducción a State Configuration.