Verwenden eines SharePoint Indexers zum Aufnehmen von Berechtigungsmetadaten und Filtern von Suchergebnissen basierend auf Benutzerzugriffsrechten (Vorschau)

Hinweis

Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.

Wichtig

Features, Funktionen oder Eigenschaften, die als (Vorschau) gekennzeichnet sind, werden von keiner Dienstebenenvereinbarung (SLA) abgedeckt, werden für Produktionsworkloads nicht empfohlen und können geändert oder eingeschränkt werden, bevor sie allgemein verfügbar sind. Die Azure KI-Suche Vorschaubedingungen gelten für alle Vorschaufunktionen, unabhängig davon, ob sie eigenständig oder Teil eines allgemein verfügbaren Features ist.

Die SharePoint-Berechtigungs-Metadatenerfassung (Vorschauversion) verwendet einen Azure KI-Suche-Indexer, um Berechtigungsmetadaten wie Zugriffssteuerungslisten (ACLs) neben anderen Inhalten aus SharePoint in Microsoft 365 beizubehalten. Der Indexer speichert die Berechtigungen als Metadaten für jedes indizierte Dokument. Zur Abfragezeit erhalten Benutzer nur Dokumente, auf die sie über die Berechtigung zum Zugriff verfügen.

Architecture-Diagramm mit einer sicherheitsgefilterten RAG-Lösung, bei der ein SharePoint Indexer Dokumente und ACL-Berechtigungsmetadaten von einer SharePoint Site erfasst, sie in einem Azure KI-Suche Index speichert, und ein RAG-Orchestrator filtert Abfrageergebnisse, sodass jeder Benutzer nur die Dokumente abruft, auf die sie Zugriff haben.

Wichtig

Verwenden Sie für Szenarien, die das vollständige SharePoint-Berechtigungsmodell, Vertraulichkeitsbezeichnungen und sofort einsatzbereite Sicherheitskürzung erfordern, eine SharePoint-Remote-Wissensquelle. Dieser Ansatz ruft SharePoint direkt über die Copilot-Abruf-API auf. Governance bleibt in SharePoint vollständig, und Abfrageergebnisse respektieren automatisch alle anwendbaren Berechtigungen und Bezeichnungen.

Voraussetzungen

  • Azure KI-Suche auf einer abrechnungsfähigen Ebene (Einfach oder höher) in einer beliebigen Region.

  • SharePoint in Microsoft 365 Websites, Bibliotheken, Ordnern und Dateien mit konfigurierten Berechtigungen.

  • Führen Sie alle Konfigurationsschritte in der Dokumentation SharePoint Indexer aus, und wenden Sie die in diesem Artikel beschriebenen ACL-spezifischen Anforderungen an.

  • Konfigurieren Sie Anwendungsberechtigungen für Microsoft Entra und eine für Ihr Szenario geeignete Anmeldeinformation. Siehe Berechtigungen nach ACL-Szenario. Für die ACL-Erfassung sind Anwendungsberechtigungen erforderlich. Delegierte Berechtigungen werden nicht unterstützt. Informationen zu Anwendungs- und delegierten Entscheidungen finden Sie unter Auswählen der Berechtigungskonfiguration.

  • REST API Version 2026-08-01-preview oder ein entsprechendes Vorschau-SDK-Paket.

Einschränkungen

  • Inkrementelle ACL-Updates erfordern die REST-API 2026-05-01-preview oder neuer. In früheren Vorschau-API-Versionen erfasst das System ACLs nur bei der ersten Aufnahme jedes Elements. Spätere Berechtigungsänderungen erfordern eine explizite Neuindizierung. Schritte zur Migration finden Sie unter Synchronisieren von Berechtigungen zwischen indizierten und Quellinhalten.

  • Berechtigungsänderungen im übergeordneten Bereich werden bei nachfolgenden Indizierungsausführungen nicht automatisch aufgenommen. Informationen zu den Aktualisierungsoptionen finden Sie unter "Synchronisieren von Berechtigungen zwischen indiziertem und Quellinhalt".

  • Dieses Feature wird vom Azure-Portal nicht unterstützt.

  • Die folgenden Features werden in dieser Vorschau nicht unterstützt:

    • SharePoint Informationsverwaltungsrichtlinien anwendbar für den Benutzerzugriff. Das System wertet diese Richtlinien zur Abfragezeit nicht aus, nimmt sie auf oder berücksichtigt sie nicht.

    • Freigabefähige Links für "Jeder" oder "Personen in Ihrer Organisation". Nur Links, die auf "Bestimmte Personen" festgelegt sind, werden unterstützt.

    • SharePoint-Gruppen (z. B. Besitzer, Mitglieder und Besuchergruppen) werden ab 2026-05-01-Preview-REST-API unterstützt. Siehe Configure SharePoint Gruppenunterstützung. In früheren Vorschau-API-Versionen werden nur SharePoint Gruppen unterstützt, die zu Microsoft Entra Gruppen aufgelöst werden.

  • Die folgenden Indexerfeatures unterstützen die Berechtigungsvererbung in indizierten Dokumenten, die von SharePoint stammen, nicht. Wenn Sie eines dieser Features in einem Skillset oder Indexer verwenden, werden Berechtigungen auf Dokumentebene nicht in den indizierten Inhalt einbezogen.

Unterstützung für das SharePoint-Berechtigungsmodell

Diese Vorschau unterstützt grundlegende ACLs für Dokumente, Listenelemente und moderne ASPX-Websiteseiten.

SharePoint-Funktion Beschreibung Unterstützt Notizen
Vererbung von Websites, Bibliotheken, Listen und Seiten Website-→ Bibliothek/Liste → Ordner → Datei/Element/Seite. ✔️ Bei der Erfassung bewertet; effektive ACLs, berechnet pro Element.
Eindeutige ACLs für Ordner, Datei, Listenelement und Seite Zugriff auf Elementebene. ✔️ Enthalten, wenn bei der ersten Erfassung vorhanden und bei nachfolgenden Ausführungen, in denen ACL-Änderungen für Elemente mit eindeutigen Berechtigungen erkannt werden.
SharePoint-Listenelemente Berechtigungen für Listenelemente (allSiteLists und allSiteContent Container). ✔️ Vorschau, beginnend mit der 2026-05-01-preview-REST-API.
ASPX-Websiteseiten Berechtigungen auf modernen Websiteseiten (allSitePages und allSiteContent Containern). ✔️ Vorschau, beginnend mit der 2026-05-01-preview-REST-API.
Microsoft Entra -Gruppen (Microsoft 365 und Sicherheit) Gruppenbasierter Zugriff. ✔️ Gruppen-IDs sind enthalten, sofern sie in einen Microsoft Entra-Bezeichner (ID) aufgelöst werden können.
SharePoint Websitegruppen Besitzer/Mitglieder/Besucher und benutzerdefinierte Websitegruppen. ✔️ Vorschau, beginnend mit der 2026-05-01-preview-REST-API. Erfordert die Konfiguration der SharePoint gruppen. Gruppen-IDs werden mit dem spg: Präfix ausgegeben.
Freigabefähige „Jeder-Links“ oder „Personen in Ihrer Organisation-Links" Organisationsweiter oder öffentlicher Zugriff. ❌ In der Vorschau nicht unterstützt.
Externe/Gastbenutzer Zugriff für Gäste. ❌ Nicht unterstützt.
Informationsverwaltungsrichtlinien Richtlinien zum Definieren bestimmter Berechtigungsanforderungen. ❌ In der Vorschau nicht unterstützt.
Purview-Empfindlichkeitsetiketten Sicherheit auf Dokumentebene für Datenschutz, Kategorisierung, Berechtigungen und Verschlüsselung ❌ Wird über ein separates Feature unterstützt: Bewahren und Respektieren von Vertraulichkeitskennzeichnungen.

Unterstützte Gruppenbeziehungen

Microsoft Entra Gruppentransitivität gilt innerhalb von Microsoft Entra. Es werden keine Microsoft Entra-Gruppen erweitert, die Mitglieder von SharePoint Gruppen sind.

Berechtigungszuordnung Unterstützt Leitlinien
Benutzer oder Microsoft Entra Gruppe, die dem SharePoint Element direkt zugewiesen ist Ja Der Indexer speichert die Benutzer- oder Microsoft Entra Gruppenobjekt-ID in den Berechtigungsmetadaten des Elements.
Der Benutzer gelangt über eine transitive Verschachtelung von Microsoft Entra-Gruppen zu einer zugewiesenen Microsoft Entra-Gruppe. Ja Die Microsoft-Graph-Auflösung zur Abfragezeit erweitert die transitiven Microsoft-Entra-Gruppenmitgliedschaften des Benutzers.
Benutzer, der direkt einer SharePoint-Websitegruppe zugewiesen wurde, die Zugriff auf das Element hat Ja Konfigurieren sie SharePoint Gruppenunterstützung.
Microsoft Entra-Gruppe, geschachtelt in einer SharePoint-Gruppe No Die Auflösung von SharePoint-Gruppen erweitert die geschachtelte Microsoft Entra-Gruppe nicht. Ergebnisse, die von dieser Beziehung abhängen, werden herausgefiltert. Fügen Sie Benutzer direkt zum SharePoint-Gruppe hinzu, oder erteilen Sie Berechtigungen über eine unterstützte Microsoft Entra Gruppenzuweisung.
Weitere gemischte SharePoint- und Microsoft Entra-Verschachtelungsrichtungen Nicht angegeben Leiten Sie keine Unterstützung aus der Microsoft-Entra-Transitivität ab. Diese Vorschaueinschränkung ist auf Microsoft Entra Gruppen beschränkt, die in SharePoint Gruppen geschachtelt sind.

Wie hierarchische Berechtigungen ausgewertet werden

SharePoint Berechtigungen erben die Hierarchie der Website → Bibliothek → Ordner → Datei, es sei denn, die Vererbung ist unterbrochen.

Während der Aufnahme sammelt der Indexer Benutzer- und Gruppen-IDs (ID) auf jeder Ebene und berechnet die effektive ACL für jede Datei.

Berechtigungen nach ACL-Szenario

Die für die ACL-Erfassung erforderlichen Microsoft Entra-Anwendungsberechtigungen und Anmeldeinformationstypen hängen davon ab, welche Element- und Gruppentypen Sie indizieren. In der App-Registrierung werden alle Berechtigungen unter API-Berechtigungen>Berechtigung hinzufügen hinzugefügt, und die Verbundanmeldeinformation wird unter Zertifikate & Geheimnisse>Verbundanmeldeinformationen hinzugefügt. Eine schrittweise Anleitung und Screenshots finden Sie unter Schritt 3: Microsoft Entra-Anwendungsregistrierung erstellen und Konfigurieren der registrierten Anwendung mit einer verwalteten Identität.

Szenario API-Berechtigungen hinzufügen Credential
ACLs für Dokumentbibliotheksdateien, wenn der Zugriff nur über Microsoft Entra Benutzer und Standardgruppen gewährt wird (Microsoft Entra Sicherheitsgruppen, Microsoft 365 Gruppen, E-Mail-aktivierte Sicherheitsgruppen) Microsoft Graph: Files.Read.All, Sites.FullControl.All (oder Sites.Selected für den bereichsbezogenen Zugriff) Geheimer Clientschlüssel oder Verbundanmeldeinformationen
ACLs für Dateien in Dokumentbibliotheken, wenn auch SharePoint-Websitegruppen (Besitzer, Mitglieder, Besucher oder benutzerdefinierte Websitegruppen) berücksichtigt werden müssen Microsoft Graph: Files.Read.All, Sites.FullControl.All (oder Sites.Selected)
SharePoint: Sites.FullControl.All (oder Sites.Selected)
Verbundanmeldeinformationen (erforderlich)
ACLs für SharePoint-Listenelemente Microsoft Graph: Files.Read.All, Sites.FullControl.All (oder Sites.Selected), User.Read.All
SharePoint: Sites.FullControl.All (oder Sites.Selected)
Verbundanmeldeinformationen (erforderlich)
Inhalt und ACLs auf ASPX-Websiteseiten Microsoft Graph: Sites.FullControl.All (oder Sites.Selected), User.Read.All (beibehalten Sie Files.Read.All aus den Zeilen oben, wenn Sie auch Dokumentbibliotheken oder Listen indizieren)
SharePoint: Sites.FullControl.All (oder Sites.Selected)
Verbundanmeldeinformationen (erforderlich)
Abfragezeitauflösung von SharePoint-Websitegruppen über sharePointConnectorAppRegistration Fügen Sie SharePoint hinzu: User.Read.All zur gleichen App-Registrierung, die vom Indexer verwendet wird. Verbundanmeldeinformationen (erforderlich)

Hinweis

  • Wenn Sie eine Berechtigung hinzufügen, wählen Sie zwischen zwei API-Oberflächen aus: Microsoft Graph und SharePoint. Beide machen ähnlich benannte Berechtigungen verfügbar. Beispielsweise existiert Sites.FullControl.All in beiden. Fügen Sie jede Berechtigung unter der in der Tabelle angegebenen API-Oberfläche hinzu.

  • Verwenden Sie immer eine Verbundanmeldeinformation, wenn im Szenario SharePoint-API-Berechtigungen hinzugefügt werden. Clientgeheimnisse funktionieren nur für die Zeile „Dokumentbibliothek nur für Microsoft Graph“.

  • User.Read.All ist für Listenelemente und ASPX-Websiteseiten erforderlich, da der Indexer diese Berechtigungen über die SharePoint REST-API liest, die nur die E-Mail des Benutzers zurückgibt. Der Indexer ruft dann Microsoft Graph auf, um jede E-Mail-Adresse ihrer Microsoft Entra-Objekt-ID zuzuordnen, und für diese Abfrage ist User.Read.All erforderlich.

  • Wenn Sie Sites.Selected verwenden, gewähren Sie der App vor der Indizierung expliziten Zugriff auf jede SharePoint-Zielwebsite.

Verbundanmeldeinformationen ermöglichen der App die Authentifizierung mithilfe einer vertrauenswürdigen verwalteten Identität anstelle eines Clientschlüssels. Die gleichen Verbundanmeldeinformationen decken sowohl die Erfassung (Indexer) als auch die Abfragezeitbewertung von SharePoint-Websitegruppen ab. Schritte zum Einrichten finden Sie unter Konfigurieren der registrierten Anwendung mit einer verwalteten Identität.

Bevor Sie die ACL-Erfassung aktivieren

Führen Sie die folgenden Schritte für Ihre registrierte Microsoft Entra Anwendung aus:

  1. Identifizieren Sie Ihr Szenario in der vorherigen Tabelle basierend auf dem, was Sie indizieren möchten (Dokumentbibliotheksdateien, Listenelemente, ASPX-Websiteseiten), und ob SharePoint Websitegruppen berücksichtigt werden müssen.
  2. Öffnen Sie Ihre App-Registrierung im Microsoft Entra Admin Center und wechseln Sie zu API-Berechtigungen>Berechtigung hinzufügen.
  3. Fügen Sie die für Ihr Szenario aufgeführten Microsoft Graph Berechtigungen hinzu. Administratorzustimmung erteilen.
  4. Wenn Ihr Szenario auch SharePoint Berechtigungen erfordert, wählen Sie Eine Berechtigung hinzufügen erneut aus, wählen Sie die API SharePoint aus, und fügen Sie Sites.FullControl.All (oder Sites.Selected) hinzu. Administratorzustimmung erteilen.
  5. Konfigurieren Sie die Anmeldedaten:
    • Für szenarien mit nur Microsoft Graph können Sie entweder einen geheimen Clientschlüssel (Certificates & secretsClient secrets) oder Verbundanmeldeinformationen verwenden.
    • Fügen Sie für jedes Szenario, das SharePoint Berechtigungen enthält, unter Certificates & secretsFederated credentials eine Verbundanmeldeinformationen hinzu. Siehe Konfigurieren der registrierten Anwendung mit einer verwalteten Identität.
  6. Gewähren Sie der Anwendung Zugriff auf die Zielwebsites SharePoint Websites (insbesondere, wenn Sie Sites.Selected für den bereichsbezogenen Zugriff verwenden), damit sie die Inhalte und Berechtigungen lesen kann, die Sie indizieren möchten.

Suchen der richtigen Microsoft Entra-IDs

Jeder Bezeichner wird an einem anderen Ort im Azure Portal angezeigt und einem bestimmten Konfigurationsfeld zugeordnet. Verwenden Sie diesen Abschnitt als Referenz, wenn Sie SharePoint ACL-Erfassung mit Verbundanmeldeinformationen konfigurieren. Diese Bezeichner werden in Unterstützung für SharePoint-Gruppen konfigurieren und in der Verbindungszeichenfolge der Datenquelle verwendet.

Kennung Portalstandort Verwendet, wo Notizen
Anwendungs-ID der Erfassungs-App (Client) App-Registrierungen><your-app>>Übersicht ApplicationId in der Verbindungszeichenfolge der Datenquelle; applicationId in sharePointConnectorAppRegistration Diese ID ist für die meisten Konfigurationsfelder korrekt. Auch als "Client-ID" bezeichnet.
Anwendungsobjekt-ID App-Registrierungen><your-app>>Übersicht (unterhalb der Anwendungs-ID (Client-ID)) In Azure KI-Suche-Konfiguration nicht verwendet Verwechseln Sie dies nicht mit der Anwendungs-ID (Client-ID). Wird direkt unterhalb der Client-ID im selben Blatt angezeigt.
Objekt-ID für Dienstprinzipal Microsoft Entra ID>Unternehmensanwendungen><your-app>>Verwalten>Eigenschaften In Azure KI-Suche-Konfiguration nicht verwendet Dies ist die Dienstprinzipaldarstellung der App. Es ist eine andere GUID als die App-Registrierungsobjekt-ID.
Verwaltete Identitäts-Haupt-ID >Eigenschaften der verwalteten Identitätsressource oder Blatt Identität des Suchdiensts Wird nicht direkt in Azure KI-Suche Datenquelle oder Indexkonfiguration verwendet Wird intern verwendet, wenn Sie die Verbundidentitätsanmeldeinformationen für die App-Registrierung einrichten. Die Anmeldeinformationen, die Sie erstellen, vertrauen dieser Identität.
Objekt-ID der Verbundanmeldeinformationen App-Registrierungen>><your-app>Verwalten>Zertifikate & Geheimnisse>Verbundanmeldeinformationen><credential-name> In Azure KI-Suche-Konfiguration nicht verwendet Verwenden Sie nicht die GUID des Anmeldeinformationseintrags der Verbundidentität für federatedCredentialId.
Anwendungs-ID für Verbundanmeldeinformationen Systemseitig zugewiesen: Microsoft Entra ID>Unternehmensanwendungen><search-service>>; Benutzerseitig zugewiesen: <managed-identity-resource>>Eigenschaften FederatedCredentialApplicationId in der Verbindungszeichenfolge der Datenquelle; federatedCredentialId in sharePointConnectorAppRegistration Weitere Informationen zum Suchen der verwalteten Identität finden Sie unter Anwendungs-ID der Verbundanmeldeinformationen.

Anwendungs-ID für Verbundanmeldeinformationen

Verwenden Sie für FederatedCredentialApplicationId in der Verbindungszeichenfolge der Datenquelle und für federatedCredentialId in der Indexdefinition die eigene Anwendungs-ID (Client-ID) der verwalteten Identität, nicht die ID der Erfassungs-App.

Vom System zugewiesene verwaltete Identität:

  1. Wechseln Sie zu Ihrem Azure KI-Suche-Dienst.
  2. Wählen Sie "Sicherheit + Netzwerkidentität>" aus.
  3. Notieren Sie sich auf der Registerkarte Vom System zugewiesen die Objekt-ID (Prinzipal).
  4. Wechseln Sie zu Microsoft Entra ID>Manage>Enterprise-Anwendungen.
  5. Suchen Sie nach Ihrem Suchdienstnamen, oder fügen Sie die Objekt-ID (Prinzipal) in das Suchfeld ein.
  6. Wählen Sie das Ergebnis aus, und öffnen Sie "Eigenschaften". Kopieren Sie die hier gezeigte Anwendungs-ID , bei der es sich um den Wert FederatedCredentialApplicationId in der Datenquelle und federatedCredentialId im Index handelt.

Vom Benutzer zugewiesene verwaltete Identität:

  1. Wechseln Sie zur vom Benutzer zugewiesenen verwalteten Identitätsressource.
  2. Wählen Sie Einstellungen>Eigenschaften aus.
  3. Kopieren Sie die Client-ID, bei der es sich um den Wert FederatedCredentialApplicationId in der Datenquelle und federatedCredentialId im Index handelt.

Konfigurieren des Suchdienstes für die ACL-Erfassung und die Durchsetzung zur Abfragezeit

Diese Schritte konfigurieren Ihren Suchdienst für die ACL-Integration und aktivieren die ACL-Anerkennung während der Abfrage.

Auswählen, wo ACL-Felder aufgefüllt werden sollen

Wo Sie die ACL-Metadatenfelder zuordnen, hängt davon ab, ob der Indexer ein Dokument pro Quellelement oder mehrere Blöcke pro Quellelement schreibt.

Szenario Auffüllen von ACL-Feldern über Warum?
Kein Skillset oder Skillset ohne Segmentierung; ein Suchdokument pro Quellelement Indexer-Feldzuordnungen nur (metadata_user_ids → UserIds, metadata_group_ids → GroupIds und für SharePoint Gruppen metadata_spo_site_url → SharePointSiteUrl). Der Indexer schreibt ein einzelnes Dokument in den Zielindex, und Feldzuordnungen ordnen Quellmetadaten den Indexfeldern zu.
Skillset mit Segmentierung (z. B. Textaufteilungs-Skill für integrierte Vektorisierung), ein einzelner Index mit übergeordneten Feldern, die in jedem Segment wiederholt werden (projectionMode: skipIndexingParentDocuments) Indexprojektionen im Skillset (mappings aus /document/metadata_user_ids, /document/metadata_group_ids und für SharePoint-Gruppen /document/metadata_spo_site_url). Das übergeordnete Dokument ist nicht indexiert; nur Textsegmente sind es. ACL-Werte müssen auf jeden Block projiziert werden, sodass Abfragezeitfilter auf den in Ergebnissen zurückgegebenen Block angewendet werden. Indexerfeldzuordnungen für diese Felder werden in diesem Modus umgangen.
Skillset mit Segmentierung, Muster mit zwei Indizes (übergeordneter Index + untergeordneter Segmentindex) Beides: Indexerfeldzuordnungen füllen ACL-Felder im übergeordneten Index auf, Indexprojektionen füllen ACL-Felder im untergeordneten Segmentindex auf. Beide Indizes sind abfragbar, und jede benötigt die metadaten, nach denen sie filtert.

In allen Segmentierungsszenarien muss jedes Segment die ACL-Felder enthalten. Berechtigungsfilter gelten pro Dokument, sodass ein Chunk, dem ACL-Felder fehlen, nicht an den richtigen Aufrufer zurückgegeben werden kann.

1. Datenquellenkonfiguration

Dieser Abschnitt ist ein Delta über der grundlegenden exemplarischen Vorgehensweise gemäß Schritt 4: Erstellen einer Datenquelle. Legen Sie indexerPermissionOptions in der Datenquellendefinition fest, um die Indizierung von userIds und groupIds aus SharePoint Dokumenten zu ermöglichen.

{
  "name": "my-sharepoint-acl-datasource",
  "type": "sharepoint",
  "indexerPermissionOptions": ["userIds", "groupIds"],
  "credentials": {
    "connectionString": "<connection-string>;"
  },
  "container": {
    "name": "<library-name>",
    "query": "<optional-folder-path>"
  }
}

2. Hinzufügen von Berechtigungsfeldern zur Indexdefinition

Fügen Sie Ihrer Indexschemadefinition Felder hinzu, um ACLs zu speichern und abfragezeitfiltern zu unterstützen.

{
  "fields": [
    { "name": "UserIds",  "type": "Collection(Edm.String)", "permissionFilter": "userIds",  "filterable": true, "retrievable": false },
    { "name": "GroupIds", "type": "Collection(Edm.String)", "permissionFilter": "groupIds", "filterable": true, "retrievable": false }
  ],
  "permissionFilterOption": "enabled"
}

Legen Sie das Attribut retrievable nur während der Entwicklung auf true fest, um die Werte zu verifizieren. Sie können "retrievable" von "true" in "false" ändern, ohne eine Indexneuerstellung zu erfordern.

3. Konfigurieren von Indexprojektionen in Ihrem Skillset (falls zutreffend)

Wenn Chunking aktiviert ist, wird das übergeordnete Dokument nicht in den Index geschrieben, wenn projectionModeskipIndexingParentDocuments ist. Übertragen Sie die ACL-Metadaten über indexProjections.selectors[].mappings für jeden Chunk.

Wenn Ihr Indexer ein Skillset mit Datenblöcken verwendet, z. B. die Fähigkeit "Textteilung" beim Aktivieren der integrierten Vektorisierung, stellen Sie sicher, dass ACL-Eigenschaften mithilfe von Indexprojektionen jedem Abschnitt zugeordnet werden. Die // Zeilen im folgenden Beispiel sind illustrative Anmerkungen und sind keine gültigen JSON-Werte. Entfernen Sie sie, bevor Sie die Anforderung übermitteln.

PUT https://{service}.search.windows.net/skillsets/{skillset}?api-version=2026-08-01-preview
{
  "name": "my-skillset",
  "skills": [
    {
      "@odata.type": "#Microsoft.Skills.Text.SplitSkill",
      "name": "#split",
      "context": "/document",
      "inputs": [{ "name": "text", "source": "/document/content" }],
      "outputs": [{ "name": "textItems", "targetName": "chunks" }]
    }
    // ... (other skills such as embeddings, entity recognition, etc.)
  ],
  "indexProjections": {
    "selectors": [
      {
        "targetIndexName": "chunks-index",
        "parentKeyFieldName": "parentId",          // must exist in target index
        "sourceContext": "/document/chunks/*",     // match your split output path
        "mappings": [
          { "name": "chunkId",           "source": "/document/chunks/*/id" },     // if you create an id per chunk
          { "name": "content",           "source": "/document/chunks/*/text" },   // chunk text
          { "name": "parentId",          "source": "/document/id" },              // parent doc id
          { "name": "UserIds",  "source": "/document/metadata_user_ids" },
          { "name": "GroupIds",  "source": "/document/metadata_group_ids" },
          { "name": "SharePointSiteUrl", "source": "/document/metadata_spo_site_url" } // include when the index has sharePointConnectorAppRegistration (SharePoint groups support)
        ]
      }
    ],
    "parameters": {
      "projectionMode": "skipIndexingParentDocuments"
    }
  }
}

Die Zuordnungen UserIds, GroupIds und SharePointSiteUrl lesen Metadaten auf Quellenebene, die vom SharePoint-Indexer (/document/metadata_*) ausgegeben werden, und schreiben die Werte in jedes Segment.

4. Konfigurieren der Indexerfeldzuordnungen für ACLs

Verwenden Sie Indexerfeldzuordnungen, wenn der Indexer ein Dokument pro Quellelement (ohne Blöcke) schreibt oder wenn Sie einen separaten übergeordneten Index zusammen mit einem Blockindex verwalten. Wenn Ihr Skillset Dokumente in Blöcke aufteilt und dabei einen einzelnen Zielindex mit projectionMode: skipIndexingParentDocuments verwendet, werden die hier gezeigten Feldzuordnungen durch das indexProjections.mappings aus dem vorherigen Schritt für den Blockindex außer Kraft gesetzt.

Ordnen Sie ACL-Rohmetadatenfelder von SharePoint zu Ihren Indexfeldern zu, neben der erforderlichen Indexerkonfiguration.

{
  "fieldMappings": [
    { "sourceFieldName": "metadata_user_ids",  "targetFieldName": "UserIds" },
    { "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" }
  ]
}

5. Führen Sie den Indexer aus.

ACL-Metadaten werden aufgenommen, wenn der Indexer ausgeführt wird. Nachdem Sie den Indexer erstellt oder aktualisiert haben (siehe Schritt 6: Erstellen eines Indexers), lösen Sie eine Ausführung aus, sodass der Indexer ACLs zusammen mit Inhalten einnimmt.

POST https://[service name].search.windows.net/indexers/[indexer-name]/run?api-version=2026-08-01-preview
api-key: [admin key]

Wenn Sie die ACL-Erfassung für einen vorhandenen Indexer aktiviert haben, der bereits Elemente indiziert hat, rufen Sie /resync mit options: ["permissions"] auf, um ACLs für diese Elemente nachträglich aufzufüllen, oder /resetdocs, um bestimmte Elemente erneut zu extrahieren.

6. Überprüfen der ACL-Erfassung

So bestätigen Sie, dass ACL-Werte richtig ausgefüllt sind:

  1. Legen Sie in Ihrer Indexdefinition retrievable vorübergehend auf true fest für UserIds und GroupIds. Das Ändern retrievable erfordert keine Indexneuerstellung.
  2. Führen Sie eine Abfrage mit erweiterten Leseberechtigungen aus, die UserIds und GroupIds auswählt, und bestätigen Sie, dass die Sammlungen nicht leer sind. Vergewissern Sie sich bei chunkbasierten Szenarien, dass jeder Chunk beide Felder enthält.
  3. Senden Sie retrievable nach der Überprüfung an false zurück.

Konfigurieren SharePoint Gruppenunterstützung

Ab der REST-API 2026-05-01 kann der SharePoint Indexer SharePoint Websitegruppenmitgliedschaften (Besitzer, Mitglieder, Besucher und benutzerdefinierte Websitegruppen) erfassen. Dies berücksichtigt diese Gruppen zur Abfragezeit. SharePoint-Gruppe IDs werden im Feld metadata_group_ids mit dem Präfix spg: ausgegeben, um sie von Microsoft Entra Gruppenobjekt-IDs zu unterscheiden.

Diese exemplarische Vorgehensweise ist in sich abgeschlossen: Führen Sie die Schritte der Reihe nach aus, um den Index und die Indexerfeldzuordnungen zu konfigurieren und den Index mit Durchsetzung von SharePoint-Websitegruppen abzufragen.

Die folgenden Komponenten arbeiten zusammen, um die Auflösung von SharePoint-Websitegruppen zu ermöglichen:

Bestandteil Hierbei gilt: Purpose
sharePointConnectorAppRegistration (mit applicationId, tenantId, federatedCredentialId) Definition des Index Stellt die für den Suchdienst erforderliche Authentifizierungskonfiguration bereit, um die SharePoint REST-API als aufrufenden Benutzer aufzurufen und die Websitegruppenmitgliedschaft zur Abfragezeit aufzulösen.
SharePointSiteUrl Feld (mit sharepointSiteUrl: true) Indexschema + Feldzuordnung des Indexers von metadata_spo_site_url Gibt an, zu welcher SharePoint-Website ein Dokument gehört, damit die Auflösung von SP-Gruppen korrekt eingegrenzt wird.
Werte mit dem Präfix spg: in GroupIds Dokumentberechtigungsmetadaten Unterscheiden Sie SharePoint Websitegruppen-IDs von Microsoft Entra Gruppenobjekt-IDs.

1. Voraussetzungen

Hinweis

FederatedCredentialApplicationId in der Verbindungszeichenfolge der Datenquelle und federatedCredentialId in sharePointConnectorAppRegistration verwenden Sie die Anwendungs-ID der verwalteten Identität. Die Eigenschaft applicationId in sharePointConnectorAppRegistration verwendet die Client-ID der Erfassungs-App. Informationen zum Auffinden der richtigen Werte finden Sie unter "Suchen der richtigen Microsoft Entra Bezeichner".

2. Konfigurieren des Indexes

Fügen Sie die sharePointConnectorAppRegistration Konfiguration und das SharePointSiteUrl Feld zusammen mit den UserIds Feldern und GroupIds Berechtigungsfiltern hinzu, sodass sich das vollständige Index-Shape an einer zentralen Stelle befindet. Behalten Sie permissionFilterOption: "enabled".

PUT https://{service}.search.windows.net/indexes/{index}?api-version=2026-08-01-preview
{
  "name": "my-sharepoint-acl-index",
  "sharePointConnectorAppRegistration": {
      "applicationId": "<ingestion-app-client-id>",
      "federatedCredentialId": "<managed-identity-application-id>",
     "tenantId": "<sharepoint-tenant-id>"
  },
  "fields": [
    { "name": "UserIds",           "type": "Collection(Edm.String)", "permissionFilter": "userIds",  "filterable": true, "retrievable": false },
    { "name": "GroupIds",          "type": "Collection(Edm.String)", "permissionFilter": "groupIds", "filterable": true, "retrievable": false },
    { "name": "SharePointSiteUrl", "type": "Edm.String", "sharepointSiteUrl": true, "filterable": false, "retrievable": false }
  ],
  "permissionFilterOption": "enabled"
}

3. Konfigurieren der Indexerfeldzuordnungen

Ordnen Sie die SharePoint Metadatenfelder den Indexfeldern in einem einzigen kombinierten Zuordnungsblock zu. Die ersten beiden Zuordnungen sind dieselben, die für die standardmäßige ACL-Erfassung verwendet werden; die dritte Zuordnung aktiviert die Auflösung von SharePoint-Gruppen.

{
  "fieldMappings": [
    { "sourceFieldName": "metadata_user_ids",             "targetFieldName": "UserIds" },
    { "sourceFieldName": "metadata_group_ids",            "targetFieldName": "GroupIds" },
    { "sourceFieldName": "metadata_spo_site_url",  "targetFieldName": "SharePointSiteUrl" }
  ]
}

Wenn Ihr Skillset Dokumente in Blöcke aufteilt (z. B. mit der Fertigkeit zur Textaufteilung für die integrierte Vektorisierung), projizieren Sie stattdessen SharePointSiteUrl über indexProjections.mappings auf jeden Block. Siehe Auswählen, wo ACL-Felder aufgefüllt werden sollen.

4. Abfragen des Indexes

Es ist keine clientseitige Änderung erforderlich. Dasselbe x-ms-query-source-authorization-Token aktiviert sowohl die Microsoft Entra-Durchsetzung als auch die Durchsetzung von SharePoint-Websitegruppen. Der Suchdienst löst die Mitgliedschaften von SharePoint-Gruppen serverseitig unter Verwendung von sharePointConnectorAppRegistration im Index auf.

Das Anforderungsformat finden Sie im allgemeinen Abfragebeispiel sowie im SharePoint-spezifischen Beispiel mit Erzwingung von SharePoint-Websitegruppen.

5. Überprüfen

Um zu bestätigen, dass SharePoint-Gruppe IDs im Index landen, führen Sie eine elevated-read query aus, die GroupIds auswählt, und suchen Sie in der Antwort nach spg:-präfixierten Werten.

Berechtigungen zwischen indizierten und Quellinhalten synchronisieren

Ab der REST-API 2026-05-01-Vorschau werden ACL-Änderungen für Elemente mit eindeutigen Berechtigungen erkannt und bei jeder erfolgreichen Indizierungsausführung aktualisiert. Der Indexer verwendet SharePoint-Änderungstoken, um Hinzufügungen und Entfernungen von Rollenzuweisungen inkrementell zu erfassen, genauso wie er Inhaltsänderungen erfasst.

Für einige Szenarien ist weiterhin eine explizite Aktualisierung erforderlich:

Bereich ändern Automatisch erkannt Empfohlene Maßnahme
Berechtigungen für ein bestimmtes Element mit eindeutigen Berechtigungen (Datei, Listenelement oder Seite) Ja Keine Aktion erforderlich. Die Änderung wird bei der nächsten erfolgreichen Indexerausführung übernommen.
Inhaltsänderung für ein bestimmtes Element (wodurch auch effektive ACLs für dieses Element neu ausgewertet werden) Ja Keine Aktion erforderlich.
Berechtigungen ändern sich für einen übergeordneten Bereich (Website, Bibliothek, Liste oder Ordner), der von untergeordneten Elementen geerbt wird. No Rufen Sie /resync mit options: ["permissions"] auf, um die ACLs in der gesamten Datenquelle zu aktualisieren, oder rufen Sie /resetdocs mit den betroffenen Dokumentschlüsseln auf, um sowohl Inhalte als auch ACLs zu aktualisieren.
ACL-Erfassung für einen vorhandenen Indexer aktiviert No Rufen Sie /resync mit options: ["permissions"] auf, um ACLs für zuvor indizierte Elemente nachzutragen.

Zurücksetzen bestimmter Dokumente

Sie können bestimmte Dokumente zurücksetzen, um Inhalte und ACLs vollständig neu zu erfassen.

POST https://{service}.search.windows.net/indexers/{indexer}/resetdocs?api-version=2026-08-01-preview
{
  "documentKeys": ["doc123", "doc456"]
}

Resynchronisieren der ACLs über die gesamte Datenquelle hinweg

Sie können den ACL-Inhalt des vollständigen Datasets nach der ursprünglichen Erfassung vollständig erneut synchronisieren. Um diesen Vorgang vollständig erfolgreich abzuschließen, ist nach Abschluss ein Indexer-Lauf erforderlich.

POST https://{service}.search.windows.net/indexers/{indexer}/resync?api-version=2026-08-01-preview
{
  "options": ["permissions"]
}

Wichtig

Wenn Sie SharePoint Berechtigungen ändern, ohne einen Aktualisierungsmechanismus auszulösen, dient der Index veralteten ACL-Daten für zuvor aufgenommene Dateien.

Nach der Indizierung Ihrer Daten und ACLs können Sie den Index abfragen.

Problembehandlung

Symptom Ursache und Auflösung
UserIds oder GroupIds sind in indizierten Dokumenten leer Wenn Ihr Skillset projectionMode: skipIndexingParentDocuments verwendet, werden Feldzuordnungen des Indexers für ACL-Felder umgangen. Legen Sie stattdessen die ACL-Felder bei jedem Chunk über indexProjections.mappings fest.
SharePoint Websitegruppen-IDs fehlen, oder GroupIds-Werte verfügen nicht über das Präfix spg: Vergewissern Sie sich, dass der Index mit der Konfiguration sharePointConnectorAppRegistration konfiguriert ist, das Feld SharePointSiteUrl mit sharepointSiteUrl: true vorhanden ist und das Mapping metadata_spo_site_url in den Feldzuordnungen des Indexers oder in den Indexprojektionen vorhanden ist.
SharePointSiteUrl ist nach der Indizierung leer oder null, obwohl die ACLs ansonsten korrekt gefüllt werden Der Indexer gibt diese Metadaten unter metadata_spo_site_url, nicht metadata_sharepoint_site_url. Stellen Sie sicher, dass die Feldzuordnung des Indexers "sourceFieldName": "metadata_spo_site_url" verwendet. Wenn Ihr Skillset Indexprojektionen für in Blöcke aufgeteilte Dokumente verwendet, überprüfen Sie, ob die Quelle der Projektionszuordnung /document/metadata_spo_site_url ist.
Der Indexer gibt 401 oder 403 zurück. Erteilen Sie der Administratorzustimmung sowohl für Microsoft Graph als auch für SharePoint API-Berechtigungen für Ihr Szenario. Verwenden Sie Verbundanmeldeinformationen anstelle eines Clientschlüssels, wenn das Szenario dies erfordert. Siehe Berechtigungen nach ACL-Szenario.
Berechtigungen sind veraltet, nachdem sie eine Website, Bibliothek, Liste oder Ordner-ACL geändert haben. Rufen Sie /resync mit options: ["permissions"] an. Siehe Synchronisieren von Berechtigungen zwischen indizierten und Quellinhalten für den Kontext.
federatedCredentialId wird beim Konfigurieren von sharePointConnectorAppRegistration abgelehnt Verwenden Sie die Anwendungs-ID der verwalteten Identität, nicht die Objekt-ID der Verbundidentität oder die Prinzipal-ID der verwalteten Identität. Siehe Anwendungs-ID für den Verbundidentitätsnachweis.
Der Indexer gibt zurück 401 Unauthorized und FederatedCredentialApplicationId wird festgelegt. Überprüfen Sie, ob Sie die Anwendungs-ID der verwalteten Identität verwendet haben (zu finden unter Unternehmensanwendungen) und nicht die Anwendungs-ID (Client-ID) der Erfassungs-App (ApplicationId) oder irgendeine Objekt-ID. Verwenden Sie für eine vom Benutzer zugewiesene verwaltete Identität die Client-ID auf der Eigenschaftenseite der verwalteten Identitätsressource. Siehe "Suchen der richtigen Microsoft Entra-IDs".

Informationen zu fehlenden, unerwarteten oder fehlgeschlagenen Abfragezeitergebnissen, nachdem ACL-Metadaten indiziert wurden, finden Sie unter Problembehandlung SharePoint Berechtigungsfilterung.