# Simulation d’un environnement de Runbook

## Vue d’ensemble

### Créer une inscription d'application

Nous créons une inscription d'application Azure pour simuler la connexion de type application à Microsoft Entra.&#x20;

<figure><img src="https://1100180853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FAELajVV85Wm6a1Mwtmew%2Fimage.png?alt=media&#x26;token=15d94203-906f-4d0f-8c7b-77e8e032201b" alt=""><figcaption><p>Créer une inscription d'application</p></figcaption></figure>

### Accorder des autorisations

Nous accorderons les mêmes autorisations que celles dont disposerait l’identité managée. Nous utiliserons le même [AppRoleGranter Toolkit](https://github.com/hcoberdalhoff/approle-and-directoryrole-granter) à cette fin.

Remplacer `{AppRegObjectId}` par l’ID d’objet de votre inscription d’application.

```powershell
git clone https://github.com/hcoberdalhoff/approle-and-directoryrole-granter.git
cd "approle-and-directoryrole-granter\RealmJoinVnext"
. .\AllInOne.ps1 -appRegObjectId "{AppRegObjectId}"
```

### Créer et téléverser un certificat de développement

Voir [ici ](https://github.com/realmjoin/RealmJoin.RunbookHelper/blob/main/DevCertificates.ps1)pour un exemple de création d’un RunbookHelper Dev-Certificate. Remplacez `{Variables}` en conséquence.&#x20;

Le `{AppID}` désigne l’application des inscriptions d’application / l’ID client.

Si vous n’avez pas d’ID d’abonnement spécifique, utilisez simplement un abonnement par défaut de votre tenant. (Dans la plupart des cas, cela n’a pas d’importance.)

```powershell
New-SelfSignedCertificate -Subject 'CN=AzureRunAsConnection, OU={AppID}, DC={TenantID}, O={SubscriptionID}' `
    -CertStoreLocation "cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(10) -KeySpec Signature | `
    Export-Certificate -FilePath "AzureRunAsConnection.cer"
```

Vous obtiendrez un fichier `AzureRunAsConnection.cer` que vous téléversez dans les secrets de l’inscription d’application.

{% hint style="info" %}
Si vous souhaitez servir plusieurs applications / environnements, vous pouvez remplacer le "AzureRunAsConnection" par défaut dans`CN=AzureRunAsConnection` par un nom personnalisé lors de la création du certificat pour cet environnement.

Vous pouvez ensuite sélectionner quel environnement/certificat (par exemple "OtherEnv") utiliser pour vous connecter à l’aide de `Connect-RjRbGraph -AutomationConnectionName "OtherEnv"`

De cette façon, vous pouvez accéder à plusieurs environnements depuis la même machine.
{% endhint %}

<figure><img src="https://1100180853-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2Fo2vVY6YO0gimSWg4XOfV%2Fimage.png?alt=media&#x26;token=958b8b21-c0fa-464e-aba9-954c008eea8c" alt=""><figcaption><p>Téléversement du certificat</p></figcaption></figure>

### Utilisation

Utilisez simplement `Connect-RjRbGraph` pour vous authentifier auprès de l’application.&#x20;

Veillez à supprimer les anciens certificats de développement à l’aide de mmc.exe de votre ensemble de certificats personnels, s’ils sont présents, afin d’éviter les conflits/échecs de connexion.
