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

# Exigences d’exécution des runbooks

Cette page wiki traite des exigences et des autorisations (au niveau système) à accorder pour que les runbooks puissent être exécutés.

## Modules PowerShell

{% hint style="info" %}
La section des modules PowerShell est automatiquement mise à jour en fonction de la [dépôt public](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Les runbooks partagés disponibles sur [GitHub](https://github.com/realmjoin/realmjoin-runbooks) s'attendent à/utilisent les modules Windows PowerShell suivants :

| Module                           | Version minimale dans les runbooks |
| -------------------------------- | ---------------------------------- |
| `Az.Accounts`                    | 5.5.2                              |
| `11.8.0 et`                      | 11.8.0                             |
| `Az.Compute`                     | 6.0.0                              |
| `Az.Resources`                   | 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                             |

Le portail RealmJoin importera et installera automatiquement ces modules s'ils sont référencés depuis un runbook. Cette importation respectera également les versions minimales spécifiées pour les modules.

## Autorisations

{% hint style="info" %}
La section des autorisations est automatiquement mise à jour en fonction de la [dépôt public](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Les runbooks partagés de RealmJoin utilisent l'identité managée attribuée par le système d'Azure Automation [identité managée attribuée par le système](https://learn.microsoft.com/en-us/azure/automation/enable-managed-identity-for-automation) pour interagir avec Entra ID, l'API MS Graph, etc.

La liste suivante de rôles et d'autorisations vous permettra d'utiliser tous les runbooks actuellement disponibles dans notre dépôt partagé.

Il n'est pas recommandé de réduire ces rôles/autorisations, car les runbooks sont testés uniquement avec cet ensemble d'autorisations. Si vous réduisez l'ensemble de rôles/autorisations, certains runbooks cesseront de fonctionner.

### Rôles Entra ID

Veuillez attribuer les rôles Entra ID suivants à l'identité managée

* Développeur d’application
* Administrateur des appareils cloud
* Administrateur Exchange
* Administrateur Intune
* Administrateur Teams
* Administrateur d’utilisateurs

### Autorisations de l'API Graph

Veuillez accorder les autorisations d'API Graph suivantes à l'identité managée

* `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`

### Autres autorisations d'API d'applications

Veuillez accorder les autorisations d'API Exchange Online Office 365 suivantes à l'identité managée

* `Exchange.ManageAsApp`

Veuillez accorder les autorisations d'API WindowsDefenderATP suivantes à l'identité managée

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

Veuillez accorder les autorisations d'API SharePoint suivantes à l'identité managée

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

### Attribution des rôles et des autorisations

L'attribution d'autorisations aux identités managées ne peut actuellement pas se faire à l'aide d'Azure Portal. Nous recommandons d'utiliser pour cela des scripts MS Graph / PowerShell.

{% hint style="info" %}
`Set-RJAutomationAccount` du module PowerShell RealmJoin — voir [Connexion à Azure Automation](/fr/automatisation/connecting-azure-automation.md) — attribue déjà les **autorisations d'API** qu'il regroupe pour Microsoft Graph, Exchange Online, Defender et SharePoint lorsqu'il configure ou met à jour le compte d'automatisation.

Il ne **pas** attribue pas **les rôles Entra ID** listés ci-dessus, et son ensemble d'autorisations intégré est maintenu séparément de cette page, qui est générée à partir du [dépôt des runbooks](https://github.com/realmjoin/realmjoin-runbooks). Utilisez les scripts ci-dessous pour les rôles Entra ID, et pour ajouter toute autorisation d'API dont un runbook a besoin et que le module ne couvre pas.
{% endhint %}

Vous pouvez trouver un exemple de ce processus [ici](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter). Les fichiers JSON qu'il attend sont publiés dans le [dépôt des 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
```

L'ID d'objet de l'identité managée est affiché dans Azure Portal sur le compte d'automatisation sous Paramètres du compte > Identité.

### Autorisations de ressources Azure

Veuillez accorder au moins l'accès « Contributeur » à l'abonnement ou au groupe de ressources hébergeant le compte d'automatisation Azure pour les runbooks

Certains runbooks utiliseront un Storage Account Azure pour stocker des rapports ou des sauvegardes. Veuillez accorder au moins l'accès « Contributeur » à l'abonnement ou au groupe de ressources correspondant. La plupart des runbooks peuvent ensuite créer eux-mêmes les ressources à l'intérieur du groupe de ressources.

## Méthodes d'authentification

### Identités managées

Azure Automation prend en charge [Identités managées](https://docs.microsoft.com/en-us/azure/automation/enable-managed-identity-for-automation) (attribuée par le système) comme principal moyen de s'authentifier. Cela remplace les comptes RunAs obsolètes.

Les runbooks RealmJoin prennent actuellement en charge les comptes RunAs si aucune identité managée n'est configurée.

{% hint style="warning" %}
Si une identité managée et un compte RunAs sont configurés en même temps, les runbooks du dépôt partagé de RealmJoin préféreront automatiquement utiliser l'identité managée lorsqu'ils utilisent les versions plus récentes de notre `RealmJoin.RunbookHelper` module à partir de v0.8.0.

Les versions plus anciennes du module ne pouvaient pas exploiter pleinement les identités managées et préféraient le compte RunAs.

Veuillez vous assurer d'accorder les autorisations nécessaires à l'identité managée ou de la désactiver complètement pour n'utiliser que le compte RunAs.
{% endhint %}

### Secret client

Certains runbooks privés peuvent nécessiter une authentification de type ClientID/Secret. Il n'existe actuellement aucun runbook partagé nécessitant un ClientID et un Secret.

Si nécessaire, un ClientID et un Secret peuvent être stockés dans les informations d'identification managées nommées "realmjoin-automation-cred" dans le compte d'automatisation Azure.

Actuellement, le "realmjoin-automation-cred" dans le compte d'automatisation est créé par défaut par RJ-Wizard, mais rempli de valeurs aléatoires — il faudrait les remplacer par des valeurs correctes.


---

# 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/fr/automatisation/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.
