> 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/azure-ad-roles-and-permissions.md).

# Requisitos de ejecución de Runbook

Esta página wiki aborda qué requisitos y permisos (a nivel de sistema) deben concederse para que se puedan ejecutar los runbooks.

## Módulos de PowerShell

{% hint style="info" %}
La sección de Módulos de PowerShell se actualiza automáticamente en función de [repositorio público](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Los runbooks compartidos disponibles en [GitHub](https://github.com/realmjoin/realmjoin-runbooks) esperan/usarán los siguientes módulos de Windows PowerShell:

| Módulo                           | Versión mínima en los runbooks |
| -------------------------------- | ------------------------------ |
| `Az.Accounts`                    | 5.5.2                          |
| `Az.Compute`                     | 11.8.0                         |
| `Az.DesktopVirtualization`       | 6.0.0                          |
| `Az.ManagementPartner`           | 0.8.0                          |
| `Az.Storage`                     | 9.7.2                          |
| `ExchangeOnlineManagement`       | 3.9.2                          |
| `Microsoft.Graph.Authentication` | 2.41.2                         |
| `MicrosoftTeams`                 | 7.9.0                          |
| `PnP.PowerShell`                 | 3.4.1                          |
| `RealmJoin.RunbookHelper`        | 0.8.10                         |

RealmJoin Portal importará e instalará automáticamente estos módulos si se hace referencia a ellos desde dentro de un runbook. Esta importación también respetará las versiones mínimas especificadas para los módulos.

## Permisos

{% hint style="info" %}
La sección de Permisos se actualiza automáticamente en función de [repositorio público](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Los runbooks compartidos de RealmJoin usan la [identidad administrada asignada por el sistema](https://learn.microsoft.com/en-us/azure/automation/enable-managed-identity-for-automation) para interactuar con Entra ID, MS Graph API, etc.

La siguiente lista de roles y permisos le permitirá usar todos los runbooks actualmente disponibles en nuestro repositorio compartido.

No se recomienda reducir estos roles/permisos, ya que los runbooks solo se prueban con este conjunto de permisos. Si reduce el conjunto de roles/permisos, algunos runbooks dejarán de funcionar.

### Roles de Entra ID

Asigne los siguientes roles de Entra ID a la identidad administrada

* Desarrollador de aplicaciones
* Cloud Device Administrator
* Administrador de Exchange
* Administrador de Intune
* Administrador de Teams
* Administrador de usuarios

### Permisos de Graph API

Conceda los siguientes permisos de Graph API a la identidad administrada

* `Application.ReadWrite.All`
* `Application.ReadWrite.OwnedBy`
* `AppRoleAssignment.ReadWrite.All`
* `AuditLog.Read.All`
* `BitLockerKey.Read.All`
* `Channel.ReadBasic.All`
* `ChannelMember.ReadWrite.All`
* `CloudPC.ReadWrite.All`
* `Device.ReadWrite.All`
* `DeviceLocalCredential.Read.All`
* `DeviceManagementApps.ReadWrite.All`
* `DeviceManagementConfiguration.ReadWrite.All`
* `DeviceManagementManagedDevices.PrivilegedOperations.All`
* `DeviceManagementManagedDevices.ReadWrite.All`
* `DeviceManagementServiceConfig.ReadWrite.All`
* `Directory.ReadWrite.All`
* `Group.Create`
* `Group.ReadWrite.All`
* `GroupMember.ReadWrite.All`
* `IdentityRiskyUser.ReadWrite.All`
* `InformationProtectionPolicy.Read.All`
* `Mail.Send`
* `Organization.Read.All`
* `Place.Read.All`
* `Policy.Read.All`
* `Reports.Read.All`
* `ReportSettings.ReadWrite.All`
* `RoleAssignmentSchedule.Read.Directory`
* `RoleManagement.Read.All`
* `RoleManagement.Read.Directory`
* `ServiceHealth.Read.All`
* `Sites.Read.All`
* `Team.Create`
* `Team.ReadBasic.All`
* `TeamMember.ReadWrite.All`
* `TeamSettings.ReadWrite.All`
* `User.ReadWrite.All`
* `UserAuthenticationMethod.ReadWrite.All`
* `WindowsUpdates.ReadWrite.All`

### Otros permisos de API de aplicaciones

Conceda los siguientes permisos de API de Office 365 Exchange Online a la identidad administrada

* `Exchange.ManageAsApp`

Conceda los siguientes permisos de API de WindowsDefenderATP a la identidad administrada

* `Machine.Read.All`
* `Machine.Isolate`
* `Machine.RestrictExecution`
* `Ti.ReadWrite.All`

Conceda los siguientes permisos de API de SharePoint a la identidad administrada

* `User.Read.All`
* `Sites.Read.All`
* `Sites.FullControl.All`

### Concesión de roles y permisos

Actualmente no se pueden conceder permisos a las identidades administradas usando Azure Portal. Recomendamos usar scripts de MS Graph / PowerShell para ello.

{% hint style="info" %}
`Set-RJAutomationAccount` del módulo de PowerShell de RealmJoin — vea [Conexión con Azure Automation](/es/automatizacion/connecting-azure-automation.md) — ya asigna los **permisos de API** que incorpora para Microsoft Graph, Exchange Online, Defender y SharePoint cuando configura o actualiza la Automation Account.

No **no** asigna los **roles de Entra ID** enumerados arriba, y su conjunto de permisos integrado se mantiene por separado de esta página, que se genera a partir del [repositorio de runbooks](https://github.com/realmjoin/realmjoin-runbooks). Use los scripts siguientes para los roles de Entra ID y para agregar cualquier permiso de API que necesite un runbook y que el módulo no cubra.
{% endhint %}

Puede encontrar un ejemplo de este proceso [aquí](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter). Los archivos JSON que espera se publican 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
```

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

### Permisos de recursos de Azure

Otorgue al menos acceso de "Contributor" a la suscripción o grupo de recursos que aloja la Automation Account de Azure para los runbooks

Algunos runbooks usarán una Storage Account de Azure para almacenar informes o copias de seguridad. Otorgue al menos acceso de "Contributor" a la suscripción o grupo de recursos correspondiente. La mayoría de los runbooks podrán crear por sí mismos los recursos dentro del grupo de recursos.

## Métodos de autenticación

### Identidades administradas

Azure Automation admite [Identidades administradas](https://docs.microsoft.com/en-us/azure/automation/enable-managed-identity-for-automation) (asignada por el sistema) como la principal forma de autenticación. Esto reemplaza las cuentas RunAs obsoletas.

Los RealmJoin Runbooks actualmente admiten cuentas RunAs si no hay ninguna identidad administrada configurada.

{% hint style="warning" %}
Si se configuran al mismo tiempo una Managed Identity y una cuenta RunAs, los runbooks del repositorio compartido de RealmJoin preferirán automáticamente usar la Managed Identity cuando se utilicen versiones más recientes de nuestro `RealmJoin.RunbookHelper` módulo de compatibilidad a partir de v0.8.0.

Las versiones anteriores del módulo no podían aprovechar completamente las Managed Identities y preferían la cuenta RunAs.

Asegúrese de conceder los permisos necesarios a la Managed Identity o deshabilitarla por completo para usar solo la cuenta RunAs.
{% endhint %}

### Secreto de cliente

Es posible que algunos runbooks privados necesiten una autenticación del tipo ClientID/Secret. Actualmente no hay runbooks compartidos que requieran ClientID y Secret.

Si es necesario, se pueden almacenar un ClientID y un Secret en las credenciales administradas llamadas "realmjoin-automation-cred" en la Automation Account de Azure.

Actualmente, la "realmjoin-automation-cred" en la automation account la crea por defecto el RJ-Wizard, pero con valores aleatorios; habría que rellenarla con los valores correctos.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
