> 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.md).

# Connexion à Azure Automation

Connecter un compte Azure Automation à RealmJoin Portal avec le module PowerShell RealmJoin, afin que RealmJoin puisse déployer, exécuter et surveiller des runbooks dans votre Tenant.

## Aperçu

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. Il sert d’hôte pour vos runbooks et fournit les [autorisations](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md) dont les runbooks ont besoin pour fonctionner dans votre environnement.

Le Automation Account est configuré avec le [module PowerShell RealmJoin](/fr/deploiement/onboarding-realmjoin-portal/advanced-setup.md). Le Portal génère pour vous une commande prête à copier — il n’y a aucune inscription d’application à créer ni secret client à gérer.

{% hint style="info" %}
Les runbooks sont-ils déjà configurés pour votre Tenant avec l’ancien **RealmJoin Runbook Management** app registration ? Consultez alors [Passage à l’application gérée RealmJoin](/fr/automatisation/connecting-azure-automation/managed-app-migration.md). Elle conserve votre Automation Account et vos runbooks, et supprime le secret client propre au Tenant.
{% endhint %}

## Points à considérer

Le Automation Account [Identité gérée](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) nécessite des [autorisations](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md) dans votre environnement, comme 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 tout usage abusif 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 [dépôt en ligne partagé des 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é aux runbooks RealmJoin — ce que la commande de configuration fait pour vous.

## Ce que le programme d’installation déploie

L’exécution de la commande de configuration crée :

* Le **RealmJoin Azure Resources** principal de service dans votre tenant Entra ID (s’il n’existe pas encore)
* Un **Automation Account** avec une identité gérée attribuée par le système, dans la région du groupe de ressources — ou votre Automation Account existant, si vous en indiquez un
* **Contributor** pour le principal de service RealmJoin, limité à cet Automation Account, afin que RealmJoin puisse synchroniser et démarrer les runbooks
* Le **autorisations d’application** pour l’identité gérée que le module regroupe — Microsoft Graph, Office 365 Exchange Online, Windows Defender ATP et SharePoint Online

RealmJoin s’authentifie auprès d’Azure avec sa propre application multitenant. Aucune inscription d’application ni secret client ne sont créés dans votre Tenant, et RealmJoin ne reçoit aucune autorisation en dehors de cet Automation Account.

{% hint style="warning" %}
De l’identité gérée **rôles de répertoire Entra ID** — Intune Administrator, Exchange Administrator, User Administrator, etc. — ne sont **pas** attribués par la commande de configuration. Ils doivent toujours être accordés séparément, voir [Attribution des rôles et des autorisations](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md#granting-roles-and-permissions). Sans eux, une grande partie des runbooks partagés ne fonctionnera pas.
{% endhint %}

## Prérequis

### Dans RealmJoin Portal

* Un rôle qui donne accès à la zone Settings (`CanReadSettingsDetails`, voir [Autorisations disponibles](/fr/administration-et-parametres/permission/custom-roles/available-permissions.md)). La page de paramètres génère la commande de configuration, y compris un jeton d’intégration à durée de vie courte.

### Dans Azure

* Un abonnement Azure et un **groupe de ressources existant** dans lequel déployer — le module ne crée pas le groupe de ressources. Un groupe de ressources séparé pour l’Automation Account est recommandé.
* Facultativement, un Automation Account existant. Si vous n’en indiquez pas un, un compte est créé pour vous.

### Sur la machine exécutant PowerShell

* **PowerShell 5.1** ou version ultérieure (Windows PowerShell ou PowerShell 7)
* Accès à [PowerShell Gallery](https://www.powershellgallery.com/packages/RealmJoin) pour installer le module RealmJoin
* Le `Az.Accounts`, `Az.Resources` et `Az.Automation` modules — le module RealmJoin les installe automatiquement dans les versions épinglées, pour l’utilisateur actuel

### Autorisations du compte avec lequel vous vous connectez

* **Microsoft Entra ID :** autorisation de créer des principaux de service **et d’accorder des autorisations d’application** — la configuration attribue les rôles d’application Graph, Exchange, Defender et SharePoint à l’identité gérée. En pratique, cela signifie *Global Administrator* ou *Privileged Role Administrator*.
* **Abonnement Azure :** autorisation de déployer dans le groupe de ressources **et** pour y créer des attributions de rôles — par exemple *Owner*, ou *Contributor* combiné avec *User Access Administrator* / *Role Based Access Control Administrator*.
* La connexion s’effectue via `Connect-AzAccount`, qui utilise l’ **Azure PowerShell** application officielle. Les tenants qui restreignent le consentement des utilisateurs devront peut-être d’abord accorder le consentement administrateur à cette application.

{% hint style="warning" %}
Exécutez la commande dans une **fraîchement ouverte, locale** session PowerShell et évitez **Azure Cloud Shell**. Le module RealmJoin nécessite les versions exactes des `Az.*` modules. Si une version différente est déjà chargée dans la session — ce qui est généralement le cas dans Cloud Shell — le module s’arrête avec un conflit de version qui ne peut être résolu qu’en ouvrant une nouvelle session.
{% endhint %}

## Configuration

{% stepper %}
{% step %}

#### Préparer le groupe de ressources

Dans Azure Portal, créez ou sélectionnez le groupe de ressources qui doit contenir l’Automation Account. Notez son nom et l’ID de l’abonnement auquel il appartient.

Si vous souhaitez utiliser un **existant** Automation Account, notez également son nom.
{% endstep %}

{% step %}

#### Copiez la commande depuis RealmJoin Portal

Dans RealmJoin Portal, allez à **Settings → Runbooks** (<https://portal.realmjoin.com/settings/runbooks-configuration>).

La page indique que la configuration des runbooks est gérée via le module PowerShell RealmJoin et affiche un bloc de commande. Utilisez le **Copier** bouton pour le copier.

```powershell
$latest = [version](Find-Module RealmJoin -Repository PSGallery -ErrorAction Stop).Version
if (-not (Get-Module -ListAvailable RealmJoin | Where-Object Version -ge $latest)) {
    Install-Module RealmJoin -Force -AllowClobber -ErrorAction Stop
}
Import-Module RealmJoin -Force
Set-RJAutomationAccount -Token "<Token>" 6>&1
```

{% hint style="info" %}
**À propos `6>&1`:** ces commandes signalent leur progression sur le flux Information de PowerShell. La `6>&1` redirection affiche cette sortie dans la console — sans elle, vous ne verrez aucun message de progression.
{% endhint %}
{% endstep %}

{% step %}

#### Ajoutez les paramètres cibles

`Set-RJAutomationAccount` doit savoir où déployer. Complétez la dernière ligne avant de l’exécuter :

```powershell
Set-RJAutomationAccount -ResourceGroupName "rg-realmjoin" -SubscriptionId "<SubscriptionId>" -Token "<Token>" 6>&1
```

* `-ResourceGroupName` est requis. Si vous l’omettez, PowerShell vous le demandera.
* `-SubscriptionId` est facultatif — sans lui, l’abonnement de votre contexte Azure actuel est utilisé, et il vous est demandé d’en choisir un si plusieurs sont disponibles.
* `-AutomationAccountName` est facultatif. Indiquez-le pour utiliser un **existant** Automation Account ; sinon, un nouveau est créé avec un nom généré.

{% hint style="warning" %}
En pointant la commande vers un Automation Account existant, on impose également les paramètres que RealmJoin attend : une identité gérée attribuée par le système, le SKU Basic et l’accès réseau public. Vérifiez que cela correspond à vos besoins avant de réutiliser un compte.
{% endhint %}
{% endstep %}

{% step %}

#### Exécutez la commande

Collez le bloc dans une nouvelle session PowerShell et exécutez-le. Le jeton est valable pendant environ une heure — s’il a expiré, rechargez la page de paramètres et recopiez la commande.

Vous serez invité à vous connecter avec `Connect-AzAccount`. Si votre compte a accès à plusieurs tenants ou abonnements, le module vous demande de choisir.

Le déploiement s’effectue en trois étapes — principal de service, Automation Account, autorisations — et signale chaque ressource au fur et à mesure de sa création. Une exécution prend généralement quelques minutes.

{% hint style="info" %}
Vous voulez voir d’abord ce qui se passerait ? Ajoutez `-WhatIf` pour un aperçu What-If d’Azure Resource Manager. Notez que la connexion et l’installation des `Az` modules ont quand même lieu, car l’aperçu a besoin des deux.
{% endhint %}
{% endstep %}

{% step %}

#### Attribuer les rôles Entra ID à l’identité gérée

La configuration accorde à l’identité gérée ses autorisations d’application, mais pas ses rôles de répertoire Entra ID. Attribuez-les maintenant — voir [Attribution des rôles et des autorisations](/fr/automatisation/connecting-azure-automation/azure-ad-roles-and-permissions.md#granting-roles-and-permissions) pour la liste actuelle et un script qui le fait.

L’ID d’objet de l’identité gérée est affiché dans Azure Portal sur l’Automation Account, sous Account Settings > Identity.

<figure><img src="https://1100180853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2F4ecZSM3NW9PWJJlaNmR4%2Fimage.png?alt=media&amp;token=e5d5b56b-50f3-4f35-a41b-7cb4230dd3f3" alt=""><figcaption><p>Identité gérée de l’Automation Account</p></figcaption></figure>
{% endstep %}

{% step %}

#### Vérifiez dans le Portal et lancez la première synchronisation

Revenez à **Settings → Runbooks** et sélectionnez **Actualiser**. RealmJoin prend en compte la nouvelle configuration et lance l’import initial des runbooks. Laissez la page ouverte jusqu’à la fin de la synchronisation.

L’abonnement, le groupe de ressources, le nom de l’Automation Account et l’emplacement sont désormais affichés en lecture seule sous **Connexion Azure** — ils sont désormais maintenus par le module PowerShell.
{% endstep %}
{% endstepper %}

## Paramètres que vous gérez dans le Portal

Deux paramètres restent modifiables dans **Settings → Runbooks** après la configuration :

* **Branch** — la branche du [dépôt partagé de runbooks](https://github.com/realmjoin/realmjoin-runbooks) que vous souhaitez suivre. La configuration le règle sur `production`, ce qui est le bon choix sauf raison de s’en écarter.
* **Activer la synchronisation du Hybrid Runbook Worker** et le groupe de workers à utiliser, voir [Hybrid Runbook Worker](/fr/automatisation/runbooks/hybrid-runbook-worker.md). Le groupe doit être enregistré dans l’Automation Account avant de pouvoir être sélectionné ici.

L’enregistrement de l’un ou l’autre déclenche une synchronisation des runbooks.

Si vous rencontrez plus tard des problèmes de configuration ou d’autorisations, le **Afficher la cmdlet** bouton sous Connexion Azure fait réapparaître la commande — la relancer est sans danger et n’applique que ce qui manque.

## Configuration héritée (inscription d’application par Tenant)

{% hint style="warning" %}
La configuration ci-dessous crée une **RealmJoin Runbook Management** inscription d’application avec un secret client dans votre Tenant. Elle est documentée uniquement à titre de référence pour les tenants configurés de cette manière dans le passé. Ne l’utilisez pas pour de nouvelles configurations — suivez la [Configuration](#setup) ci-dessus, ou [basculez une configuration existante vers l’application gérée](/fr/automatisation/connecting-azure-automation/managed-app-migration.md).
{% endhint %}

<details>

<summary>Afficher la configuration héritée</summary>

Dans ce scénario, l’Automation Account a été créé manuellement dans Azure Portal, ses autorisations ont été attribuées avec deux scripts externes, et RealmJoin s’authentifiait avec une inscription d’application et un secret client propres à chaque Tenant.

**Partie 1 — Créer un Azure Automation Account**

1. Accédez à votre [Azure Portal > Automation Accounts](https://portal.azure.com/#create/Microsoft.AutomationAccount) et créez un nouvel Automation Account.
2. Dans l’onglet Basics, choisissez votre Subscription, Resource Group, Automation Account Name et Region.
3. Dans l’onglet Advanced, assurez-vous que System Assigned Managed Identity est activé.
4. Sélectionnez Review + Create et créez votre Automation Account.
5. Accédez au groupe de ressources contenant l’Automation Account et, dans l’onglet IAM, attribuez à l’Automation Account le rôle Contributor.

![Création de l’Automation Account](https://1100180853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FqjBLc2zH3XCCqfAViEsU%2Fimage.png?alt=media\&token=257816e0-eb8a-478c-973f-fb288324d8c8)

![Activation de l’identité gérée attribuée par le système](https://1100180853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FM9N3OxNzrzQXFxSaKIpP%2Fimage.png?alt=media\&token=1e7c4d5b-d604-415b-89e0-4816a7f04a26)

**Partie 2 — Attribuer des autorisations à l’Automation Account**

Les autorisations de l’identité gérée ne peuvent pas être accordées via Azure Portal. Les [approle-and-directoryrole-granter](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter) scripts attribuent à la fois les autorisations d’application et les rôles Entra ID à partir des fichiers JSON publiés dans le [dépôt de 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
```

**Partie 3 — Créer le principal de service pour RealmJoin**

Dans le Portal, sous Settings > Runbooks, le Tenant ID, le Subscription ID et le Resource Group ont d’abord été saisis ; la page affichait ensuite un extrait Azure CLI à exécuter, qui créait la **RealmJoin Runbook Management** inscription d’application avec des droits Contributor sur le groupe de ressources :

```
az provider register --namespace Microsoft.Automation
az ad sp create-for-rbac -n "RealmJoin Runbook Management" --role contributor --scopes /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroup>
```

**Partie 4 — Terminer l’assistant**

De retour dans le Portal, le `appId` et `password` de cette sortie ont été saisis avec le nom de l’Automation Account, la branche du dépôt partagé de runbooks (`production`) et l’emplacement de l’Automation Account. L’enregistrement a lancé l’import initial des runbooks.

![Connexion de l’Automation Account dans RealmJoin Portal](https://1100180853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FA0X3M2c9d13pxVt87Pf8%2Fimage.png?alt=media\&token=8e2f2b18-c3b1-4704-8cc8-eb4d43297dd1)

</details>


---

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