Migración desde una cuenta de ejecución existente a identidades administradas
Importante
Las cuentas de ejecución de Azure Automation, incluidas las cuentas de ejecución clásicas, se retiraron el 30 de septiembre de 2023 y se reemplazaron por identidades administradas. Ya no se podrán crear o renovar cuentas de ejecución a través de Azure Portal.
Para obtener más información sobre la cadencia de migración y la escala de tiempo de soporte técnico para la creación de cuentas de ejecución y la renovación de certificados, consulte las preguntas más frecuentes.
Las cuentas de ejecución de Azure Automation proporcionan autenticación para administrar recursos implementados mediante Azure Resource Manager o el modelo de implementación clásica. Cada vez que se crea una cuenta de ejecución, se registra una aplicación de Microsoft Entra y se genera un certificado autofirmado. El certificado es válido durante un mes. La renovación del certificado cada mes antes de que expire mantiene la cuenta de Automation funcionando, pero agrega sobrecarga.
Ahora puede configurar las cuentas de Automation para que usen una identidad administrada, que es la opción predeterminada al crear una cuenta de Automation. Con esta característica, una cuenta de Automation puede autenticarse en recursos de Azure sin necesidad de intercambiar credenciales. Una identidad administrada quita la sobrecarga de renovar el certificado o administrar la entidad de servicio.
Una identidad administrada puede ser asignada por el sistema o asignada por el usuario. Cuando se crea una nueva cuenta de Automation, se habilita una identidad administrada asignada por el sistema.
Requisitos previos
Antes de migrar desde una cuenta de ejecución o una cuenta de ejecución clásica a una identidad administrada:
Cree una identidad administrada asignada por el sistema o asignada por el usuario, o cree ambos tipos. Para más información sobre las diferencias entre ellas, consulte Tipos de identidad administrada.
Nota:
- Las identidades asignadas por el usuario solo se admiten para trabajos en la nube. No es posible usar la identidad administrada por el usuario de la cuenta de Automation en una instancia de Hybrid Runbook Worker. Para usar trabajos híbridos, debe crear identidades asignadas por el sistema.
- Hay dos maneras de usar identidades administradas en scripts de Hybrid Runbook Worker: la identidad administrada asignada por el sistema de la cuenta de Automation o la identidad administrada de la máquina virtual (VM) de una máquina virtual de Azure que se ejecuta como Hybrid Runbook Worker.
- La identidad administrada asignada por el usuario de la máquina virtual y la identidad administrada asignada por el sistema de la máquina virtual no funcionarán en una cuenta de Automation configurada con la identidad administrada de una cuenta de Automation. Al habilitar la identidad administrada de la cuenta de Automation, solo puede usar la identidad administrada asignada por el sistema de la cuenta de Automation y no la identidad administrada de la máquina virtual. Para más información, consulte Uso de la autenticación de runbook con identidades administradas.
Asigne el mismo rol a la identidad administrada para acceder a los recursos de Azure que coincidan con la cuenta de ejecución. Use este script para habilitar la identidad asignada por el sistema en una cuenta de Automation y asignar el mismo conjunto de permisos presentes en la cuenta de ejecución de Azure Automation a la identidad asignada por el sistema de la cuenta de Automation.
Por ejemplo, si la cuenta de Automation solo es necesaria para iniciar o detener una VM de Azure, los permisos asignados a la cuenta de ejecución solo deben ser para iniciar o detener la VM. De manera similar, debe asignar permisos de solo lectura si un runbook lee de Azure Blob Storage. Para obtener más información, consulte Directrices de seguridad de Azure Automation.
Si usa cuentas de ejecución clásicas, asegúrese de haber migrado recursos implementados mediante el modelo de implementación clásica a Azure Resource Manager.
Use este script para averiguar qué cuentas de Automation usan una cuenta de ejecución. Si las cuentas de Azure Automation contienen una cuenta de ejecución, tiene asignado el rol de colaborador integrado de forma predeterminada. Puede usar el script para comprobar las cuentas de ejecución de Azure Automation y determinar si su asignación de roles es la predeterminada o si se ha cambiado a otra definición de rol.
Use este script para averiguar si todos los runbooks de la cuenta de Automation usan la cuenta de ejecución.
Migración desde una cuenta de ejecución de Automation a una identidad administrada
Para migrar de una cuenta de ejecución clásica o una cuenta de ejecución de Automation a una identidad administrada para la autenticación del runbook, siga estos pasos:
Cambie el código del runbook para usar una identidad administrada.
Se recomienda probar la identidad administrada para comprobar si el runbook funciona según lo previsto mediante la creación de una copia del runbook de producción. Actualice el código del runbook de prueba para autenticarse mediante la identidad administrada. Este método garantiza que no invalide
AzureRunAsConnection
en el runbook de producción ni interrumpa la instancia de Automation existente. Después de asegurarse de que el código del runbook se ejecuta según lo previsto a través de la identidad administrada, actualice el runbook de producción para usar la identidad administrada.Para compatibilidad con las identidades administradas, use el cmdlet
Connect-AzAccount
. Para más información sobre este cmdlet, consulte Connect-AzAccount en la referencia de PowerShell.- Si usa módulos
Az
, actualice a la versión más reciente siguiendo los pasos descritos en el artículo Actualización de los módulos de Azure PowerShell. - Si usa módulos de AzureRM, actualice
AzureRM.Profile
a la versión más reciente y reemplácelo mediante el cmdletAdd-AzureRMAccount
porConnect-AzureRMAccount –Identity
.
Para comprender los cambios en el código de runbook que son necesarios para poder usar identidades administradas, use los scripts de muestra.
- Si usa módulos
Cuando esté seguro de que el runbook se ejecuta correctamente mediante identidades administradas, puede eliminar de forma segura la cuenta de ejecución si ningún otro runbook usa esa cuenta.
Muestras de scripts
Los ejemplos siguientes de scripts de runbook capturan los recursos de Resource Manager mediante la cuenta de ejecución (entidad de servicio) y la identidad administrada. Observaría la diferencia en el código de runbook al principio del runbook, donde se autentica en el recurso.
- Identidad administrada asignada por el sistema
- Identidad administrada asignada por el usuario
- Cuenta de ejecución
Nota:
Habilite los permisos de RBAC adecuados para la identidad del sistema de esta cuenta de Automation. De lo contrario, se podría producir un error en el runbook.
try
{
"Logging in to Azure..."
Connect-AzAccount -Identity
}
catch {
Write-Error -Message $_.Exception
throw $_.Exception
}
#Get all Resource Manager resources from all resource groups
$ResourceGroups = Get-AzResourceGroup
foreach ($ResourceGroup in $ResourceGroups)
{
Write-Output ("Showing resources in resource group " + $ResourceGroup.ResourceGroupName)
$Resources = Get-AzResource -ResourceGroupName $ResourceGroup.ResourceGroupName
foreach ($Resource in $Resources)
{
Write-Output ($Resource.Name + " of type " + $Resource.ResourceType)
}
Write-Output ("")
}
Ver el identificador de cliente de la identidad asignada por el usuario
En la cuenta de Automation, en Configuración de la cuenta, seleccione Identidad.
En la pestaña Usuario asignado, seleccione la identidad asignada por el usuario.
Vaya a Información general>Essentials para ver el id. de cliente.
Runbooks gráficos
Compruebe si se usa una cuenta de ejecución en runbooks gráficos.
Compruebe cada una de las actividades del runbook para ver si usa la cuenta de ejecución cuando llama a cualquier cmdlet o alias de inicio de sesión, como
Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount
.Examine los parámetros que usa el cmdlet.
Para su uso con la cuenta de ejecución, el cmdlet usa el parámetro
ServicePrinicipalCertificate
establecido enApplicationId
.CertificateThumbprint
será deRunAsAccountConnection
.
Edición de un runbook gráfico para usar una identidad administrada
Debe probar la identidad administrada para comprobar que el runbook gráfico funciona según lo previsto. Cree una copia del runbook de producción para usar la identidad administrada y, a continuación, actualice el código del runbook gráfico de prueba para autenticarse mediante la identidad administrada. Para agregar esta funcionalidad a un runbook gráfico, agregue el cmdlet Connect-AzAccount
.
En los pasos siguientes se incluye un ejemplo para mostrar cómo un runbook gráfico que usa una cuenta de ejecución puede usar identidades administradas:
Inicie sesión en Azure Portal.
Abra la cuenta de Automation y seleccione Automatización de procesos>Runbooks.
Seleccionar un runbook. Por ejemplo, seleccione el runbook Iniciar máquinas virtuales de Azure V2 de la lista y, a continuación, seleccione Editar, o bien vaya a Examinar galería y seleccione Iniciar máquinas virtuales de Azure V2.
Reemplace la conexión de ejecución que usa
AzureRunAsConnection
y el recurso de conexión que usa internamente el cmdlet de PowerShellGet-AutomationConnection
por el cmdletConnect-AzAccount
.Seleccione Eliminar para eliminar la actividades
Get Run As Connection
yConnect to Azure
.En el panel izquierdo, en CONTROL DE RUNBOOK, seleccione Código y, a continuación, seleccione Agregar al lienzo.
Edite la actividad de código, asigne cualquier nombre de etiqueta adecuado y seleccione Lógica de actividad de creador.
En la página Editor de código, escriba el siguiente código de PowerShell y seleccione Aceptar.
try { Write-Output ("Logging in to Azure...") Connect-AzAccount -Identity } catch { Write-Error -Message $_.Exception throw $_.Exception }
Conecte la nueva actividad a las actividades que se conectaron anteriormente mediante Conectar a Azure y guarde el runbook.
Por ejemplo, en el runbook Iniciar máquinas virtuales de Azure V2 de la galería de runbooks, deberá reemplazar las actividades Get Run As Connection
y Connect to Azure
por la actividad de código que usa el cmdlet Connect-AzAccount
, tal y como se describió anteriormente.
Para más información, consulte el nombre del runbook de muestra AzureAutomationTutorialWithIdentityGraphical que se crea con la cuenta de Automation.
Nota:
Los módulos de AzureRM PowerShell se retirarán el 29 de febrero de 2024. Si usa módulos de AzureRM PowerShell en runbooks gráficos, deberá actualizarlos para que usen módulos de Az PowerShell. Más información.
Pasos siguientes
Revise las preguntas más frecuentes para migrar a identidades administradas
Si los runbooks no se finalizan correctamente, revise Solución de problemas de identidad administrada de Azure Automation.
Para obtener más información sobre las identidades administradas asignadas por el sistema, consulte Uso de una identidad administrada asignada por el sistema de una cuenta de Automation.
Para obtener más información sobre las identidades administradas asignadas por el usuario, consulte Uso de una identidad administrada asignada por el usuario de una cuenta de Automation.
Para obtener información sobre la seguridad de las cuentas de Azure Automation, vea Información general sobre la autenticación de cuentas de Azure Automation.