> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/es/automatizacion/connecting-azure-automation.md).

# Conexión de Azure Automation

Conecte una cuenta de Azure Automation a RealmJoin Portal con el módulo de PowerShell de RealmJoin, para que RealmJoin pueda implementar, ejecutar y supervisar runbooks en su Tenant.

## Descripción general

Para permitir que RealmJoin Portal proporcione [runbooks](/es/automatizacion/runbooks.md) para automatizar tareas diarias, debe conectar una [Azure Automation](https://learn.microsoft.com/en-us/azure/automation/overview) cuenta. Actúa como host para sus runbooks y proporciona los [permisos](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md) que los runbooks necesitan para funcionar en su entorno.

La cuenta de Automation se configura con el [módulo PowerShell de RealmJoin](/es/implementacion/onboarding-realmjoin-portal/advanced-setup.md). El Portal genera un comando listo para copiar; no es necesario crear un registro de aplicación ni administrar un secreto de cliente.

{% hint style="info" %}
¿Ya hay runbooks configurados para su Tenant con el registro de aplicación heredado de **RealmJoin Runbook Management** ? Entonces consulte [Cambio a la aplicación administrada de RealmJoin](/es/automatizacion/connecting-azure-automation/managed-app-migration.md). Conserva su cuenta de Automation y sus runbooks, y elimina el secreto de cliente por Tenant.
{% endhint %}

## Consideraciones

La [identidad administrada](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) de la cuenta de Automation requiere permisos amplios [permisos](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md) en su entorno, como la capacidad de modificar objetos de grupo o usuario en Entra ID o administrar buzones en Exchange Online. Limite el acceso administrativo a esta cuenta para evitar el uso indebido de estos privilegios.

Al usar una cuenta de Automation existente, tenga en cuenta que RealmJoin Portal crea, actualiza y elimina automáticamente los runbooks provenientes del [repositorio en línea compartido de runbooks](https://github.com/realmjoin/realmjoin-runbooks). Es posible que esta funcionalidad no sea compatible con una cuenta de Automation existente. Si tiene dudas, recomendamos crear una cuenta de Azure Automation dedicada para los runbooks de RealmJoin, lo cual hace el comando de configuración por usted.

## Lo que implementa la configuración

La ejecución del comando de configuración crea:

* El **Service Principal de RealmJoin Azure Resources** en su Tenant de Entra ID (si aún no existe)
* Una **cuenta de Automation** con una identidad administrada asignada por el sistema, en la región del grupo de recursos, o su cuenta de Automation existente si especifica una
* **Colaborador** para el Service Principal de RealmJoin, limitado a esa cuenta de Automation, para que RealmJoin pueda sincronizar e iniciar runbooks
* El **permisos de aplicación** para la identidad administrada que incluye el módulo: Microsoft Graph, Office 365 Exchange Online, Windows Defender ATP y SharePoint Online

RealmJoin se autentica en Azure con su propia aplicación multiinquilino. No se crea ningún registro de aplicación ni secreto de cliente en su Tenant, y RealmJoin no recibe permisos fuera de esa cuenta de Automation.

{% hint style="warning" %}
Los **roles de directorio de Entra ID** de la identidad administrada —Administrador de Intune, Administrador de Exchange, Administrador de usuarios, etc.— **no** son asignados por el comando de configuración. Aún deben concederse por separado; consulte [Concesión de roles y permisos](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md#granting-roles-and-permissions). Sin ellos, una gran parte de los runbooks compartidos no funcionará.
{% endhint %}

## Requisitos previos

### En RealmJoin Portal

* Un rol que conceda acceso al área de Configuración (`CanReadSettingsDetails`, consulte [Permisos disponibles](/es/administracion-y-configuracion/permission/custom-roles/available-permissions.md)). La página de configuración genera el comando de configuración, incluido un token de incorporación de corta duración.

### En Azure

* Una suscripción de Azure y un **grupo de recursos existente** en el que implementar; el módulo no crea el grupo de recursos. Se recomienda un grupo de recursos independiente para la cuenta de Automation.
* Opcionalmente, una cuenta de Automation existente. Si no especifica una, se crea una cuenta para usted.

### En la máquina que ejecuta PowerShell

* **PowerShell 5.1** o posterior (Windows PowerShell o PowerShell 7)
* Acceso a la [Galería de PowerShell](https://www.powershellgallery.com/packages/RealmJoin) para instalar el módulo RealmJoin
* El `Az.Accounts`, `Az.Resources` y `Az.Automation` módulos: el módulo RealmJoin los instala automáticamente en las versiones fijadas para el usuario actual

### Permisos de la cuenta con la que inicia sesión

* **Microsoft Entra ID:** permiso para crear Service Principals **y para conceder permisos de aplicación** ; la configuración asigna roles de aplicación de Graph, Exchange, Defender y SharePoint a la identidad administrada. En la práctica, esto significa *Administrador global* o *Administrador de roles con privilegios*.
* **Suscripción de Azure:** permiso para implementar en el grupo de recursos **y** y para crear asignaciones de roles en él; por ejemplo *Propietario*, o *Colaborador* combinado con *Administrador de acceso de usuarios* / *Administrador de control de acceso basado en roles*.
* El inicio de sesión se realiza mediante `Connect-AzAccount`, que usa la aplicación propia de **Azure PowerShell** . Es posible que los Tenant que restringen el consentimiento de usuarios deban conceder primero el consentimiento de administrador a esa aplicación.

{% hint style="warning" %}
Ejecute el comando en una sesión de **local recién abierta de** PowerShell y evite **Azure Cloud Shell**. El módulo RealmJoin requiere versiones exactas de los módulos `Az.*` . Si ya hay una versión diferente cargada en la sesión —como suele ocurrir en Cloud Shell—, el módulo se detiene debido a un conflicto de versiones que solo se puede resolver abriendo una sesión nueva.
{% endhint %}

## Configuración

{% stepper %}
{% step %}

#### Preparar el grupo de recursos

En Azure Portal, cree o elija el grupo de recursos que debe contener la cuenta de Automation. Anote su nombre y el identificador de la suscripción en la que se encuentra.

Si desea usar una cuenta de Automation **existente** , anote también su nombre.
{% endstep %}

{% step %}

#### Copiar el comando desde RealmJoin Portal

En RealmJoin Portal, vaya a **Configuración → Runbooks** (<https://portal.realmjoin.com/settings/runbooks-configuration>).

La página indica que la configuración de runbooks se administra mediante el módulo PowerShell de RealmJoin y muestra un bloque de comandos. Use el botón **Copiar** para copiarlo.

```powershell
$latest = [version](Find-Module RealmJoin -Repository PSGallery -ErrorAction Stop).Version
if (-not (Get-Module -ListAvailable RealmJoin | Where-Object Version -ge $latest)) {
    Install-Module RealmJoin -Force -AllowClobber -ErrorAction Stop
}
Import-Module RealmJoin -Force
Set-RJAutomationAccount -Token "<Token>" 6>&1
```

{% hint style="info" %}
**Acerca de `6>&1`:** estos comandos informan de su progreso en el flujo de información de PowerShell. La `6>&1` redirección muestra esa salida en la consola; sin ella no verá ningún mensaje de progreso.
{% endhint %}
{% endstep %}

{% step %}

#### Agregar los parámetros de destino

`Set-RJAutomationAccount` necesita saber dónde implementar. Complete la última línea antes de ejecutarla:

```powershell
Set-RJAutomationAccount -ResourceGroupName "rg-realmjoin" -SubscriptionId "<SubscriptionId>" -Token "<Token>" 6>&1
```

* `-ResourceGroupName` es obligatorio. Si lo omite, PowerShell se lo solicitará.
* `-SubscriptionId` es opcional; sin él, se usa la suscripción de su contexto actual de Azure y se le pide que elija si hay varias disponibles.
* `-AutomationAccountName` es opcional. Páselo para usar una **existente** cuenta de Automation; de lo contrario, se crea una nueva con un nombre generado.

{% hint style="warning" %}
Dirigir el comando a una cuenta de Automation existente también garantiza la configuración que RealmJoin espera en ella: una identidad administrada asignada por el sistema, el SKU Básico y acceso a red pública. Compruebe si esto coincide con sus requisitos antes de reutilizar una cuenta.
{% endhint %}
{% endstep %}

{% step %}

#### Ejecutar el comando

Pegue el bloque en una sesión nueva de PowerShell y ejecútelo. El token es válido durante aproximadamente una hora; si ha expirado, vuelva a cargar la página de configuración y copie el comando de nuevo.

Se le pedirá que inicie sesión con `Connect-AzAccount`. Si su cuenta tiene acceso a varios Tenant o suscripciones, el módulo le pide que elija.

La implementación se ejecuta en tres pasos —Service Principal, cuenta de Automation y permisos— e informa de cada recurso a medida que se crea. Una ejecución normalmente tarda unos minutos.

{% hint style="info" %}
¿Quiere ver primero qué sucedería? Agregue `-WhatIf` para obtener una vista previa de What-If de Azure Resource Manager. Tenga en cuenta que el inicio de sesión y la instalación de los módulos `Az` aún se realizan, porque la vista previa necesita ambos.
{% endhint %}
{% endstep %}

{% step %}

#### Asignar los roles de Entra ID a la identidad administrada

La configuración concede a la identidad administrada sus permisos de aplicación, pero no sus roles de directorio de Entra ID. Asígnelos ahora; consulte [Concesión de roles y permisos](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md#granting-roles-and-permissions) para obtener la lista actual y un script que lo hace.

El identificador de objeto de la identidad administrada se muestra en Azure Portal, en la cuenta de Automation, en Configuración de la cuenta > Identidad.

<figure><img src="https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2F4ecZSM3NW9PWJJlaNmR4%2Fimage.png?alt=media&amp;token=e5d5b56b-50f3-4f35-a41b-7cb4230dd3f3" alt=""><figcaption><p>Identidad administrada de la cuenta de Automation</p></figcaption></figure>
{% endstep %}

{% step %}

#### Verificar en el Portal e iniciar la primera sincronización

Vuelva a **Configuración → Runbooks** y seleccione **Actualizar**. RealmJoin detecta la nueva configuración e inicia la importación inicial de runbooks. Mantenga la página abierta hasta que se complete la sincronización.

La suscripción, el grupo de recursos, el nombre y la ubicación de la cuenta de Automation ahora se muestran como de solo lectura en **Conexión de Azure** ; a partir de ahora, el módulo PowerShell los mantiene.
{% endstep %}
{% endstepper %}

## Configuración que administra en el Portal

Dos configuraciones siguen siendo editables en **Configuración → Runbooks** después de la configuración:

* **Rama** ; la rama del [repositorio compartido de runbooks](https://github.com/realmjoin/realmjoin-runbooks) que desea seguir. La configuración establece esta en `producción`, que es la opción adecuada salvo que tenga un motivo para desviarse.
* **Habilitar la sincronización de Hybrid Runbook Worker** y el grupo de trabajo que se va a usar; consulte [Hybrid Runbook Worker](/es/automatizacion/runbooks/hybrid-runbook-worker.md). El grupo debe estar registrado en la cuenta de Automation antes de poder seleccionarse aquí.

Guardar cualquiera de ellas desencadena una sincronización de runbooks.

Si más adelante tiene problemas de configuración o permisos, el botón **Mostrar cmdlet** en Conexión de Azure recupera el comando; volver a ejecutarlo es seguro y solo aplica lo que falta.

## Configuración heredada (registro de aplicación por Tenant)

{% hint style="warning" %}
La siguiente configuración crea un **RealmJoin Runbook Management** registro de aplicación con un secreto de cliente en su Tenant. Se documenta solo como referencia para los Tenant que se configuraron de esta forma en el pasado. No lo use para configuraciones nuevas; siga la configuración [Configuración](#setup) anterior, o [cambie una configuración existente a la aplicación administrada](/es/automatizacion/connecting-azure-automation/managed-app-migration.md).
{% endhint %}

<details>

<summary>Mostrar la configuración heredada</summary>

En esta ruta, la cuenta de Automation se creó manualmente en Azure Portal, sus permisos se asignaron con dos scripts externos y RealmJoin se autenticó con un registro de aplicación y un secreto de cliente por Tenant.

**Parte 1: crear una cuenta de Azure Automation**

1. Vaya a [Azure Portal > Cuentas de Automation](https://portal.azure.com/#create/Microsoft.AutomationAccount) y cree una nueva cuenta de Automation.
2. En la pestaña Datos básicos, elija su suscripción, grupo de recursos, nombre de cuenta de Automation y región.
3. En la pestaña Opciones avanzadas, asegúrese de que esté habilitada la identidad administrada asignada por el sistema.
4. Seleccione Revisar y crear, y cree su cuenta de Automation.
5. Vaya al grupo de recursos que contiene la cuenta de Automation y, en la pestaña IAM, asigne el rol Colaborador a la cuenta de Automation.

![Creación de la cuenta de Automation](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FqjBLc2zH3XCCqfAViEsU%2Fimage.png?alt=media\&token=257816e0-eb8a-478c-973f-fb288324d8c8)

![Habilitación de la identidad administrada asignada por el sistema](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FM9N3OxNzrzQXFxSaKIpP%2Fimage.png?alt=media\&token=1e7c4d5b-d604-415b-89e0-4816a7f04a26)

**Parte 2: asignar permisos a la cuenta de Automation**

Los permisos de identidad administrada no se pueden conceder a través de Azure Portal. Los [approle-and-directoryrole-granter](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter) scripts asignan tanto los permisos de aplicación como los roles de Entra ID a partir de los archivos JSON publicados en el [repositorio de runbooks](https://github.com/realmjoin/realmjoin-runbooks/tree/production/docs/other/json):

```powershell
. .\GrantAppPermToEntApp.ps1 -enterpriseAppObjId "<ManagedIdentityObjectId>" -permissionsTemplate .\AllRealmJoinRunbooks_collected_permissions.json
. .\AssignAzureADRoleToEntApp.ps1 -objectId "<ManagedIdentityObjectId>" -rolesTemplate .\AllRealmJoinRunbooks_collected_rbacroles.json
```

**Parte 3: crear el Service Principal para RealmJoin**

En el Portal, en Configuración > Runbooks, primero se introducían el identificador de Tenant, el identificador de suscripción y el grupo de recursos; luego la página mostraba un fragmento de Azure CLI para ejecutar, que creaba el **RealmJoin Runbook Management** registro de aplicación con derechos de Colaborador en el grupo de recursos:

```
az provider register --namespace Microsoft.Automation
az ad sp create-for-rbac -n "RealmJoin Runbook Management" --role contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroup>
```

**Parte 4: completar el asistente**

De vuelta en el Portal, se introdujeron `appId` y `contraseña` de esa salida junto con el nombre de la cuenta de Automation, la rama del repositorio compartido de runbooks (`producción`) y la ubicación de la cuenta de Automation. Al guardar se inició la importación inicial de runbooks.

![Conexión de cuenta de Automation en RealmJoin Portal](https://3832142177-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FA0X3M2c9d13pxVt87Pf8%2Fimage.png?alt=media\&token=8e2f2b18-c3b1-4704-8cc8-eb4d43297dd1)

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/es/automatizacion/connecting-azure-automation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
