Compartir a través de


Ejecución de runbooks de Automation en una instancia de Hybrid Runbook Worker

Important

Los runbooks que se ejecutan en una instancia de Hybrid Runbook Worker normalmente administran recursos en el equipo local o en recursos del entorno local en el que se implementa el rol de trabajo. Los runbooks en Azure Automation normalmente administran recursos en la nube de Azure. Aunque se usan de manera diferente, los runbooks que se ejecutan en Azure Automation y los runbooks que se ejecutan en una instancia de Hybrid Runbook Worker son idénticos en estructura.

Cuando cree un runbook para que se ejecute en una instancia de Hybrid Runbook Worker, debe editarlo y probarlo en la máquina que hospeda el rol de trabajo. La máquina host tiene todos los módulos de PowerShell y el acceso de red necesarios para administrar los recursos locales. Una vez que un runbook se ha probado en la máquina de Hybrid Runbook Worker, puede cargarlo en el entorno de Azure Automation, donde se puede ejecutar en el rol de trabajo.

Planeación de servicios de Azure protegidos por firewall

La habilitación de Azure Firewall en Azure Storage, Azure Key Vault o Azure SQL bloquea el acceso desde runbooks de Azure Automation para esos servicios. El acceso se bloqueará incluso cuando la excepción de firewall para permitir servicios de Microsoft de confianza esté habilitada, ya que Automation no forma parte de la lista de servicios de confianza. Con un firewall habilitado, el acceso solo se puede realizar mediante una instancia de Hybrid Runbook Worker y un punto de conexión de servicio de red virtual.

Planeación del comportamiento del trabajo de runbook

Azure Automation controla los trabajos en las instancias de Hybrid Runbook Worker de forma diferente a los trabajos que se ejecutan en espacios aislados de Azure. Si tiene un runbook de larga ejecución, asegúrese de que sea resistente a posibles reinicios. Para obtener detalles del comportamiento del trabajo, consulte Trabajos de Hybrid Runbook Worker.

Cuentas de servicio

Windows Hybrid Worker

Los trabajos de instancias de Hybrid Runbook Worker se ejecutan en la cuenta de sistema local.

Note

  • Los runbooks de PowerShell 7.4 y Python 3.10 solo se admiten en Windows Hybrid Worker basado en extensiones. Asegúrese de que la versión de la extensión hybrid Worker de Windows es 1.3.63 o superior.
  • Los runbooks de PowerShell 5.1, PowerShell 7.1 (versión preliminar), Python 2.7 y Python 3.8 se admiten tanto en los trabajadores híbridos de runbooks de Windows basados en extensiones como en los basados en agentes. En el caso de los trabajos basados en agentes, asegúrese de que la versión de Windows Hybrid Worker es 7.3.12960 o posterior.
  • El runbook de PowerShell 7.2 solo se admite en trabajadores híbridos de Windows basados en extensiones. Asegúrese de que la versión de la extensión de Windows Hybrid Worker sea 1.1.11 o posterior.

Hybrid Worker basado en extensiones

Note

Para crear una variable de entorno en sistemas Windows, siga estos pasos:

  1. Vaya a Configuración> delpanel> de control.
  2. En Propiedades del sistema , seleccione Variables de entorno.
  3. En Variables del sistema, seleccione Nuevo.
  4. Proporcione el nombre de variable y el valor de variable y, a continuación, seleccione Aceptar.
  5. Reinicie la máquina virtual o cierre la sesión desde el usuario actual e inicie sesión para implementar los cambios de la variable de entorno.

PowerShell 7.4

Para ejecutar runbooks de PowerShell 7.4 en una instancia de Windows Hybrid Worker, instale PowerShell en Hybrid Worker. Consulte Instalación de PowerShell en Windows.

Una vez completada la instalación de PowerShell 7.4, cree una variable de entorno cuyo nombre sea powershell_7_4_path y cuyo valor sea la ruta de acceso del archivo ejecutable PowerShell. Reinicie la instancia de Hybrid Runbook Worker una vez creada correctamente la variable de entorno.

PowerShell 7.2

Para ejecutar runbooks de PowerShell 7.2 en una instancia de Windows Hybrid Worker, instale PowerShell en Hybrid Worker. Consulte Instalación de PowerShell en Windows.

Una vez completada la instalación de PowerShell 7.2, cree una variable de entorno con el nombre de variable "powershell_7_2_path" y con el valor como la ruta de acceso del ejecutable PowerShell. Reinicie la instancia de Hybrid Runbook Worker una vez creada correctamente la variable de entorno.

PowerShell 7.1

Para ejecutar runbooks de PowerShell 7.1 en una instancia de Windows Hybrid Worker, instale PowerShell en Hybrid Worker. Consulte Instalación de PowerShell en Windows. Asegúrese de agregar el archivo de PowerShell a la variable de entorno PATH y reinicie Hybrid Runbook Worker después de la instalación.

Python 3.10

Para ejecutar runbooks de Python 3.10 en una instancia de Windows Hybrid Worker, instale Python en Hybrid Worker. Consulte Instalación de Python en Windows.

Una vez completada la instalación de Python 3.10, cree una variable de entorno con el nombre python_3_10_path y como valor la ruta del ejecutable de Python. Reinicie la instancia de Hybrid Runbook Worker una vez creada correctamente la variable de entorno.

Python 3.8

Para ejecutar runbooks de Python 3.8 en una instancia de Windows Hybrid Worker, instale Python en Hybrid Worker. Consulte Instalación de Python en Windows. Cree una variable de entornoPYTHON_3_PATH para runbooks de Python 3.8 y asegúrese de agregar la ubicación de Python ejecutable como valor variable. Reinicie la instancia de Hybrid Runbook Worker una vez creada correctamente la variable de entorno.

Si el archivo ejecutable de Python está en la ubicación predeterminada C:\WPy64-3800\python-3.8.0.amd64\python.exe, no es necesario crear la variable de entorno.

Python 2.7

Para ejecutar runbooks de Python 2.7 en una instancia de Windows Hybrid Worker, instale Python en Hybrid Worker. Consulte Instalación de Python en Windows. Cree una variable de entornoPYTHON_2_PATH para runbooks de Python 2.7 y asegúrese de agregar la ubicación del archivo de Python ejecutable como valor variable. Reinicie la instancia de Hybrid Runbook Worker una vez creada correctamente la variable de entorno.

Si el archivo ejecutable de Python está en la ubicación predeterminada C:\Python27\python.exe, no es necesario crear la variable de entorno.

Linux Hybrid Worker

Note

  • Los runbooks de PowerShell 7.4 y Python 3.10 solo se admiten en Hybrid Worker de Linux basado en extensiones. Asegúrese de que la versión de la extensión de Hybrid Worker de Linux es 1.1.23 o superior.
  • Los runbooks de PowerShell 7.1 (versión preliminar), Python 2.7 y Python 3.8 se admiten en trabajos de runbooks híbridos de Linux basados en extensiones y en agentes. Para los trabajos basados en agente, asegúrese de que la versión de Linux Hybrid Runbook Worker es 1.7.5.0 o posterior.
  • El runbook de PowerShell 7.2 solo se admite en trabajadores híbridos de Linux basados en extensiones. Asegúrese de que la versión de la extensión de Linux Hybrid Worker sea 1.1.11 o posterior.

Hybrid Worker basado en extensiones

Note

Para crear una variable de entorno en sistemas Linux, siga estos pasos:

  1. Abra /etc/environment.
  2. Cree una nueva variable de entorno agregando VARIABLE_NAME="variable_value" en una nueva línea en /etc/environment (VARIABLE_NAME es el nombre de la nueva variable de entorno y variable_value representa el valor al que se va a asignar).
  3. Reinicie la máquina virtual o cierre la sesión del usuario actual e inicie sesión después de guardar los cambios en /etc/environment para implementar los cambios en las variables de entorno.

PowerShell 7.4

Para ejecutar runbooks de PowerShell 7.4 en una instancia de Linux Hybrid Worker, instale el archivo de PowerShell en Hybrid Worker. Consulte Instalación de PowerShell en Linux.

Una vez completada la instalación de PowerShell 7.4, cree una variable de entorno con Variable name como powershell_7_4_path y Variable value como la ruta del archivo ejecutable de PowerShell, por ejemplo: powershell_7_4_path="/usr/bin/pwsh"

Reinicie Hybrid Runbook Worker una vez creada correctamente una variable de entorno.

PowerShell 7.2

Para ejecutar runbooks de PowerShell 7.2 en una instancia de Linux Hybrid Worker, instale el archivo de PowerShell en Hybrid Worker. Para obtener más información, consulte Instalación de PowerShell en Linux.

Una vez completada la instalación de PowerShell 7.2, cree una variable de entorno con el nombre de la variable como powershell_7_2_path y el valor de la variable como la ruta de acceso al archivo ejecutable de PowerShell. Reinicie Hybrid Runbook Worker una vez creada correctamente una variable de entorno.

Python 3.10

Para ejecutar runbooks de Python 3.10 en una instancia de Linux Hybrid Worker, instale Python en Hybrid Worker. Para más información, consulte Instalación de Python 3.10 en Linux.

Una vez completada la instalación de Python 3.10, cree una variable de entorno con nombre de variable como python_3_10_path y valor variable como ruta de acceso del archivo de Python ejecutable, por ejemplo: python_3_10_path="/usr/bin/python3.10"

Reinicie la instancia de Hybrid Runbook Worker una vez creada correctamente la variable de entorno.

Python 3.8

Para ejecutar runbooks de Python 3.8 en una instancia de Linux Hybrid Worker, instale Python en Hybrid Worker. Asegúrese de agregar el archivo de Python ejecutable a la variable de entorno PATH y reinicie Hybrid Runbook Worker después de la instalación.

Python 2.7

Para ejecutar runbooks de Python 2.7 en una instancia de Linux Hybrid Worker, instale Python en Hybrid Worker. Asegúrese de agregar el archivo de Python ejecutable a la variable de entorno PATH y reinicie Hybrid Runbook Worker después de la instalación.

Configuración de permisos de runbooks

Defina los permisos para que el runbook se ejecute en la instancia de Hybrid Runbook de las siguientes formas:

  • Haga que el runbook proporcione su propia autenticación a los recursos locales.
  • Configure la autenticación mediante identidades administradas para recursos de Azure.
  • Especifique las credenciales de Hybrid Worker para proporcionar un contexto de usuario para todos los runbooks.

Uso de la autenticación de runbooks en los recursos locales

Si prepara un runbook que proporciona su propia autenticación a los recursos, use los recursos Credencial y Certificado en el runbook. Hay varios cmdlets que le permiten especificar las credenciales, para que el runbook pueda autenticarse en los distintos recursos. El ejemplo siguiente muestra una porción de un runbook que reinicia un equipo. Recupera las credenciales desde un recurso de credencial y el nombre del equipo desde un recurso de variable y, a continuación, usa estos valores con el cmdlet Restart-Computer.

$Cred = Get-AutomationPSCredential -Name "MyCredential"
$Computer = Get-AutomationVariable -Name "ComputerName"

Restart-Computer -ComputerName $Computer -Credential $Cred

También puede usar una actividad InlineScript . InlineScript permite ejecutar bloques de código en otro equipo con credenciales.

Uso de la autenticación de runbook con identidades administradas

Las instancias de Hybrid Runbook Worker en máquinas virtuales de Azure pueden usar identidades administradas para autenticarse en los recursos de Azure. El uso de identidades administradas para los recursos de Azure en lugar de cuentas de ejecución ofrece ventajas porque no es necesario:

  • Exportar el certificado de ejecución y después importarlo en Hybrid Runbook Worker.
  • Renovar el certificado utilizado por la cuenta de ejecución.
  • Administrar el objeto de conexión de ejecución en el código del runbook.

Hay dos maneras de usar las identidades administradas en scripts de Hybrid Runbook Worker.

  1. Use una identidad administrada asignada por el sistema para una cuenta de Azure Automation:

    1. Configure una identidad administrada asignada por el sistema para la cuenta de Automation.

    2. Conceda a esta identidad los permisos necesarios dentro de la suscripción para realizar su tarea.

    3. Actualice el runbook para usar la cmdlet Connect-AzAccount con el parámetro Identity para autenticarse con los recursos de Azure. Esta configuración reduce la necesidad de usar una cuenta de ejecución y realizar la administración de las cuentas asociadas.

      # 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 all VM names from the subscription
      Get-AzVM -DefaultProfile $AzureContext | Select Name
      

    Note

    No es posible usar la identidad administrada de usuario de la cuenta de Automation en una instancia de Hybrid Runbook Worker; debe ser la identidad administrada del sistema de la cuenta de Automation.

  2. Para una VM de Azure que se ejecuta como Hybrid Runbook Worker, use la identidad administrada de la VM. En este caso, puede usar la identidad administrada asignada por el usuario de la máquina virtual o la identidad administrada asignada por el sistema de la máquina virtual.

    Note

    Recuerde que esto NO funcionará en una cuenta de Automation que se haya configurado con una identidad administrada de cuenta de Automation. Tan pronto como la identidad administrada de la cuenta de Automation esté habilitada, ya no será posible usar la identidad administrada de la VM, por lo que solo es posible usar la cuenta de Identidad administrada asignada por el sistema de Automation, tal como se mencionó en la opción 1 anterior.

    Use cualquiera de las siguientes identidades administradas:

    1. Configure una identidad administrada por el sistema para la máquina virtual.
    2. Conceda a esta identidad los permisos necesarios dentro de la suscripción para realizar sus tareas.
    3. Actualice el runbook para usar el cmdlet Connect-Az-Account con el parámetro Identity para autenticarse en los recursos de Azure. Esta configuración reduce la necesidad de usar una cuenta de ejecución y realizar la administración de las cuentas asociadas.
        # 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 all VM names from the subscription
        Get-AzVM -DefaultProfile $AzureContext | Select Name
    

Un servidor habilitado para Arc o una máquina virtual de VMware vSphere habilitada para Arc que se ejecuta como Hybrid Runbook Worker ya tiene asignada una identidad administrada del sistema integrada que se puede usar para la autenticación.

  1. Puede conceder a esta identidad administrada acceso a los recursos de la suscripción en la hoja de Control de acceso (IAM) del recurso, si agrega la asignación de roles adecuada.

    Captura de pantalla de cómo seleccionar identidades administradas.

  2. Agregue la identidad administrada de Azure Arc al rol elegido según sea necesario.

    Captura de pantalla de cómo agregar la asignación de roles en la hoja Control de acceso.

Note

Recuerde que esto NO funcionará en una cuenta de Automation que se haya configurado con una identidad administrada de cuenta de Automation. Tan pronto como se habilite la Identidad Administrada de la cuenta de Automatización, ya no es posible usar la Identidad Administrada de Arc y, a partir de entonces, solo es posible usar la Identidad Administrada Asignada por el Sistema de la Cuenta de Automatización, como se mencionó en la opción 1 anterior.

Note

De forma predeterminada, los contextos de Azure se guardan para usarlos entre sesiones de PowerShell. Es posible que cuando se haya autenticado un runbook anterior en Hybrid Runbook Worker con Azure, ese contexto persista en el disco del perfil de PowerShell del sistema, según se indica en Contextos de Azure y credenciales de inicio de sesión | Microsoft Docs. Por ejemplo, un runbook con Get-AzVM puede devolver todas las máquinas virtuales de la suscripción sin llamar a Connect-AzAccount y el usuario podría acceder a los recursos de Azure sin tener que autenticarse en ese runbook. Puede deshabilitar el autoguardado de contexto en Azure PowerShell, como se detalla aquí.

Uso de la autenticación de runbook con credenciales de Hybrid Worker

Prerequisite

  • Hybrid Worker debe implementarse y la máquina debe estar en estado de ejecución antes de ejecutar un runbook.

Credenciales de Hybrid Worker En lugar de hacer que el runbook proporcione su propia autenticación a los recursos locales, puede especificar credenciales de Hybrid Worker para un grupo de Hybrid Runbook Worker. Para especificar las credenciales de Hybrid Worker, debe definir un recurso de credenciales que tenga acceso a los recursos locales. Estos recursos incluyen almacenes de certificados y todos los runbooks se ejecutan con estas credenciales en una instancia de Hybrid Runbook Worker del grupo.

  • El nombre de usuario de la credencial debe tener uno de los siguientes formatos:

    • domain\username
    • username@domain
    • nombre de usuario (para cuentas locales en el equipo local)
  • Para usar el runbook de PowerShell Export-RunAsCertificateToHybridWorker, debe instalar AZ modules for Azure Automation en el equipo local.

Uso de un recurso de credencial para un grupo de Hybrid Runbook Worker

De manera predeterminada, los trabajos híbridos se ejecutan en el contexto de la cuenta del sistema. Sin embargo, para ejecutar trabajos híbridos en otro recurso de credencial, siga estos pasos:

  1. Cree un recurso de credenciales con acceso a los recursos locales.
  2. Abra la cuenta de Automation en Azure Portal.
  3. Seleccione Grupos de Hybrid Worker y elija el grupo concreto.
  4. Haga clic en Configuración.
  5. Cambie el valor de Credenciales de Hybrid Worker de Predeterminado a Personalizado.
  6. Seleccione la credencial y seleccione Guardar.
  7. Si no se asignan los siguientes permisos para los usuarios personalizados, es posible que se suspendan los trabajos.
Tipo de recurso Permisos de carpeta
Máquina virtual de Azure C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lectura y ejecución)
Servidor habilitado para Arc C:\ProgramData\AzureConnectedMachineAgent\Tokens (lectura)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lectura y ejecución)

Note

Hybrid Worker de Linux no admite credenciales de Hybrid Worker.

Inicio de un runbook en una instancia de Hybrid Runbook Worker

Inicio de un runbook en Azure Automation describe los distintos métodos para iniciar un runbook. El inicio de un runbook en una instancia de Hybrid Runbook Worker usa la opción Ejecutar en, que le permite especificar el nombre de un grupo de Hybrid Runbook Worker. Si se especifica un grupo, uno de los roles de trabajo del grupo recupera y ejecuta el runbook. Si el runbook no especifica esta opción, Azure Automation ejecuta el runbook como de costumbre.

Al iniciar un runbook en el Azure portal, se le presenta la opción Ejecutar en en la que puede seleccionar Azure o Hybrid Worker. Seleccione Hybrid Worker para elegir el grupo Hybrid Runbook Worker en una lista desplegable.

Captura de pantalla que muestra cómo seleccionar el grupo Hybrid Runbook Worker.

Al iniciar un runbook con PowerShell, use el parámetro RunOn con el cmdlet Start-AzAutomationRunbook. En el ejemplo siguiente se usa Windows PowerShell para iniciar un runbook denominado Test-Runbook en un grupo de Hybrid Runbook Worker denominado MyHybridGroup.

Start-AzAutomationRunbook -AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook" -RunOn "MyHybridGroup"

Trabajo con runbooks firmados en Hybrid Runbook Worker en Windows

Puede configurar una instancia de Hybrid Runbook Worker en Windows para que solo ejecute runbooks firmados.

Important

Cuando haya configurado una instancia de Hybrid Runbook Worker para que solo ejecute runbooks firmados, los runbooks que no estén firmados no se ejecutarán en el rol de trabajo.

Note

PowerShell 7.x no admite runbooks firmados para las instancias de Hybrid Runbook Worker de Windows y Linux.

Creación de certificado de firma

En el ejemplo siguiente se crea un certificado autofirmado que se puede usar para firmar runbooks. Este código crea el certificado y lo exporta para que Hybrid Runbook Worker pueda importarlo más adelante. También se devuelve la huella digital para su uso posterior al hacer referencia al certificado.

# Create a self-signed certificate that can be used for code signing
$SigningCert = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\my `
    -Subject "CN=contoso.com" `
    -KeyAlgorithm RSA `
    -KeyLength 2048 `
    -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" `
    -KeyExportPolicy Exportable `
    -KeyUsage DigitalSignature `
    -Type CodeSigningCert

# Export the certificate so that it can be imported to the hybrid workers
Export-Certificate -Cert $SigningCert -FilePath .\hybridworkersigningcertificate.cer

# Import the certificate into the trusted root store so the certificate chain can be validated
Import-Certificate -FilePath .\hybridworkersigningcertificate.cer -CertStoreLocation Cert:\LocalMachine\Root

# Retrieve the thumbprint for later use
$SigningCert.Thumbprint

Importación del certificado y configuración de los roles de trabajo para la validación de firmas

Copie el certificado que ha creado en cada instancia de Hybrid Runbook Worker de un grupo. Ejecute el script siguiente para importar el certificado y configurar los roles de trabajo para que usen la validación de firma en los runbooks.

# Install the certificate into a location that will be used for validation.
New-Item -Path Cert:\LocalMachine\AutomationHybridStore
Import-Certificate -FilePath .\hybridworkersigningcertificate.cer -CertStoreLocation Cert:\LocalMachine\AutomationHybridStore

# Import the certificate into the trusted root store so the certificate chain can be validated
Import-Certificate -FilePath .\hybridworkersigningcertificate.cer -CertStoreLocation Cert:\LocalMachine\Root

# Configure the hybrid worker to use signature validation on runbooks.
Set-HybridRunbookWorkerSignatureValidation -Enable $true -TrustedCertStoreLocation "Cert:\LocalMachine\AutomationHybridStore"

Firma de los runbooks con el certificado

Con las instancias de Hybrid Runbook Worker configuradas para usar solo runbooks firmados, debe firmar los runbooks que se van a utilizar en Hybrid Runbook Worker. Use el código de PowerShell de ejemplo siguiente para firmar estos runbooks.

$SigningCert = ( Get-ChildItem -Path cert:\LocalMachine\My\<CertificateThumbprint>)
Set-AuthenticodeSignature .\TestRunbook.ps1 -Certificate $SigningCert

Una vez firmado el runbook, debe importarlo en la cuenta de Automation y publicarlo con el bloque de firma. Para aprender a importar runbooks, consulte Importación de un runbook.

Note

Use solo caracteres de texto no cifrado en el código del runbook, incluidos los comentarios. El uso de caracteres con marcas diacríticas, como á o ñ, producirá un error. Cuando Azure Automation descargue el código, los caracteres se reemplazarán por un signo de interrogación y se producirá un error en la firma con un mensaje de "error de validación de hash de firma".

Trabajo con runbooks firmados en Hybrid Runbook Worker en Linux

Para poder trabajar con runbooks firmados, una instancia de Hybrid Runbook Worker de Linux debe tener el ejecutable GPG en la máquina local.

Important

Cuando haya configurado una instancia de Hybrid Runbook Worker para que solo ejecute runbooks firmados, los runbooks que no estén firmados no se ejecutarán en el rol de trabajo.

Realizará los pasos siguientes para completar esta configuración:

  • Creación un conjunto de claves y un par de claves de GPG
  • Puesta a disposición del conjunto de claves para Hybrid Runbook Worker
  • Verificación de que la validación de firmas está activada
  • Ejecución de un runbook

Note

  • PowerShell 7.x no admite runbooks firmados para Windows basado en un agente y Hybrid Runbook Worker de Linux basado en un agente.
  • Los runbooks firmados de PowerShell y Python no se admiten en Hybrid Worker de Linux basado en extensiones.

Creación un conjunto de claves y un par de claves de GPG

Note

La opción Crear un conjunto de claves y un par de claves de GPG solo es aplicable a los trabajos híbridos basados en agente.

Para crear un llavero GPG y un par de claves, use Hybrid Runbook Worker:

  1. Utiliza la aplicación sudo para iniciar sesión en la cuenta nxautomation.

    sudo su - nxautomation
    
  2. Una vez que use nxautomation, genere el par de claves GPG como usuario root. GPG le guía por los pasos. Debe proporcionar el nombre, la dirección de correo electrónico, la hora de expiración y la frase de contraseña. A continuación, espere hasta que haya suficiente entropía en el equipo para que se genere la clave.

    sudo gpg --generate-key
    
  3. Dado que el directorio GPG se generó con sudo, debe cambiar su propietario a nxautomation mediante el siguiente comando como raíz.

    sudo chown -R nxautomation ~/.gnupg
    

Puesta a disposición del conjunto de claves para Hybrid Runbook Worker

Una vez creado el conjunto de claves, debe ponerlo a disposición de Hybrid Runbook Worker. Modifique el archivo de configuración home/nxautomation/state/worker.conf para incluir el siguiente código de ejemplo en la sección de archivo [worker-optional].

gpg_public_keyring_path = /home/nxautomation/run/.gnupg/pubring.kbx

Verificación de que la validación de firmas está activada

Si se ha deshabilitado la validación de firmas en el equipo, debe activarla; para ello, ejecute el siguiente comando como raíz. Reemplace <LogAnalyticsworkspaceId> por el identificador del área de trabajo.

sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/require_runbook_signature.py --true <LogAnalyticsworkspaceId>

Ejecución de un runbook

Cuando haya configurado la validación de firmas, use el siguiente comando de GPG para firmar el runbook.

gpg --clear-sign <runbook name>

El runbook firmado se llama <nombre del runbook>.asc.

El runbook firmado ahora se puede cargar en Azure Automation y se puede ejecutar como un runbook normal.

Logging

Para ayudar a solucionar problemas con los runbooks que se ejecutan en una instancia de Hybrid Runbook Worker basada en extensiones, los registros se almacenan localmente en la siguiente ubicación:

  • En Windows en C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows<version> para obtener información detallada sobre el registro de procesos de tiempo de ejecución de trabajos y extensiones. Los eventos de estado del trabajo de runbook de alto nivel se escriben en los registros de aplicaciones y servicios del registro de eventos Applications and Services Logs/Microsoft-SMA/Operational.

  • En Linux, los registros de Hybrid Worker basados en extensiones se pueden encontrar en /home/hweautomation/run/worker.logy /var/log/azure/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux.

Pasos siguientes