Im Folgenden findest du eine mögliche Vorgehensweise, um mit Power Automate die Berechtigungen in SharePoint zu verwalten. Grundsätzlich gibt es verschiedene Ansätze, je nachdem, ob du Bibliotheken oder Listen verwalten möchtest und wie komplex dein Berechtigungsmodell ist. Ein gängiger Weg führt oft über den Einsatz der Aktion „HTTP-Anforderung an SharePoint senden“ (Send an HTTP request to SharePoint), da sie dir die meisten Freiheiten bietet.
Grundsätzlich gibt es zwei Möglichkeiten, um Berechtigungen innerhalb eines Flows zu setzen oder zu ändern:
Vordefinierte Standardaktionen (Preview / eingeschränkte Verfügbarkeit)
In Power Automate existieren Aktionen wie
- Grant access to an item or a folder
- Stop sharing an item or a folder
Diese Aktionen sind relativ einfach zu konfigurieren und erfordern kein manuelles Aufrufen der SharePoint-API. Sie erlauben jedoch meist nur das Zuweisen bzw. Entziehen von Freigaben (Sharing-Links) oder „Bearbeiten/Lesen“-Rechten. Granulare Einstellungen (z.B. nur „Lesen“, „Mitwirken“, „Vollzugriff“ usw.) können damit nicht vollständig abgedeckt werden.

- „HTTP-Anforderung an SharePoint senden“ (empfohlener Ansatz für komplexere Anforderungen)
Um wirklich flexibel alle SharePoint-Berechtigungsstufen (z.B. Lesen, Bearbeiten, Vollzugriff) setzen zu können, ist es meist notwendig, die SharePoint-API über die „HTTP-Anforderung an SharePoint senden“-Aktion aufzurufen. Damit kannst du: - Die Berechtigungsvererbung aufheben (breakroleinheritance).
- Eine Rolle (z.B. Lesen/Bearbeiten) zuweisen (addroleassignment).
- Rollen entfernen (removeroleassignment).
- Principal-IDs (Benutzer / Gruppen) ermitteln.
- u.v.m.
Warum kommt man häufig um das HTTP-Request nicht herum?
- Die vordefinierten Power Automate-Aktionen für Berechtigungen decken häufig nur das einfache Teilen (Sharing) ab und bieten weniger Granularität.
- Sobald man spezifische interne SharePoint-Rollen (z.B. „Mitwirken“, „Bearbeiten“, „Vollzugriff“) vergeben oder nur bestimmten Benutzern/Gruppen gezielt Rechte zuweisen will, sind die HTTP-Requests in der Regel der zuverlässigste Weg.
Nachfolgend der Flow um explizite Berechtigungen zu erteilen.
In diesem Beispiel sorgt der Flow dafür, dass nach dem Erstellen des Elements der Autor (User) nur noch lesen Rechte zugewiesen bekommt.

Trigger-Aktion: Konfiguration

Variable initialisieren Prinzipal ID: Konfiguration

HTTP-Anforderung User ID: Konfiguration

URI zum Kopieren:
_api/web/SiteUsers/getByEmail('')
Variable festlegen Prinzipal ID: Konfiguration

Function zum kopieren:
string(body('HTTP-Anforderung_User_ID')['d']['id'])
Erläuterung:
Die o.g. Funktion wird häufig in Workflows (wie in Microsoft Power Automate) genutzt, um Daten aus der Antwort einer HTTP-Anforderung zu extrahieren und sie in einen String zu konvertieren. Im Detail passiert Folgendes:
- body('HTTP-Anforderung_User_ID'): Diese Funktion ruft den Inhalt (Body) der HTTP-Antwort ab, die aus einer vorherigen Aktion mit dem Namen „HTTP-Anforderung_User_ID“ stammt.
- ['d']['id']: Aus der abgerufenen JSON-Antwort wird zuerst das Objekt unter dem Schlüssel „d“ ausgewählt. Anschließend wird aus diesem Objekt der Wert unter dem Schlüssel „id“ extrahiert.
- string(...): Der so erhaltene Wert wird schließlich mithilfe der Funktion
string()
in einen String konvertiert.
HTTP-Anforderung Vererbung aufheben: Konfiguration

URI zum Kopieren:
_api/web/lists/getbytitle('Feedback')/Items()/breakroleinheritance(copyRoleAssignments=false, clearSubscopes=true)
Erläuterung:
Vererbung für Element oder Ordner aufheben (falls benötigt)
Um individuelle Berechtigungen auf Listenebene, Ordner- oder Elementebene zu vergeben, muss häufig zuerst die Berechtigungsvererbung aufgehoben werden.
- Standardaktion in Power Automate: Hier gibt es keine vorgefertigte Aktion, die explizit „Vererbung aufheben“ heißt.
- Lösung: „HTTP-Anforderung an SharePoint senden“.
Beispiel (HTTP-Request: Vererbung aufheben)
- Aktion hinzufügen: HTTP-Anforderung an SharePoint senden.
- Methode: POST
- URI (Endpoint):
HTTP-Anforderung Berechtigung setzen: Konfiguration

URI zum Kopieren:
_api/web/lists/getbytitle('Feedback')/Items(<ID>)/roleassignments/addroleassignment(principalid=<ID>, roledefid=1073741826)
Erläuterung:
Berechtigungen setzen oder ändern
Sobald die Vererbung aufgehoben ist, kannst du nun Rollen an Benutzer oder Gruppen vergeben. Hierfür benötigst du diesen Schritt:
Rolle zuweisen (Grant Access)
- Mit einem weiteren „HTTP-Anforderung an SharePoint senden“ kannst du einem Benutzer oder einer Gruppe die gewünschte Rolle zuweisen.
- Beispiel (Zugriff gewähren):
_api/web/lists/getbytitle('DeineListe')/items(ID)/roleassignments/addroleassignment(principalid=BENUTZER_ID, roledefid=ROLLE_ID)
- principalid: ID des Benutzers oder der Gruppe.
- roledefid: ID der Rolle (z.B. Edit, Read etc.).
Rollendefinition | Rollendefinition Id |
Full Control | 1073741829 |
Design | 1073741828 |
Edit | 1073741830 |
Contribute | 1073741827 |
Read | 1073741826 |
View Only | 1073741924 |
Limited Access | 1073741825 |
Viel Spaß beim Umsetzen