> 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

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

## Aperçu

Pour permettre au Portail RealmJoin de fournir [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) Compte. Il sert d’hôte à 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 Compte Automation est configuré avec le [module PowerShell RealmJoin](/fr/deploiement/onboarding-realmjoin-portal/advanced-setup.md). Le Portail 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** inscription d’application ? Consultez alors [Passage à l’application gérée RealmJoin](/fr/automatisation/connecting-azure-automation/managed-app-migration.md). Elle conserve votre Compte Automation et vos runbooks, et supprime le secret client par Tenant.
{% endhint %}

## Considérations

L’ [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 capacité de modifier des objets groupe ou 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 Compte Automation existant, notez que le Portail RealmJoin crée, met à jour et supprime automatiquement les runbooks provenant du [dépôt en ligne partagé de runbooks](https://github.com/realmjoin/realmjoin-runbooks). Cette fonctionnalité peut ne pas être prise en charge dans un Compte Automation existant. En cas de doute, nous recommandons de créer un Compte Azure Automation dédié pour les runbooks RealmJoin — ce que la commande de configuration fait pour vous.

## Ce que la configuration déploie

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

* Le **RealmJoin Azure Resources** Service Principal dans votre tenant Entra ID (s’il n’existe pas encore)
* Un **Compte Automation** avec une identité gérée attribuée par le système, dans la région du groupe de ressources — ou votre Compte Automation existant, si vous en spécifiez un
* **Contributeur** pour le Service Principal RealmJoin, limité à ce Compte Automation, afin que RealmJoin puisse synchroniser et démarrer les runbooks
* Le **autorisations d’application** pour l’identité gérée fournie par le module — 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 aucun secret client ne sont créés dans votre tenant, et RealmJoin ne reçoit aucune autorisation en dehors de ce Compte Automation.

{% hint style="warning" %}
De l’identité gérée **rôles de répertoire Entra ID** — Administrateur Intune, Administrateur Exchange, Administrateur utilisateur, 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 le Portail RealmJoin

* Un rôle qui accorde l’accès à la zone Paramètres (`CanReadSettingsDetails`, voir [Autorisations disponibles](/fr/administration-et-parametres/permission/custom-roles/available-permissions.md)). La page des paramètres génère la commande de configuration, y compris un jeton d’intégration à durée de validité 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 le Compte Automation est recommandé.
* Facultativement, un Compte Automation existant. Si vous n’en spécifiez pas, un compte est créé pour vous.

### Sur la machine qui exécute PowerShell

* **PowerShell 5.1** ou version ultérieure (Windows PowerShell ou PowerShell 7)
* Accès à la [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 Service Principals **et d’accorder des autorisations d’application** — la configuration attribue des rôles d’application Microsoft Graph, Exchange, Defender et SharePoint à l’identité gérée. En pratique, cela signifie *Administrateur général* ou *Administrateur des rôles privilégiés*.
* **Abonnement Azure :** autorisation de déployer dans le groupe de ressources **et** pour y créer des attributions de rôles — par exemple *Propriétaire*, ou *Contributeur* combiné avec *Administrateur de l’accès utilisateur* / *Administrateur du contrôle d’accès en fonction du rôle*.
* La connexion se fait via `Connect-AzAccount`, qui utilise l’ **Azure PowerShell** application propriétaire. Les tenants qui restreignent le consentement utilisateur peuvent devoir accorder d’abord le consentement administrateur à cette application.

{% hint style="warning" %}
Exécutez la commande dans une **session locale fraîchement ouverte** 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 versions qui ne peut être résolu qu’en ouvrant une nouvelle session.
{% endhint %}

## Configuration

{% stepper %}
{% step %}

#### Préparez le groupe de ressources

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

Si vous souhaitez utiliser un **existant** Compte Automation, notez aussi son nom.
{% endstep %}

{% step %}

#### Copiez la commande depuis le Portail RealmJoin

Dans le Portail RealmJoin, accédez à **Paramètres → 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 de `6>&1`:** ces commandes signalent leur progression sur le flux d’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 obligatoire. 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. Passez-le pour définir le nom d’un nouveau Compte Automation ou pour utiliser un **existant** Compte ; sinon, un nouveau compte est créé avec un nom généré.

{% hint style="warning" %}
Cibler la commande vers un Compte Automation existant impose également les paramètres attendus par RealmJoin : 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 environ une heure — s’il a expiré, rechargez la page des paramètres et copiez de nouveau la commande.

Il vous sera demandé de vous connecter avec `Connect-AzAccount`. Si votre compte a accès à plusieurs tenants ou abonnements, le module vous demande d’en choisir un.

Le déploiement s’effectue en trois étapes — Service Principal, Compte Automation, autorisations — et signale chaque ressource au fur et à mesure de sa création. Une exécution unique 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 %}

{% hint style="info" %}
**Déconnexion ensuite :** la connexion Azure reste active après la fin de la commande. Une fois terminé, exécutez `Disconnect-AzAccount` pour vous déconnecter de la session existante.
{% endhint %}
{% endstep %}

{% step %}

#### Attribuez 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 le Compte Automation, sous Paramètres du compte > Identité.

<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 du Compte Automation</p></figcaption></figure>
{% endstep %}

{% step %}

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

Revenez à **Paramètres → Runbooks** et sélectionnez **Actualiser**. RealmJoin prend en compte la nouvelle configuration et lance l’import initial des runbooks. Laissez la page ouverte jusqu’à ce que la synchronisation soit terminée.

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

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

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

* **Branche** — la branche du [dépôt partagé de runbooks](https://github.com/realmjoin/realmjoin-runbooks) que vous souhaitez suivre. La configuration le définit sur `production`, ce qui est le bon choix sauf si vous avez une raison de faire autrement.
* **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 le Compte Automation 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 le cmdlet** bouton sous Connexion Azure fait réapparaître la commande — la réexécuter 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 ainsi par 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 mode, le Compte Automation a été créé manuellement dans Azure Portal, ses autorisations ont été attribuées à l’aide de deux scripts externes, et RealmJoin s’est authentifié à l’aide d’une inscription d’application par Tenant et d’un secret client.

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

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

![Création du Compte Automation](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 au Compte Automation**

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 Service Principal pour RealmJoin**

Dans le Portail, sous Paramètres > 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 de Contributeur 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 Portail, le `appId` et `password` issus de cette sortie ont été saisis avec le nom du Compte Automation, la branche du dépôt partagé de runbooks (`production`) et l’emplacement du Compte Automation. L’enregistrement a lancé l’import initial des runbooks.

![Connexion du Compte Automation dans le Portail RealmJoin](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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/fr/automatisation/connecting-azure-automation.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
