# Conexión de Azure Automation

## Información general

{% embed url="<https://www.youtube.com/watch?v=Ijp9XnE8UuA>" %}

Para permitir que RealmJoin Portal entregue [runbooks ](/es/automatizacion/runbooks.md)para automatizar tareas diarias, debe conectar una [Azure Automation](https://learn.microsoft.com/en-us/azure/automation/overview) Account. Esta Automation Account actuará como host para sus runbooks y proporcionará los [permisos](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md) requeridos para que los runbooks funcionen dentro de su entorno.

## Consideraciones

La [Managed Identity](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) de la Automation Account requiere 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 Automation Account existente, tenga en cuenta que RealmJoin Portal crea, actualiza y elimina automáticamente runbooks procedentes del [repositorio compartido en línea de runbooks](https://github.com/realmjoin/realmjoin-runbooks). Esta funcionalidad puede no ser compatible en una Automation Account existente. Si no está seguro, recomendamos crear una Azure Automation Account dedicada para RealmJoin Runbooks.

## Requisitos previos

* Privilegios de Global Administrator
* Acceso a PowerShell con el [Az](https://learn.microsoft.com/en-us/powershell/azure/?view=azps-15.3.0) módulo o [AZ CLI](https://learn.microsoft.com/en-us/cli/azure/?view=azure-cli-latest)
* Permisos de Contributor en una suscripción de Azure
* [Requisitos de runbook](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md)

## Instrucciones

{% stepper %}
{% step %}

#### Crear una Azure Automation Account

1. Navegue a su [Azure Portal > Automation Accounts](https://portal.azure.com/#create/Microsoft.AutomationAccount)
2. Crear una nueva Automation Account
3. En la pestaña Basics, elija la suscripción, el grupo de recursos, el nombre de la Automation Account y la región que desee<br>

   <figure><img src="/files/2379bc745456e9be05366e24c000466523dd01ba" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Se recomienda un grupo de recursos independiente para su Automation Account
{% endhint %}

4. En la pestaña Advanced, asegúrese de que System Assigned Managed Identity esté habilitada

   <figure><img src="/files/3723f8606e9ef4f5a604c8bdeace8b004445d646" alt=""><figcaption></figcaption></figure>
5. Seleccione Review + Create y cree su Automation Account
6. Navegue al grupo de recursos que contiene su Azure Automation Account
7. En la pestaña IAM, asigne la Azure Automation Account como Contributor
   {% endstep %}

{% step %}

#### Asignar permisos a Azure Automation Account

Los runbooks compartidos de RealmJoin usan la identidad administrada asignada por el sistema de Azure Automation para interactuar con Entra ID, MS Graph API, etc.

Actualmente no se pueden conceder permisos de Managed Identity a través de Azure Portal. Use Microsoft Graph o PowerShell para asignar estos permisos.

1. Descargue los siguientes scripts de PowerShell y archivos JSON en la misma carpeta.\
   El script asignará el conjunto completo de permisos requerido por RealmJoin. Los roles y permisos se pueden revisar en la [Requisitos](/es/automatizacion/connecting-azure-automation/azure-ad-roles-and-permissions.md) sección y ajustar según sea necesario en los archivos JSON.

{% tabs %}
{% tab title="GrantAppPermToEntApp.ps1" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/GrantAppPermToEntApp.ps1>" %}
{% endtab %}

{% tab title="AssignAzureADRoleToEntApp.ps1" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/AssignAzureADRoleToEntApp.ps1>" %}
{% endtab %}

{% tab title="RJvNextPermissions.json" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/RealmJoinVnext/RJvNextPermissions.json>" %}
{% endtab %}

{% tab title="RJvNextRoles.json" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/RealmJoinVnext/RJvNextRoles.json>" %}
{% endtab %}
{% endtabs %}

2. Anote el Object ID de la Managed Identity de Azure Automation Account en Account Settings > Identity

   <figure><img src="/files/368ee3cb83ccd1f8af0db6b5141cb0d758040578" alt=""><figcaption></figcaption></figure>
3. Abra una ventana de PowerShell.
4. Navegue a la carpeta que contiene los archivos descargados

```
cd c:\temp\myfolder
```

5. Desbloquee los scripts si es necesario\
   ![](/files/6d47fa7288b78088056b45c803859cfe4dac88d4)
6. Asigne permisos de MS Graph a su Azure Automation Account usando GrantAppPermToEntApp.ps1, reemplazando xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx por el Object ID de su Automation Account

```
. .\GrantAppPermToEntApp.ps1 -enterpriseAppObjId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -permissionsTemplate .\RJvNextPermissions.json
```

7. Asigne roles de administrador de Entra ID a su Azure Automation Account usando AssignAzureADRoleToEntApp.ps1, reemplazando xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx por el Object ID de su Automation Account

```
. .\AssignAzureADRoleToEntApp.ps1 -objectId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -rolesTemplate .\RJvNextRoles.json
```

8. La Azure Automation Account ahora debería tener los permisos correctos para ejecutar Runbooks<br>
   {% endstep %}

{% step %}

#### Configuración de RealmJoin Runbooks - Parte 1

1. En RealmJoin Portal vaya a '[Settings -> Runbooks](https://portal.realmjoin.com/settings/runbooks-configuration)'.<br>

   <figure><img src="/files/71b11b1c5a0a8b225eb8a1d58b24d6dd9eadcbcb" alt=""><figcaption></figcaption></figure>
2. Complete el Tenant ID, Subscription ID y el nombre del Resource Group pertenecientes a la Azure Automation Account\
   El Tenant ID en la [página de resumen de Entra ID](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)

   <figure><img src="/files/ba0073312ed38097cccbf897199556f979b1e8b5" alt=""><figcaption></figcaption></figure>
3. Copie el script en rojo de abajo *ResourceGroup.*\
   Este script crea un Service Principal en Entra ID con acceso a su Automation Account, lo que permite a RealmJoin administrar, ejecutar y supervisar runbooks.\
   El script se actualiza en función de los valores de Tenant ID, Subscription ID y Resource Group.<br>

   <figure><img src="/files/a829691efc3ff045136e949be1851f04ab475fd7" alt=""><figcaption></figcaption></figure>
4. Deje el asistente abierto por ahora. Volveremos en breve en la parte 2.
   {% endstep %}

{% step %}

#### Conceder acceso a RealmJoin a Azure Automation

{% hint style="info" %}
Puede usar [Azure CloudShell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), así no necesita instalar ni autenticar una copia local de AZ CLI.
{% endhint %}

1. Ejecute el script copiado anteriormente en PowerShell.

   <figure><img src="/files/5cd8df91543bb40de85ee4811a0727938a8ff0b3" alt=""><figcaption></figcaption></figure>
2. Anote los valores de `appId` y `password`.\
   Se creará la App Registration "RealmJoin Runbook Management".<br>

   ![App Registrations en Azure Portal](/files/eae319d2908155f469ef1ab4502d97fb68ff6fd5)
   {% endstep %}

{% step %}

#### Configuración de RealmJoin Runbooks - Parte 2

1. En RealmJoin Portal regrese a la ventana/asistente abierto para '[Settings -> Runbooks](https://portal.realmjoin.com/settings/runbooks-configuration)'
2. Complete los valores faltantes de `appId` y `password` creado en el paso anterior
3. Complete el nombre de la Automation Account creada [anteriormente](#create-an-azure-automation-account)
4. Elija la rama del repositorio compartido de runbooks que desea seguir.\
   Si no está seguro, elija `production`\
   Todas las ramas de runbooks pueden verse aquí: <https://github.com/realmjoin/realmjoin-runbooks>
5. Elija la misma ubicación que su Azure Automation Account para asegurarse de que sus runbooks se ejecuten en la [región de Azure](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview)

![Conexión de Automation Account en RealmJoin Portal](/files/ceff55c63d7689290186ac105a435096ab4aff75)

6. Presione "Save" para iniciar la importación inicial de runbooks. Deje esta ventana abierta hasta que vea el mensaje "Sync completed".

![](/files/c331000b2d8a08574fe3e370a52d84852e0bff3c)
{% endstep %}
{% endstepper %}


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
