Grounding mit Berechtigungen in Microsoft Copilot
10.7.2025
Microsoft Copilot ist der KI-Assistent in Microsoft 365 und den Office-Anwendungen. Copilot soll uns bei der täglichen Arbeit unterstützen und hilft beispielsweise beim Verfassen von Dokumenten und E-Mails, bei komplexen Aufgaben und natürlich bei Recherchetätigkeiten. Die kostenpflichtige Version von M365 Copilot findet insbesondere Informationen aus SharePoint, Teams und aus Besprechungen, die aufgezeichnet wurden.
Außerdem ermöglicht Copilot die Anbindung von weiteren Wissensquellen über die Microsoft Graph-Konnektoren. Hier bietet Microsoft selbst zahlreiche Konnektoren. Darüber hinaus ergänzt RheinInsights dieses Angebot um skalierbare Enterprise-Suchkonnektoren, die insbesondere weitere Inhaltstypen indexieren können. All unsere Konnektoren bieten zudem Secure Search und eine damit berechtigungsbasiertes Grounding für den M365 Copilot.

Was bedeutet berechtigungsbasiertes Grounding in Copilot?
Organisationswissen befindet sich in IT-Systemen wie beispielsweise Teams, SharePoint, Atlassian Confluence, Zendesk, ServiceNow oder SAP. Alle diese Quellen verfügen über feingranulare Zugriffskontrollen, in der Regel auf sämtliche Inhalte. Benutzer müssen sich entsprechend am System anmelden und können dann bestimmte Inhalte sehen. Mitarbeiter und Teammitglieder haben aber in der Regel nie Zugriff auf alle Inhalte eines IT-Systems. Beispielsweise kann man einzelne SharePoint Seiten einsehen, aber nicht die OneDrives seiner Kollegen.
Wie generieren Copilot und andere KI-Tools Antworten?
Copilot ist eine Software, welche intensiv ein zugrunde liegendes Large Language Model (LLM), beispielsweise GPT 4o, verwendet. Für solch eine Software gibt es daher zwei Möglichkeiten, Antworten auf Fragen zu generieren:
Entweder durch das Sprachmodell (LLM) selbst oder
durch Retrieval-Augmented-Generierung mit einer Suchmaschine.
Genauer gesagt bedeutet dies: Wenn die Antwort allgemein bekannt ist und hunderte Male im Trainingskorpus des LLM geunden werden kann, sagt das LLM selbst die richtige Antwort voraus.
Oder die Implementierung leitet die Frage an eine Suchmaschine weiter, die Ergebnisse liefert und das LLM zur Zusammenfassung der Antwort nutzt. Dies wird als Retrieval Augmented Generation (RAG) oder Grounding bezeichnet.
Weitere Einzelheiten zum Erdungs- oder RAG-Ansatz finden Sie beispielsweise in unserem Blogbeitrag RheinInsights - Insights - Retrieval Augmented Generation mit Azure AI Search und Atlassian Confluence.
Warum sollte ein Grounding nur mit Berücksichtigung von Berechtigungen statt finden?
Für Copilot bedeutet dies, dass Microsoft Search regelmäßig genutzt wird, um Antworten anhand von Unternehmens-internen Wissen zu generieren. Bei Inhalten aus Microsoft Teams, Exchange (Outlook) und SharePoint bildet Microsoft Search seit jeher die Berechtigungen in der Suche ab. Aber anderes wichtiges internes Wissen stammt aus IT-Systemen, die separat in Microsoft Search indexiert werden müssen.
Wie bereits erwähnt, haben jedoch nicht alle Benutzer Zugriff auf sämtliches Wissen in einem IT-System. Wenn Sie nun einfach das gesamte Wissen ohne Berechtigungen indexieren, werden potentiell alle Dokumente von Copilot oder anderen Bots für das Erzeugen von Antworten herangezogen. Dies bedeutet, dass Antworten regelmäßig auf Wissen beruhen, auf welches der Benutzer eigentlich keinen Zugriff hat. Im schlimmsten Fall kommt es zu einem so genannten Data Loss.
Zwei extreme Beispiele sind „Erzähle mir von kürzlichen oder geplanten Entlassungen“ oder „Gibt es Informationen zu unseren Gehältern und Gehaltsbändern?“

Wie bilde ich die Berechtigungen der IT-Systeme in Copilot ab?
Die Graph Konnektoren und Microsoft Search unterstützen seit jeher die Indexierung feingranularer Berechtigungen für jedes indexierte Dokument. Das Gute daran: Diese Berechtigungen, sogenannte Zugriffskontrolllisten (ACLs), werden bei der Suche stets berücksichtigt – sowohl in Microsoft Search selbst als auch beim Grounding in Microsoft Copilot.
Daher nutzen alle RheinInsights Konnektoren die entsprechenden APIs, um das Berechtigungsmodell der Inhaltsquellen in Microsoft Search und Copilot abzubilden. Nutzer können dann genau das Wissen finden, auf das sie in den zugrundeliegenden Wissens- und Inhaltsquellen zugreifen dürfen.
Derselbe Ansatz gilt auch für selbstentwickelte (sogenannte Custom-) Konnektoren. Wie funktioniert das nun technisch?
Implementierungsansatz
Die Graph Konnektor-Indexierungs-API
Die relevante API für die Indexierung ist
PUT /external/connections/{connection-id}/items/{item-id}
Jedes externe “Item” umfasst ein separates Feld namens „acl“, die Access Control List. Dies ist defacto eine Liste von String, mit der Sie Microsoft Search mitteilen können, wer Zugriff auf ein Dokument hat. Hier können Sie insbesondere sogenannte externalGroups hinzufügen, sprich eine oder mehrere “benutzerdefinierte” Gruppen. Die Gruppennamen oder -IDs können im value-Feld frei gewählt werden. Sprich Sie können hier “SAP-User-Role” eintragen oder auch “S-1-1-0”, denn diese Gruppen haben keinen direkten Bezug zu Entra-ID.
Synchronisieren von Benutzer-Gruppen-Beziehungen
Wenn Sie nun externe Gruppen als Teil der acl-Felder indexieren, weiß Microsoft Search (und Copilot) nicht, wer Mitglied ist.
Daher müssen Sie auch die Benutzer-Gruppen-Beziehungen angeben. Sie müssen die Mitglieder der externen Gruppen den eigentlichen Entra-ID-Benutzern zuordnen. Dies funktioniert, indem Sie zunächst die externe Gruppe wie folgt erstellen:
POST https://graph.microsoft.com/v1.0/external/connections/{connection-id}/groups
Im zweiten Schritt können Sie dieser Gruppe Mitglieder zuordnen:
POST /external/connections/{connectionsId}/groups/{externalGroupId}/members
Hier fügen Sie normalerweise Entra-ID-Benutzer mit dem Typ “user” und im value-Feld dann die GUID des Entra-Id-Benutzers hinzu.
Es ist durchaus relevant und gut zu wissen, dass Sie über die /items-API auch Gruppen zu ACL-Feldern hinzufügen können, die noch nicht über die /groups-API erstellt worden sind. Dies können sie später nachholen. Fehlende Gruppen führen zum Suchzeitpunkt zu keinen Problemen.
Bitte beachten Sie, dass es in der Regel mehrere Stunden dauert, bis Microsoft Search Änderungen in den Benutzergruppenbeziehungen aus den oben genannten APIs während einer Suchabfrage berücksichtigt.

Das Ergebnis
Im Gegenzug generiert Microsoft Search zum Abfragezeitpunkt einen Filter, der auf das ACL-Feld wirkt und mit der Query verbunden wird:
query_neu = (rheininsights) AND (acl:"user@company.org" OR acl:"group1" ...)
In der Konsequenz finden Nutzer nur das Wissen, auf das sie in der Inhaltsquelle auch Zugriff haben. Weitere Informationen zum allgemeinen Ansatz der Secure Suche finden Sie auch in unserem Blogbeitrag RheinInsights - Insights - Sicheres Retrieval Augmented Generation (RAG) mit Berechtigungen.
Fehlende Gruppen oder Nutzer-Gruppen-Beziehungen führen dazu, dass Dokumente nicht gefunden werden. Nur wenn es mindestens einen Match zwischen suchendem Nutzer und Dokumenten-ACL gibt, taucht ein Dokument als Treffer auf.
Welche Auswirkungen hat dies für Copilot?
Bei vielen Quellen sieht man, dass die Konnektoren keine Quellsystem-Berechtigungen beherrschen. Das bedeutet, dass man den Administratoren die Entscheidung überlässt, ob die gesamte indexierte Quelle allen Mitarbeitenden oder einzelnen Benutzergruppen (gänzlich) zugänglich gemacht wird.
Dieser Ansatz ist jedoch nicht skalierbar. Unternehmen möchten Daten in der Regel einmalig indexieren, da die Konfiguration eines Konnektors und die Indexierung jeweils etwas Zeit benötigt und IT-Administratoren von wichtigeren Aufgaben durch Fine-Tuning und Abstimmungen abgehalten werden. Warum also dieselbe Quelle mehrfach indexieren?
Copilot und Copilot Studio ermöglichen es zudem Nutzern, eigene Agenten frei zu erstellen und mit Kollegen zu teilen. Dies wird jedoch oft sehr komplex und ineffizient, wenn keine präzisen ACLs existieren, die vor einer Offenlegung geschützter Inhalte durch Copilot schützen.
Die Lösung für beide Probleme ist daher die Verwendung von echten Enterprise-Search-Konnektoren. Konnektoren, die sicherstellen, dass das Berechtigungsmodell der Inhaltsquelle in Copilot (und Microsoft Search) korrekt abgebildet werden. Dies verhindert wiederum die übermäßige Freigabe und ermöglicht die unternehmensweite Nutzung und Verbreitung Copilot und Copilot-Agenten.