> 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 runbooks

## Módulos de PowerShell

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

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

| Módulo                           | Versión mínima en 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.39.0                     |
| `MicrosoftTeams`                 | 7.9.0                      |
| `RealmJoin.RunbookHelper`        | 0.8.9                      |

El Portal de RealmJoin importará e instalará automáticamente estos módulos si se referencian 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 la [repositorio público](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Los runbooks compartidos de RealmJoin usan la Azure Automation's [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 se prueban solo 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
* Administrador de dispositivos en la nube
* 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`
* `Team.Create`
* `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 la API de Exchange Online de Office 365 a la identidad administrada

* `Exchange.ManageAsApp`

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

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

Conceda los siguientes permisos de la 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 mediante Azure Portal. Recomendamos usar scripts de MS Graph / PowerShell para ello.

Puede encontrar un ejemplo de este proceso [aquí](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter).

### Permisos de recursos de Azure

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

Algunos runbooks usarán una Storage Account de Azure para almacenar informes o copias de seguridad. Conceda al menos acceso de "Contributor" a la suscripción o al grupo de recursos correspondiente. La mayoría de los runbooks podrán entonces 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 forma principal de autenticarse. Esto sustituye a las RunAs Accounts obsoletas.

Los RealmJoin Runbooks actualmente admiten RunAs Accounts si no hay configurada una identidad administrada.

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

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

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

### Secreto de cliente

Algunos runbooks privados pueden necesitar una autenticación de tipo ClientID/Secret. Actualmente no hay runbooks compartidos que requieran ClientID y Secret.

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

Actualmente, el "realmjoin-automation-cred" en la cuenta de automatización es creado por RJ-Wizard de forma predeterminada, pero rellenado con valores aleatorios; tendría que completarse con 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 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/azure-ad-roles-and-permissions.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.
