# Connexion à Azure Automation

## Overview

{% embed url="<https://www.youtube.com/watch?v=Ijp9XnE8UuA>" %}

Pour permettre à RealmJoin Portal de fournir [des runbooks ](/fr/automatisation/runbooks.md)pour automatiser les tâches quotidiennes, vous devez connecter un [Azure Automation](https://learn.microsoft.com/en-us/azure/automation/overview) Account. Ce Automation Account agira comme hôte pour vos runbooks et fournira les [autorisations](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md) requises pour que les runbooks fonctionnent dans votre environnement.

## Considérations

Le [Managed Identity](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) du Automation Account nécessite des [autorisations ](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md)étendues dans votre environnement, telles que la possibilité de modifier des objets de groupe ou d’utilisateur dans Entra ID ou de gérer des boîtes aux lettres dans Exchange Online. Limitez l’accès administratif à ce compte afin d’éviter toute utilisation abusive de ces privilèges.

Lorsque vous utilisez un Automation Account existant, notez que RealmJoin Portal crée, met à jour et supprime automatiquement les runbooks provenant du [référentiel en ligne partagé de runbooks](https://github.com/realmjoin/realmjoin-runbooks). Cette fonctionnalité peut ne pas être prise en charge dans un Automation Account existant. En cas de doute, nous recommandons de créer un Azure Automation Account dédié pour RealmJoin Runbooks.

## Prérequis

* Privilèges d’administrateur général
* Accès à PowerShell avec le [Az](https://learn.microsoft.com/en-us/powershell/azure/?view=azps-15.3.0) module ou [AZ CLI](https://learn.microsoft.com/en-us/cli/azure/?view=azure-cli-latest)
* autorisations de contributeur sur un abonnement Azure
* [Exigences relatives aux runbooks](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md)

## Instructions

{% stepper %}
{% step %}

#### Créer un Azure Automation Account

1. Accédez à votre [Azure Portal > Automation Accounts](https://portal.azure.com/#create/Microsoft.AutomationAccount)
2. Créer un nouvel Automation Account
3. Dans l’onglet Basics, choisissez l’abonnement, le groupe de ressources, le nom du Automation Account et la région souhaités<br>

   <figure><img src="/files/db9ed3e1cc0814e9deb4928afc5fb5da8044ff9f" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Un groupe de ressources distinct pour votre Automation Account est recommandé
{% endhint %}

4. Dans l’onglet Advanced, assurez-vous que System Assigned Managed Identity est activé

   <figure><img src="/files/1cafc831258876e2adda3ba55891315f6b8b9232" alt=""><figcaption></figcaption></figure>
5. Sélectionnez Review + Create et créez votre Automation Account
6. Accédez au groupe de ressources contenant votre Azure Automation Account
7. Dans l’onglet IAM, attribuez le rôle de contributeur à l’Azure Automation Account
   {% endstep %}

{% step %}

#### Attribuer des autorisations à Azure Automation Account

Les runbooks partagés de RealmJoin utilisent l’identité managée attribuée par le système d’Azure Automation pour interagir avec Entra ID, MS Graph API, etc.

Les autorisations de Managed Identity ne peuvent actuellement pas être accordées via Azure Portal. Utilisez Microsoft Graph ou PowerShell pour attribuer ces autorisations.

1. Téléchargez les scripts PowerShell et les fichiers JSON suivants dans le même dossier.\
   Le script attribuera l’ensemble complet des autorisations requises par RealmJoin. Les rôles et autorisations peuvent être examinés dans la [Exigences](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md) section et ajustés si nécessaire dans les fichiers JSON.

{% tabs %}
{% tab title="GrantAppPermToEntApp.ps1" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/GrantAppPermToEntApp.ps1>" %}
{% endtab %}

{% tab title="AssignAzureADRoleToEntApp.ps1" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/AssignAzureADRoleToEntApp.ps1>" %}
{% endtab %}

{% tab title="RJvNextPermissions.json" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/RealmJoinVnext/RJvNextPermissions.json>" %}
{% endtab %}

{% tab title="RJvNextRoles.json" %}
{% @github-files/github-code-block url="<https://github.com/Workplace-Foundation/approle-and-directoryrole-granter/blob/main/RealmJoinVnext/RJvNextRoles.json>" %}
{% endtab %}
{% endtabs %}

2. Notez l’ID d’objet de Managed Identity de l’Azure Automation Account dans Account Settings > Identity

   <figure><img src="/files/c299911d7bcf1e444b7dce5164d403431f1c45ff" alt=""><figcaption></figcaption></figure>
3. Ouvrez une fenêtre PowerShell.
4. Accédez au dossier contenant les fichiers téléchargés

```
cd c:\temp\myfolder
```

5. Débloquez les scripts si nécessaire\
   ![](/files/5ea129a61c5f098f0212d06f68416516fae5c1ca)
6. Attribuez les autorisations MS Graph à votre Azure Automation Account à l’aide de GrantAppPermToEntApp.ps1, en remplaçant xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx par l’ID d’objet de votre Automation Account

```
. .\GrantAppPermToEntApp.ps1 -enterpriseAppObjId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -permissionsTemplate .\RJvNextPermissions.json
```

7. Attribuez les rôles d’administrateur Entra ID à votre Azure Automation Account à l’aide de AssignAzureADRoleToEntApp.ps1 en remplaçant xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx par l’ID d’objet de votre Automation Account

```
. .\AssignAzureADRoleToEntApp.ps1 -objectId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -rolesTemplate .\RJvNextRoles.json
```

8. L’Azure Automation Account devrait maintenant disposer des autorisations correctes pour exécuter les runbooks<br>
   {% endstep %}

{% step %}

#### Configuration de RealmJoin Runbooks - Partie 1

1. Dans RealmJoin Portal, allez à '[Settings -> Runbooks](https://portal.realmjoin.com/settings/runbooks-configuration)'.<br>

   <figure><img src="/files/105709dc3c962f0f3a52f551d21c27cc03eb01ef" alt=""><figcaption></figcaption></figure>
2. Renseignez le Tenant ID, le Subscription ID et le nom du groupe de ressources appartenant à l’Azure Automation Account\
   Le Tenant ID dans la [page Entra ID Overview](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)

   <figure><img src="/files/454f0d79bb0350c0570cd9cbfd2d56d24a0faffe" alt=""><figcaption></figcaption></figure>
3. Copiez le script en rouge ci-dessous *ResourceGroup.*\
   Ce script crée un Service Principal dans Entra ID avec accès à votre Automation Account, ce qui permet à RealmJoin de gérer, exécuter et surveiller les runbooks.\
   Le script est mis à jour en fonction des valeurs fournies pour le Tenant ID, le Subscription ID et le groupe de ressources.<br>

   <figure><img src="/files/460b73177ff79617acafb4acab8d1b2d1d96c35e" alt=""><figcaption></figcaption></figure>
4. Laissez l’assistant ouvert pour le moment. Nous y reviendrons bientôt dans la partie 2.
   {% endstep %}

{% step %}

#### Accorder l’accès à Azure Automation pour RealmJoin

{% hint style="info" %}
Vous pouvez utiliser [Azure CloudShell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview), vous n’avez donc pas besoin d’installer et d’authentifier une copie locale de AZ CLI.
{% endhint %}

1. Exécutez le script copié précédemment dans PowerShell.

   <figure><img src="/files/1e32cc4ae2e27c7cb809f5d43d0e5aac382cd9b3" alt=""><figcaption></figcaption></figure>
2. Notez les valeurs de `appId` et `password`.\
   L’enregistrement d’application "RealmJoin Runbook Management" sera créé.<br>

   ![App Registrations dans Azure Portal](/files/9ecbff2338e5647d6274cbf150a1944c755ccf70)
   {% endstep %}

{% step %}

#### Configuration de RealmJoin Runbooks - Partie 2

1. Dans RealmJoin Portal, revenez à la fenêtre/l’assistant ouvert pour '[Settings -> Runbooks](https://portal.realmjoin.com/settings/runbooks-configuration)'
2. Renseignez les valeurs manquantes pour `appId` et `password` créé à l’étape précédente
3. Renseignez le nom de l’Automation Account créé [précédemment](#create-an-azure-automation-account)
4. Choisissez la branche du référentiel de runbooks partagé que vous souhaitez suivre.\
   En cas de doute, veuillez choisir `production`\
   Toutes les branches de runbooks peuvent être consultées ici : <https://github.com/realmjoin/realmjoin-runbooks>
5. Choisissez le même emplacement que votre Azure Automation Account afin de vous assurer que vos runbooks sont exécutés dans la bonne [région Azure](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview)

![Connexion de Automation Account dans RealmJoin Portal](/files/1f58d93cd40d98c0ac7412072ab17fe27e694797)

6. Appuyez sur "Save" pour lancer l’import initial des runbooks. Veuillez laisser cette fenêtre ouverte jusqu’à ce que vous voyiez le message "Sync completed".

![](/files/88cba0d56359c0c66f8f789dc436d21b1dec7126)
{% endstep %}
{% endstepper %}


---

# 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.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.
