# Prérequis

## Modules PowerShell

{% hint style="info" %}
La section PowerShell Modules 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) utilisent/attendent les modules Windows PowerShell suivants :

| Module                           | Version minimale dans les runbooks |
| -------------------------------- | ---------------------------------- |
| `Az.Accounts`                    | 5.3.4                              |
| `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.35.1                             |
| `MicrosoftTeams`                 | 7.6.0                              |
| `RealmJoin.RunbookHelper`        | 0.8.5                              |

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 Permissions est automatiquement mise à jour en fonction du [dépôt public](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Les runbooks partagés de RealmJoin utilisent l’Azure Automation's [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’application
* Administrateur des appareils cloud
* Administrateur Exchange
* Administrateur Teams
* Administrateur d’utilisateurs

### Autorisations de l’API Graph

Veuillez accorder les autorisations de l’API Graph suivantes à l’identité managée

* `Application.Read.All`
* `Application.ReadWrite.OwnedBy`
* `AuditLog.Read.All`
* `BitlockerKey.Read.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.Read.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`
* `TeamSettings.ReadWrite.All`
* `User.ReadWrite.All`
* `UserAuthenticationMethod.ReadWrite.All`
* `WindowsUpdates.ReadWrite.All`

### Autres autorisations d’API d’application

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

* `Exchange.ManageAsApp`

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

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

Veuillez accorder les autorisations de l’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 des autorisations aux identités managées ne peut actuellement pas être effectuée à l’aide de Azure Portal. Nous recommandons d’utiliser MS Graph / des scripts 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 « Contributor » à l’abonnement ou au groupe de ressources hébergeant le compte Azure Automation pour les runbooks

Certains runbooks utiliseront un Storage Account Azure pour stocker des rapports ou des sauvegardes. Veuillez accorder au moins l’accès « Contributor » à l’abonnement ou au groupe de ressources correspondant. La plupart des runbooks peuvent 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 moyen principal d’authentification. Cela remplace les RunAs Accounts obsolètes.

Les RealmJoin Runbooks prennent actuellement en charge les RunAs Accounts si aucune identité managée n’est configurée.

{% hint style="warning" %}
Si une identité managée et un RunAs Account 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 v0.8.0.

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

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 RunAs Account.
{% 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 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 - il faudrait les remplacer par les valeurs correctes.


---

# Agent Instructions: 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:

```
GET https://docs.realmjoin.com/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
