> 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/de/automatisierung/connecting-azure-automation/azure-ad-roles-and-permissions.md).

# Anforderungen für die Runbook-Ausführung

Diese Wiki-Seite behandelt, welche Anforderungen und Berechtigungen auf Systemebene bereitgestellt werden müssen, damit Runbooks ausgeführt werden können.

## PowerShell-Module

{% hint style="info" %}
Der Abschnitt PowerShell-Module wird automatisch basierend auf dem [öffentlichen Repository](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Die gemeinsam genutzten Runbooks, die auf [GitHub](https://github.com/realmjoin/realmjoin-runbooks) verfügbaren erwarten/verwenden die folgenden Windows PowerShell-Module:

| Modul                            | Mindestversion in Runbooks |
| -------------------------------- | -------------------------- |
| `Az.Accounts`                    | 5.5.2                      |
| `Az.Compute`                     | 11.8.0                     |
| `Az.DesktopVirtualization`       | 6.0.0                      |
| `Az.ManagementPartner`           | 0.8.0                      |
| `Az.Storage`                     | 9.7.2                      |
| `ExchangeOnlineManagement`       | 3.9.2                      |
| `Microsoft.Graph.Authentication` | 2.41.2                     |
| `MicrosoftTeams`                 | 7.9.0                      |
| `PnP.PowerShell`                 | 3.4.1                      |
| `RealmJoin.RunbookHelper`        | 0.8.10                     |

RealmJoin Portal importiert und installiert diese Module automatisch, wenn sie von innerhalb eines Runbooks referenziert werden. Dieser Import berücksichtigt auch die angegebenen Mindestversionen für Module.

## Berechtigungen

{% hint style="info" %}
Der Abschnitt Berechtigungen wird automatisch basierend auf dem [öffentlichen Repository](https://github.com/realmjoin/realmjoin-runbooks).
{% endhint %}

Die gemeinsam genutzten Runbooks von RealmJoin verwenden die systemzugewiesene verwaltete Identität von Azure Automation, [systemzugewiesene verwaltete Identität](https://learn.microsoft.com/en-us/azure/automation/enable-managed-identity-for-automation) um mit Entra ID, Microsoft Graph API usw. zu interagieren.

Die folgende Liste von Rollen und Berechtigungen ermöglicht es Ihnen, alle Runbooks zu verwenden, die derzeit in unserem gemeinsamen Repository verfügbar sind.

Es wird nicht empfohlen, diese Rollen/Berechtigungen zu reduzieren, da die Runbooks nur gegen diesen Satz von Berechtigungen getestet werden. Wenn Sie den Satz der Rollen/Berechtigungen reduzieren, werden einige Runbooks nicht mehr funktionieren.

### Entra ID-Rollen

Bitte weisen Sie der verwalteten Identität die folgenden Entra ID-Rollen zu

* Anwendungsentwickler
* Cloud-Geräteadministrator
* Exchange-Administrator
* Intune-Administrator
* Teams-Administrator
* Benutzeradministrator

### Microsoft Graph API-Berechtigungen

Bitte gewähren Sie der verwalteten Identität die folgenden Microsoft Graph API-Berechtigungen

* `Application.ReadWrite.All`
* `Application.ReadWrite.OwnedBy`
* `AppRoleAssignment.ReadWrite.All`
* `AuditLog.Read.All`
* `BitLockerKey.Read.All`
* `Channel.ReadBasic.All`
* `ChannelMember.ReadWrite.All`
* `CloudPC.ReadWrite.All`
* `Device.ReadWrite.All`
* `DeviceLocalCredential.Read.All`
* `DeviceManagementApps.ReadWrite.All`
* `DeviceManagementConfiguration.ReadWrite.All`
* `DeviceManagementManagedDevices.PrivilegedOperations.All`
* `DeviceManagementManagedDevices.ReadWrite.All`
* `DeviceManagementServiceConfig.ReadWrite.All`
* `Directory.ReadWrite.All`
* `Group.Create`
* `Group.ReadWrite.All`
* `GroupMember.ReadWrite.All`
* `IdentityRiskyUser.ReadWrite.All`
* `InformationProtectionPolicy.Read.All`
* `Mail.Send`
* `Organization.Read.All`
* `Place.Read.All`
* `Policy.Read.All`
* `Reports.Read.All`
* `ReportSettings.ReadWrite.All`
* `RoleAssignmentSchedule.Read.Directory`
* `RoleManagement.Read.All`
* `RoleManagement.Read.Directory`
* `ServiceHealth.Read.All`
* `Sites.Read.All`
* `Team.Create`
* `Team.ReadBasic.All`
* `TeamMember.ReadWrite.All`
* `TeamSettings.ReadWrite.All`
* `User.ReadWrite.All`
* `UserAuthenticationMethod.ReadWrite.All`
* `WindowsUpdates.ReadWrite.All`

### Andere App-API-Berechtigungen

Bitte gewähren Sie der verwalteten Identität die folgenden Office 365 Exchange Online API-Berechtigungen

* `Exchange.ManageAsApp`

Bitte gewähren Sie der verwalteten Identität die folgenden WindowsDefenderATP API-Berechtigungen

* `Machine.Read.All`
* `Machine.Isolate`
* `Machine.RestrictExecution`
* `Ti.ReadWrite.All`

Bitte gewähren Sie der verwalteten Identität die folgenden SharePoint API-Berechtigungen

* `User.Read.All`
* `Sites.Read.All`
* `Sites.FullControl.All`

### Zuweisen von Rollen und Berechtigungen

Das Zuweisen von Berechtigungen zu verwalteten Identitäten kann derzeit nicht über das Azure Portal erfolgen. Wir empfehlen dafür die Verwendung von MS Graph-/PowerShell-Skripting.

{% hint style="info" %}
`Set-RJAutomationAccount` aus dem RealmJoin PowerShell-Modul — siehe [Verbindung mit Azure Automation](/de/automatisierung/connecting-azure-automation.md) — weist bereits die **API-Berechtigungen** zu, die es für Microsoft Graph, Exchange Online, Defender und SharePoint bündelt, wenn das Automation-Konto eingerichtet oder aktualisiert wird.

Es **nicht** weist die **Entra ID-Rollen** oben aufgelisteten zu, und sein gebündelter Berechtigungssatz wird getrennt von dieser Seite gepflegt, die aus dem [Runbooks-Repository](https://github.com/realmjoin/realmjoin-runbooks). Verwenden Sie die Skripte unten für die Entra ID-Rollen und um jede API-Berechtigung hinzuzufügen, die ein Runbook benötigt und die das Modul nicht abdeckt.
{% endhint %}

Ein Beispiel für diesen Prozess finden Sie [hier](https://github.com/Workplace-Foundation/approle-and-directoryrole-granter). Die JSON-Dateien, die es erwartet, werden veröffentlicht in der [Runbooks-Repository](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
```

Die Objekt-ID der verwalteten Identität wird im Azure Portal beim Automation-Konto unter Kontoeinstellungen > Identität angezeigt.

### Azure-Ressourcenberechtigungen

Bitte gewähren Sie dem Abonnement oder der Ressourcengruppe, die das Azure Automation-Konto hostet, für die Runbooks mindestens "Contributor"-Zugriff

Einige Runbooks verwenden möglicherweise ein Azure Storage Account, um Berichte oder Sicherungen zu speichern. Bitte gewähren Sie dem entsprechenden Abonnement oder der entsprechenden Ressourcengruppe mindestens "Contributor"-Zugriff. Die meisten Runbooks können dann die Ressourcen innerhalb der Ressourcengruppe eigenständig erstellen.

## Authentifizierungsmethoden

### Verwaltete Identitäten

Azure Automation unterstützt [Verwaltete Identitäten](https://docs.microsoft.com/en-us/azure/automation/enable-managed-identity-for-automation) (systemzugewiesen) als primären Weg zur Authentifizierung. Dies ersetzt die veralteten RunAs-Konten.

Die RealmJoin Runbooks unterstützen derzeit RunAs-Konten, wenn keine verwaltete Identität konfiguriert ist.

{% hint style="warning" %}
Wenn gleichzeitig eine verwaltete Identität und ein RunAs-Konto konfiguriert sind, werden die Runbooks aus dem gemeinsam genutzten Repository von RealmJoin bei neueren Versionen unserer unterstützenden `RealmJoin.RunbookHelper` Module ab v0.8.0 automatisch die Verwendung der verwalteten Identität bevorzugen.

Ältere Versionen des Moduls konnten verwaltete Identitäten nicht vollständig nutzen und bevorzugten das RunAs-Konto.

Bitte stellen Sie sicher, dass Sie die erforderlichen Berechtigungen der verwalteten Identität zuweisen oder sie vollständig deaktivieren, um nur das RunAs-Konto zu verwenden.
{% endhint %}

### Client Secret

Einige private Runbooks benötigen möglicherweise eine Authentifizierung im Stil von Client-ID/Secret. Derzeit gibt es keine gemeinsam genutzten Runbooks, die Client-ID und Secret erfordern.

Bei Bedarf können eine Client-ID und ein Secret in den verwalteten Anmeldeinformationen mit dem Namen "realmjoin-automation-cred" im Azure Automation-Konto gespeichert werden.

Derzeit wird die "realmjoin-automation-cred" im Automation-Konto standardmäßig vom RJ-Wizard erstellt, aber mit zufälligen Werten gefüllt - sie müssten mit den richtigen Werten befüllt werden.


---

# 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/de/automatisierung/connecting-azure-automation/azure-ad-roles-and-permissions.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.
