> 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

## Modules PowerShell

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

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

| Module                           | Version minimale dans les 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                              |

RealmJoin Portal 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 Autorisations est automatiquement mise à jour en fonction de [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 pour [l'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 des 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’applications
* Administrateur des appareils cloud
* Administrateur Exchange
* Administrateur Intune
* Administrateur Teams
* Administrateur des utilisateurs

### Autorisations de l'API Graph

Veuillez accorder les autorisations suivantes de l'API Graph à 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`
* `Team.Create`
* `TeamMember.ReadWrite.All`
* `TeamSettings.ReadWrite.All`
* `User.ReadWrite.All`
* `UserAuthenticationMethod.ReadWrite.All`
* `WindowsUpdates.ReadWrite.All`

### Autres autorisations d'API d'application

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

* `Exchange.ManageAsApp`

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

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

Veuillez accorder les autorisations API suivantes de SharePoint à 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 être effectuée via Azure Portal. Nous recommandons d'utiliser des scripts MS Graph / PowerShell pour cela.

Vous pouvez trouver un exemple de ce processus [ici](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter).

### Autorisations des ressources Azure

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

Certains runbooks utiliseront un Azure Storage Account 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 pourront alors créer eux-mêmes les ressources dans le 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 d'authentification. Cela remplace les comptes RunAs obsolètes.

Les RealmJoin Runbooks 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 privilégieront automatiquement l'utilisation de l'identité managée lors de l'utilisation de versions plus récentes de notre `RealmJoin.RunbookHelper` Module à partir de la version v0.8.0.

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

Veuillez vous assurer d'accorder les autorisations nécessaires à l'identité managée ou de la désactiver complètement afin de 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 ClientID et 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 Azure Automation.

Actuellement, « realmjoin-automation-cred » dans le compte d'automatisation est créé par RJ-Wizard par défaut, mais renseigné avec des valeurs aléatoires - il faudrait le remplir avec 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 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/fr/automatisation/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.
