Microsoft Graph Zugriff über Power Automate mit Anwendungs-Berechtigungen

Darius S.
01/2026

Unabhängig von User-Berechtigungen

Power Automate ist ein mächtiges Werkzeug zur Automatisierung von diversen Prozessen. Eines der großen Vorteile von Power Automate – im Vergleich zu anderen Automatisierungstools – ist die unkomplizierte Anbindung in die Office365 Welt. Dafür sind standardmäßig Konnektoren und Aktionen zu den verschiedenen Anwendungen implementiert.

Diese Aktionen bieten viele Möglichkeiten, haben aber zwei entscheidende Begrenzungen. Einerseits sind nur die entsprechend klar definierten Aktionen möglich, d.h. eine gewünschte Funktionalität ist eventuell nicht unterstützt. Andererseits werden diese Aktionen immer im Kontext eines angemeldeten Nutzers ausgeführt. Sobald diese Aktionen für andere User ausgeführt werden sollen, liegt eine Berechtigungsproblematik vor. Eine mögliche Lösung ist der Zugriff auf Office365 Funktionalitäten mithilfe von Microsoft Graph und die Autorisierung über Anwendungs-Berechtigungen, statt delegierter Berechtigungen.

In diesem Artikel soll ein Weg skizziert werden, mit dem innerhalb von Power Automate die Microsoft Graph Schnittstelle genutzt wird. Diese Kommunikation wird über eine App Registrierung im Azure Portal und Anwendungs-Berechtigungen autorisiert und ist damit unabhängig von einem einzelnen Benutzer und seinen/ihren Berechtigungen.

Um dieser Anleitung zu folgen, benötigen Sie entsprechende Berechtigungen im Azure Portal und es wird eine Power Automate Premium Lizenz benötigt.

App Registrierung im Azure Portal

Die Registrierung mit Konfiguration der Berechtigungen im Azure Portal bildet die Grundlage, dass von Power Automate Applikations-Berechtigungen genutzt werden können. Damit ist man unabhängig von einem angemeldeten Nutzer.

Im Azure Portal – unter portal.azure.com zu erreichen – finden sich unter anderem die App Registrierungen. Hier muss eine neue Registrierung angelegt werden. Unter ‘Verwalten’ und ‘Zertifikate & Geheimnisse’ muss ein neuer geheimer Clientschlüssel generiert werden. Der Wert des Clientschlüssels muss sich gemerkt, bzw. gespeichert werden, da man darauf später keinen Zugriff mehr hat.

Auf der Übersichtsseite der App Registrierung müssen sich zusätzlich zum Clientschlüssel die Anwendungs-Id (Client-Id) und die Verzeichnis-Id (Mandant/Tenant-Id) gemerkt/gespeichert werden.

Unter dem Reiter API-Berechtigungen müssen im weiteren Verlauf Microsoft Graph API Berechtigungen hinzugefügt werden. Welche das sind kann im speziellen Fall in der Microsoft Graph API Dokumentation nachgelesen werden.

Authentifizierung in Power Automate

Aktionen in einem Power Automate Flow werden immer im Kontext einer Verbindung ausgeführt. Office 365 Aktionen nutzen dafür eine hinterlegte Verbindung mit Berechtigungen des authentifizierten Users. Um unabhängig von diesen Aktionen und User-Berechtigungen auf Office 365 Funktionalitäten zuzugreifen nutzen wir die Microsoft Graph Schnittstelle mit Anwendungs-Berechtigungen. Da Microsoft Graph über Http-Requests funktioniert, können wir in Power Automate mit den integrierten Http Aktionen arbeiten. Diese Aktionen sind leider Premium Aktionen, daher wird die Power Automate Premium Lizenz benötigt.

Um sich als Anwendung zu authentifizieren, muss über ein Http Post ein Access Token abgerufen werden. Dafür wird eine Http Aktion dem Flow hinzugefügt und wie folgt konfiguriert:

Die URI/URL ist der Microsoft Online Login für einen Access Token mit Angabe der Verzeichnis-/Tenant-Id:

https://login.microsoftonline.com/{Verzeichnis-Id}/oauth2/v2.0/token

Die Methode ist ‘POST’ und als Header muss folgendes Key-Value Paar eingetragen werden:

Content-Type

application/x-www-form-urlencoded

Im Body werden Parameter, wie der Client Schlüssel und die Client-Id übergeben:

grant_type=client_credentials&client_secret={Client-Schlüssel}&client_id={Client-Id}&scope=https://graph.microsoft.com/.default

Das Ergebnis des POST Requests ist ein JSON Objekt, das analysiert werden muss, um den Token auszulesen. Konkret bedeutet das, dass die integrierte Aktion ‘JSON analysieren’ genutzt wird. Der Body aus dem vorherigen Schritt wird als Content ausgewählt und das Schema wird wie folgt gesetzt:

1{ 
2    "type": "object", 
3    "properties": { 
4        "token_type": { 
5            "type": "string" 
6        }, 
7        "expires_in": { 
8            "type": "integer" 
9        }, 
10        "ext_expires_in": { 
11            "type": "integer" 
12        }, 
13        "access_token": { 
14            "type": "string" 
15        } 
16    } 
17} 

Jetzt kann der Flow ausgeführt werden und es wird ein User-unabhängiger Access Token abgerufen.

Mithilfe des Access Token können andere Funktionen über die Microsoft Graph Schnittstelle aufgerufen werden. Das folgende Beispiel zeigt, wie ein Kalender Eintrag im Outlook Kalender einer Person erstellt werden kann.

Es wird wieder die Http Aktion genutzt. Des weiteren werden für jede Microsoft Graph Aktion 3 Informationen benötigt. (1) Die URI für die auszuführende Aktion. (2) der Access Token und (3) die Informationen zur Aktion, bzw. den Body der Anfrage.

Mögliche Aktionen und die konkrete Information zu den möglichen Aktionen über Microsoft Graph kann man in der Dokumentation finden. Dafür empfehle ich folgende Seiten:
https://learn.microsoft.com/en-us/graph/use-the-api
- allgemeine Informationen zum Arbeiten mit der Microsoft Graph API

https://developer.microsoft.com/en-us/graph/graph-explorer
- ein Tool zum Ausprobieren (nur für delegierte Berechtigungen, der eigene Nutzer)

https://learn.microsoft.com/de-de/graph/api/user-post-events?view=graph-rest-1.0&tabs=http
- Dokumentation der gesamten API mit Beispielen. Hier der Endpunkt zum Erstellen eines Ereignisses im Kalender

Der folgende Screenshot stammt aus dem untersten Link. Hier ist beschrieben welche Berechtigungen erforderlich sind, um diese Aktion durchzuführen. Der markierte Bereich gibt an, dass es das Calendars.ReadWrite Recht gibt, um eine Anwendungsberechtigung zu erteilen. Das ist also das Recht, dass wir im Azure Portal unter den API-Berechtigungen konfigurieren müssen.

Die URI ergibt sich nach Dokumentation wie folgt. Wobei die ID den Nutzer darstellt, für den ein Kalendereintrag erstellt werden soll.

Der Body wird mit einem JSON-Objekt befüllt. Die Struktur ergibt sich auch aus der Dokumentation. Für einen neuen Kalender Eintrag sieht die gesamte Aktion dann beispielsweise so aus:

Fazit

Mit diesen Informationen sollte es möglich sein die Berechtigungen in Azure zu konfigurieren und die Aktionen in Power Automate zu erstellen, die einen Zugriff zu Microsoft Graph über Anwendungsberechtigungen ermöglichen. Die Dokumentation beschreibt alle möglichen Funktionalitäten von Microsoft Graph und die in der Azure Appregistrierung benötigten Rechte.  

Mit diesem Wissen können in Power Automate Flows erstellt werden, die nicht nur für einen selbst, sondern auch für andere Mitarbeiter aktiv sind. Beispielsweise können Ereignisse im Kalender oder Abwesenheitsnotizen in Outlook erstellt werden. Diese Funktionen können zum Beispiel für ein Abwesenheits-/ oder Urlaubssystem innerhalb des Unternehmens genutzt werden.

Es sind grundsätzliche Security Themen zu berücksichtigen. Wenn die Berechtigungen vergeben wurden, könnte die Person, die das Client Secret besitzt, ihr Unwesen treiben. Dieses System sollte dementsprechend nicht von beliebigen Mitarbeitern angewandt werden, sondern speziell von der IT-Abteilung.

No items found.
Darius S.

Mehr zum Thema

Pfeil nach rechts (Verlinkung)
Business-Central-Webservice – Authentifizierung in der Praxis (C#)
12/2025

Business-Central-Webservice – Authentifizierung in der Praxis (C#)

Blauer Pfeil nach rechts (Verlinkung)
Microsoft Kiota: OpenAPI Client für .NET, Java & TypeScript generieren
11/2024

Microsoft Kiota | OpenAPI Client Generator Tutorial

Blauer Pfeil nach rechts (Verlinkung)
Azure OpenAI: Intelligente .NET-Chatbots mit KI-Features und API-Anbindung
05/2024

Azure OpenAI Tutorial | .NET Chatbot Integration Guide

Blauer Pfeil nach rechts (Verlinkung)
ProPerson Cloud-Setup: Microsoft 365 & Azure Infrastruktur für KMU
01/2022

ProPerson Microsoft 365 Azure | Cloud-Infrastruktur Setup

Blauer Pfeil nach rechts (Verlinkung)

Lassen Sie uns gemeinsam wachsen.

Devware GmbH verpflichtet sich, Ihre Privatsphäre zu schützen. Wir benötigen Ihre Kontaktinformationen, um Sie bezüglich unserer Produkte und Dienstleistungen zu kontaktieren. Mit Klick auf Absenden geben Sie sich damit einverstanden. Weitere Informationen finden Sie unter Datenschutz. Ihre Daten behandeln wir vertraulich. Versprochen.
Vielen Dank für Ihr Vertrauen.
Unser Team prüft Ihre Anfrage sorgfältig und meldet sich in der Regel innerhalb von 48 Stunden bei Ihnen zurück.
Falls es besonders eilig ist, erreichen Sie uns auch telefonisch:
+ 49 (0) 202 478 269 0.
Da ist etwas schief gegangen beim Absenden des Formulars.