> 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 du [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.0                              |
| `Az.Compute`                     | 5.1.1                              |
| `Az.DesktopVirtualization`       | 5.4.1                              |
| `Az.ManagementPartner`           | 0.7.5                              |
| `Az.Resources`                   | 9.0.1                              |
| `Az.Storage`                     | 9.6.0                              |
| `ExchangeOnlineManagement`       | 3.9.2                              |
| `Microsoft.Graph.Authentication` | 2.38.0                             |
| `MicrosoftTeams`                 | 7.6.0                              |
| `RealmJoin.RunbookHelper`        | 0.8.7                              |

RealmJoin Portal importera et installera automatiquement ces modules s’ils sont référencés depuis l’intérieur d’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 du [dépôt public](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Les runbooks partagés RealmJoin utilisent 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 ne sont testés qu’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 d’appareils cloud
* Administrateur Exchange
* Administrateur Intune
* Administrateur Teams
* Administrateur des utilisateurs

### Autorisations de l’API Graph

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

### Autres autorisations API d’application

Veuillez accorder les autorisations API suivantes d’Office 365 Exchange Online à 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 à l’aide d’Azure Portal. Nous recommandons d’utiliser pour cela un script MS Graph / PowerShell.

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

### Autorisations des ressources Azure

Veuillez donner au moins l’accès « Contributeur » à l’abonnement ou au groupe de ressources qui héberge le compte Azure Automation pour les runbooks

Certains runbooks utiliseront un Azure Storage Account pour stocker des rapports ou des sauvegardes. Veuillez donner au moins l’accès « Contributeur » à l’abonnement ou au groupe de ressources correspondant. La plupart des runbooks peuvent alors 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 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 des 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 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 afin d’utiliser uniquement 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, le « realmjoin-automation-cred » dans le compte d’automatisation est créé par défaut par le RJ-Wizard, mais rempli avec des valeurs aléatoires - elles devraient être remplacées par les 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.
