# Simulation einer Runbook-Umgebung

## Übersicht

### Eine Anwendungsregistrierung erstellen

Wir erstellen eine Azure-Anwendungsregistrierung, um die anwendungsbasierte Anmeldung bei Microsoft Entra zu simulieren.&#x20;

<figure><img src="https://2298793958-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>Eine App-Registrierung erstellen</p></figcaption></figure>

### Berechtigungen gewähren

Wir gewähren dieselben Berechtigungen, die auch die verwaltete Identität hätte. Dafür verwenden wir das gleiche [AppRoleGranter Toolkit](https://github.com/hcoberdalhoff/approle-and-directoryrole-granter) .

Ersetzen Sie `{AppRegObjectId}` durch die Objekt-ID Ihrer Anwendungsregistrierung.

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

### Ein Dev-Zertifikat erstellen und hochladen

Siehe [hier ](https://github.com/realmjoin/RealmJoin.RunbookHelper/blob/main/DevCertificates.ps1)für ein Beispiel, wie man ein RunbookHelper Dev-Zertifikat erstellt. Ersetzen Sie `{Variables}` entsprechend.&#x20;

Die `{AppID}` bezieht sich auf die App-/Client-ID der Anwendungsregistrierung.

Wenn Sie keine bestimmte Abonnement-ID haben, verwenden Sie einfach ein Standardabonnement aus Ihrem Tenant. (In den meisten Fällen ist das egal.)

```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"
```

Sie erhalten eine Datei `AzureRunAsConnection.cer` die Sie in die Geheimnisse der Anwendungsregistrierung hochladen.

{% hint style="info" %}
Wenn Sie mehrere Apps / Umgebungen bedienen möchten, können Sie den Standardwert "AzureRunAsConnection" in`CN=AzureRunAsConnection` beim Erstellen des Zertifikats für diese Umgebung durch einen benutzerdefinierten Namen ersetzen.

Sie können dann auswählen, mit welcher Umgebung / welchem Zertifikat (z. B. "OtherEnv") Sie sich verbinden möchten, indem Sie `Connect-RjRbGraph -AutomationConnectionName "OtherEnv"`

Auf diese Weise können Sie von derselben Maschine aus auf mehrere Umgebungen zugreifen.
{% endhint %}

<figure><img src="https://2298793958-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>Zertifikat hochladen</p></figcaption></figure>

### Verwendung

Verwenden Sie einfach `Connect-RjRbGraph` zur Authentifizierung bei der App.&#x20;

Stellen Sie sicher, dass Sie ältere Dev-Zertifikate mit mmc.exe aus Ihrem Satz persönlicher Zertifikate entfernen, falls vorhanden, um Konflikte bzw. Anmeldefehler zu vermeiden.
