# Verbindung mit Azure Automation

## Übersicht

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

Um dem RealmJoin Portal die Bereitstellung zu ermöglichen [Runbooks ](/de/automatisierung/runbooks.md)für die Automatisierung täglicher Aufgaben, müssen Sie ein [Azure Automation](https://learn.microsoft.com/en-us/azure/automation/overview) Konto verbinden. Dieses Automation Account dient als Host für Ihre Runbooks und stellt die [Berechtigungen](/de/automatisierung/connecting-azure-automation/azure-ad-roles-and-permissions.md) bereit, die erforderlich sind, damit die Runbooks in Ihrer Umgebung funktionieren.

## Überlegungen

Die [Managed Identity](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) des Automation Account erfordert umfangreiche [Berechtigungen ](/de/automatisierung/connecting-azure-automation/azure-ad-roles-and-permissions.md)in Ihrer Umgebung, wie z. B. die Möglichkeit, Gruppen- oder Benutzerobjekte in Entra ID zu ändern oder Postfächer in Exchange Online zu verwalten. Beschränken Sie den administrativen Zugriff auf dieses Konto, um den Missbrauch dieser Berechtigungen zu verhindern.

Wenn Sie ein vorhandenes Automation Account verwenden, beachten Sie, dass das RealmJoin Portal Runbooks aus dem [gemeinsamen Online-Repository für Runbooks](https://github.com/realmjoin/realmjoin-runbooks)automatisch erstellt, aktualisiert und entfernt. Diese Funktion wird in einem vorhandenen Automation Account möglicherweise nicht unterstützt. Wenn Sie unsicher sind, empfehlen wir, ein dediziertes Azure Automation Account für RealmJoin Runbooks zu erstellen.

## Voraussetzungen

* Global-Administrator-Berechtigungen
* Zugriff auf PowerShell mit dem [Az](https://learn.microsoft.com/en-us/powershell/azure/?view=azps-15.3.0) Modul oder [AZ CLI](https://learn.microsoft.com/en-us/cli/azure/?view=azure-cli-latest)
* Mitwirkendenberechtigungen für ein Azure-Abonnement
* [Runbook-Anforderungen](/de/automatisierung/connecting-azure-automation/azure-ad-roles-and-permissions.md)

## Anweisungen

{% stepper %}
{% step %}

#### Ein Azure Automation Account erstellen

1. Navigieren Sie zu Ihrem [Azure Portal > Automation Accounts](https://portal.azure.com/#create/Microsoft.AutomationAccount)
2. Erstellen Sie ein neues Automation Account
3. Wählen Sie auf der Registerkarte Grundlagen Ihr gewünschtes Abonnement, Ihre Ressourcengruppe, den Automation Account-Namen und die Region aus<br>

   <figure><img src="/files/7fa615ec48d593e66c3f62a7e34fe22b1c30a234" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Eine separate Ressourcengruppe für Ihr Automation Account wird empfohlen
{% endhint %}

4. Stellen Sie auf der Registerkarte Erweitert sicher, dass die systemseitig zugewiesene Managed Identity aktiviert ist

   <figure><img src="/files/787d9da81f349e7ba424f7683cb9d18e758221de" alt=""><figcaption></figcaption></figure>
5. Wählen Sie Überprüfen + Erstellen und erstellen Sie Ihr Automation Account
6. Navigieren Sie zur Ressourcengruppe, die Ihr Azure Automation Account enthält
7. Weisen Sie auf der Registerkarte IAM das Azure Automation Account als Mitwirkender zu
   {% endstep %}

{% step %}

#### Berechtigungen für das Azure Automation Account zuweisen

Die gemeinsamen Runbooks von RealmJoin verwenden die systemseitig zugewiesene verwaltete Identität von Azure Automation, um mit Entra ID, der MS Graph API usw. zu interagieren.

Berechtigungen für Managed Identity können derzeit nicht über das Azure Portal vergeben werden. Verwenden Sie Microsoft Graph oder PowerShell, um diese Berechtigungen zuzuweisen.

1. Laden Sie die folgenden PowerShell-Skripte und JSON-Dateien in denselben Ordner herunter.\
   Das Skript weist den von RealmJoin erforderlichen vollständigen Berechtigungssatz zu. Rollen und Berechtigungen können im [Anforderungen](/de/automatisierung/connecting-azure-automation/azure-ad-roles-and-permissions.md) Abschnitt überprüft und bei Bedarf in den JSON-Dateien angepasst werden.

{% 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. Notieren Sie sich die Objekt-ID der Managed Identity des Azure Automation Account in Kontoeinstellungen > Identität

   <figure><img src="/files/ab0d3b269251e12898067bec76f364f639a2c1a6" alt=""><figcaption></figcaption></figure>
3. Öffnen Sie ein PowerShell-Fenster.
4. Navigieren Sie zu dem Ordner, der die heruntergeladenen Dateien enthält

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

5. Skripte bei Bedarf entsperren\
   ![](/files/245b06e9e6887d737fc700202ae20fddf978c597)
6. Weisen Sie Ihrem Azure Automation Account MS Graph-Berechtigungen zu, indem Sie GrantAppPermToEntApp.ps1 verwenden, und ersetzen Sie xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx durch die Objekt-ID Ihres Automation Account

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

7. Weisen Sie Ihrem Azure Automation Account Entra ID-Administratorrollen zu, indem Sie AssignAzureADRoleToEntApp.ps1 verwenden, und ersetzen Sie xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx durch die Objekt-ID Ihres Automation Account

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

8. Das Azure Automation Account sollte nun über die richtigen Berechtigungen verfügen, um Runbooks auszuführen<br>
   {% endstep %}

{% step %}

#### RealmJoin Runbook Configuration - Teil 1

1. Gehen Sie im RealmJoin Portal zu '[Einstellungen -> Runbooks](https://portal.realmjoin.com/settings/runbooks-configuration)'.<br>

   <figure><img src="/files/ef04ffce450727e2e89532e959262084f8a56b7a" alt=""><figcaption></figcaption></figure>
2. Füllen Sie die Tenant ID, die Subscription ID und den Namen der Ressourcengruppe aus, die zum Azure Automation Account gehören\
   Die Tenant ID auf der [Entra ID-Übersichtsseite](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)

   <figure><img src="/files/3e1d9a481998f93001db89a7425fcea92270e012" alt=""><figcaption></figcaption></figure>
3. Kopieren Sie das rote Skript darunter *ResourceGroup.*\
   Dieses Skript erstellt einen Service Principal in Entra ID mit Zugriff auf Ihr Automation Account und ermöglicht es RealmJoin, Runbooks zu verwalten, auszuführen und zu überwachen.\
   Das Skript wird basierend auf den Eingaben für Tenant ID, Subscription ID und Ressourcengruppe aktualisiert.<br>

   <figure><img src="/files/225c2b87b54b98f5bde08a24df7983e3fa29b1b2" alt=""><figcaption></figcaption></figure>
4. Lassen Sie den Assistenten vorerst geöffnet. Wir kehren in Teil 2 gleich zurück.
   {% endstep %}

{% step %}

#### Zugriff für RealmJoin auf Azure Automation gewähren

{% hint style="info" %}
Sie können [Azure CloudShell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview)verwenden, sodass Sie keine lokale Kopie von AZ CLI installieren und authentifizieren müssen.
{% endhint %}

1. Führen Sie das zuvor kopierte Skript in PowerShell aus.

   <figure><img src="/files/61aa7e04f1c55de5a0dfe7ee30d2b4462be2d659" alt=""><figcaption></figcaption></figure>
2. Notieren Sie sich die Werte für `appId` und `password`.\
   Die App-Registrierung "RealmJoin Runbook Management" wird erstellt.<br>

   ![App-Registrierungen im Azure Portal](/files/a26416720c2c923c8567183fb9b49b46d7b0874c)
   {% endstep %}

{% step %}

#### RealmJoin Runbook Configuration - Teil 2

1. Kehren Sie im RealmJoin Portal zum geöffneten Fenster/Assistenten für '[Einstellungen -> Runbooks](https://portal.realmjoin.com/settings/runbooks-configuration)'
2. Füllen Sie die fehlenden Werte aus für `appId` und `password` die im letzten Schritt erstellt wurden
3. Füllen Sie den Namen des erstellten Automation Account aus [zuvor](#create-an-azure-automation-account)
4. Wählen Sie den Branch des gemeinsamen Runbook-Repositorys aus, dem Sie folgen möchten.\
   Wenn Sie unsicher sind, wählen Sie bitte `production`\
   Alle Runbook-Branches können hier angezeigt werden: <https://github.com/realmjoin/realmjoin-runbooks>
5. Wählen Sie denselben Standort wie Ihr Azure Automation Account, um sicherzustellen, dass Ihre Runbooks in der richtigen [Azure-Region](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview)

![Automation Account-Verbindung im RealmJoin Portal](/files/42d7c17a1899be6c7eb5ec06eb67b87646691c79)

6. Drücken Sie "Save", um den ersten Import der Runbooks zu starten. Bitte lassen Sie dieses Fenster geöffnet, bis Sie die Meldung "Sync completed" sehen.

![](/files/6e59fb3f84d6ca6fc25c8768e25d62c511e1740d)
{% 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/de/automatisierung/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.
