Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.
Ważne
Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.
Pozyskiwanie metadanych uprawnień programu SharePoint (wersja zapoznawcza) wykorzystuje indeksator usługi Wyszukiwanie AI platformy Azure, aby zachować metadane uprawnień, takie jak listy kontroli dostępu (ACL), razem z inną zawartością programu SharePoint w usłudze Microsoft 365. Indeksator przechowuje uprawnienia jako metadane dla każdego indeksowanego dokumentu. W czasie wykonywania zapytania użytkownicy otrzymują tylko dokumenty, do których mają uprawnienia dostępu.
Ważne
W przypadku scenariuszy wymagających pełnego modelu uprawnień SharePoint, etykiet poufności oraz przycinania zabezpieczeń z gotowego szablonu, należy użyć zdalnego źródła wiedzy SharePoint. Takie podejście wywołuje SharePoint bezpośrednio za pośrednictwem interfejsu API pobierania Copilot. Ład pozostaje w pełni w SharePoint, a wyniki zapytań automatycznie przestrzegają wszystkich odpowiednich uprawnień i etykiet.
Wymagania wstępne
Wyszukiwanie AI platformy Azure w warstwie rozliczanej (Podstawowa lub nowsza) w dowolnym regionie.
SharePoint w witrynach Microsoft 365, bibliotekach, folderach i plikach ze skonfigurowanymi uprawnieniami.
Wykonaj wszystkie kroki konfiguracji w dokumentacji indeksatora SharePoint, stosując wszystkie wymagania specyficzne dla ACL opisane w tym artykule.
Skonfiguruj Microsoft Entra uprawnienia aplikacji i poświadczenia odpowiednie dla danego scenariusza. Zobacz Scenariusz uprawnień według listy ACL. Importowanie ACL wymaga uprawnień aplikacji. Delegowane uprawnienia nie są obsługiwane. Informacje na temat wyboru między uprawnieniami aplikacji a uprawnieniami delegowanymi znajdziesz w artykule Wybierz konfigurację uprawnień.
Interfejs API REST w wersji 2026-08-01-preview lub równoważny pakiet zestawu SDK w wersji zapoznawczej.
Ograniczenia
Przyrostowe aktualizacje listy ACL wymagają interfejsu API REST 2026-05-01-preview lub nowszego. We wcześniejszych wersjach zapoznawczych interfejsu API system rejestruje listy ACL tylko przy pierwszym pozyskaniu każdego elementu. Późniejsze zmiany uprawnień wymagają jawnego ponownego indeksowania. Aby uzyskać instrukcje migracji, zobacz Synchronizowanie uprawnień między indeksowaną i źródłową zawartością.
Zmiany uprawnień zakresu nadrzędnego nie są automatycznie uwzględniane podczas kolejnych uruchomień indeksatora. Aby zapoznać się z opcjami odświeżania, zobacz Synchronizowanie uprawnień między indeksowaną i źródłową zawartością.
Portal Azure nie obsługuje tej funkcji.
Następujące funkcje nie są obsługiwane w tej wersji zapoznawczej:
SharePoint zasady zarządzania informacjami mające zastosowanie do dostępu użytkowników. Ten system nie ocenia, nie wczytuje ani nie uwzględnia tych zasad podczas wykonywania zapytań.
Linki z możliwością udostępniania są ograniczone do zakresu "Każdy" lub "Osoby w organizacji". Obsługiwane są tylko linki o zakresie "Określone osoby".
Grupy programu SharePoint (takie jak grupy Właściciele, Członkowie i Odwiedzający) są obsługiwane od wersji 2026-05-01-preview interfejsu API REST. Zobacz Konfigurowanie obsługi grup SharePoint. We wcześniejszych wersjach zapoznawczych interfejsu API obsługiwane są tylko grupy SharePoint mapowane na grupy Microsoft Entra.
Następujące funkcje indeksatora nie obsługują dziedziczenia uprawnień w indeksowanych dokumentach pochodzących z SharePoint. Jeśli używasz żadnej z tych funkcji w zestawie umiejętności lub indeksatorze, uprawnienia na poziomie dokumentu nie są uwzględniane w indeksowanej zawartości.
Repozytorium wiedzy, w tym magazyn zasobów wymagany do udostępniania obrazów (wersja zapoznawcza) w wyszukiwaniu agentowym. W związku z tym udostępnianie obrazów nie jest obsługiwane dla źródeł wiedzy, które pobierają listy kontroli dostępu (ACL) z usługi SharePoint.
Obsługa modelu uprawnień SharePoint
Ta wersja zapoznawcza obsługuje podstawowe listy kontroli dostępu (ACL) dla dokumentów, elementów listy i nowoczesnych stron ASPX w witrynie.
| funkcja SharePoint | Opis | Wspierane | Notatki |
|---|---|---|---|
| Dziedziczenie witryny, biblioteki, listy i strony | Witryna → biblioteka/lista → folder → plik/element/strona. | ✔️ | Oceniane podczas importu; efektywne listy ACL są obliczane dla każdego elementu. |
| Unikatowe uprawnienia ACL folderu, pliku, elementu listy i strony | Dostęp na poziomie elementu. | ✔️ | Uwzględniane podczas pierwszego zaimportowania oraz kolejnych uruchomień wykrywających zmiany na liście ACL dla elementów z unikatowymi uprawnieniami. |
| Elementy listy SharePoint | Uprawnienia do elementów listy (allSiteLists i allSiteContent kontenerów). |
✔️ | Wersja zapoznawcza, począwszy od interfejsu API REST 2026-05-01-preview. |
| Strony witryny ASPX | Uprawnienia na nowoczesnych stronach witryny (w kontenerach allSitePages i allSiteContent). |
✔️ | Wersja zapoznawcza, począwszy od interfejsu API REST 2026-05-01-preview. |
| grupy Microsoft Entra (Microsoft 365 i zabezpieczenia) | Dostęp oparty na grupach. | ✔️ | Identyfikatory grup są uwzględniane, jeśli można je przypisać do identyfikatora Microsoft Entra (ID). |
| SharePoint grup witryn | Właściciele/Członkowie/Odwiedzający i niestandardowe grupy witryn. | ✔️ | Wersja zapoznawcza, począwszy od interfejsu API REST 2026-05-01-preview. Wymaga konfiguracji grup SharePoint. Identyfikatory grup są emitowane z prefiksem spg: . |
| Linki udostępniane dla "Dla każdego" lub "Osoby w Twojej organizacji" | Dostęp w całej organizacji lub publiczny. | ❌ | Niewspierane w wersji zapoznawczej. |
| Użytkownicy zewnętrzni/goście | Dostęp dla gości. | ❌ | Nie jest obsługiwane. |
| Zasady zarządzania informacjami | Zasady definiujące określone wymagania dotyczące uprawnień. | ❌ | Niewspierane w wersji zapoznawczej. |
| Etykiety poufności Purview | Zabezpieczenia na poziomie dokumentu dotyczące prywatności, kategoryzacji, uprawnień i szyfrowania | ❌ | Obsługiwane za pomocą oddzielnej funkcji: zachowywanie i honorowanie etykiet poufności. |
Obsługiwane relacje grup
Przechodniość grup w usłudze Microsoft Entra ma zastosowanie w obrębie usługi Microsoft Entra. Nie rozwija grup Microsoft Entra, które są członkami grup programu SharePoint.
| Relacja uprawnień | Wspierane | Wskazówki |
|---|---|---|
| Użytkownik lub grupa Microsoft Entra przypisana bezpośrednio do elementu SharePoint | Yes | Indeksator przechowuje identyfikator obiektu użytkownika lub grupy Microsoft Entra w metadanych uprawnień elementu. |
| Użytkownik osiąga przypisaną grupę Microsoft Entra za pomocą przejściowego zagnieżdżania grup Microsoft Entra | Yes | Rozwiązanie Microsoft Graph czasu zapytania rozszerza przechodnie członkostwo użytkownika w grupach Microsoft Entra. |
| Użytkownik przypisany bezpośrednio do grupy witryn SharePoint, która ma dostęp do elementu | Yes | Konfigurowanie obsługi grup SharePoint. |
| grupa Microsoft Entra zagnieżdżona w grupie programu SharePoint | No | Rozpoznawanie grupy SharePoint nie rozwija zagnieżdżonej grupy Microsoft Entra. Wyniki zależne od tej relacji są odfiltrowywane. Dodaj użytkowników bezpośrednio do grupy programu SharePoint lub przyznaj uprawnienia za pomocą obsługiwanego przypisania grupy w Microsoft Entra. |
| Inne mieszane kierunki zagnieżdżania w SharePoint i Microsoft Entra | Nieokreślona | Nie zakładaj obsługi na podstawie przechodniości rozwiązania Microsoft Entra. To ograniczenie wersji zapoznawczej jest ograniczone do grup Microsoft Entra zagnieżdżonych w grupach SharePoint. |
Jak oceniane są uprawnienia hierarchiczne
SharePoint uprawnienia dziedziczą hierarchię witryna → biblioteka → folder → plik, chyba że dziedziczenie zostanie przerwane.
Podczas pozyskiwania indeksator zbiera identyfikatory użytkowników i grup (ID) na każdym poziomie i oblicza obowiązującą listę ACL dla każdego pliku.
Uprawnienia w scenariuszu ACL
Uprawnienia aplikacji Microsoft Entra oraz typ poświadczeń wymagane do pozyskiwania danych ACL zależą od tego, jakie typy elementów i grup indeksujesz. W rejestracji aplikacji wszystkie uprawnienia są dodawane w obszarze Uprawnienia >Dodaj uprawnienie, a poświadczenia federacyjne są dodawane w obszarze Certyfikaty i wpisy tajne>Poświadczenia federacyjne. Aby uzyskać instrukcje krok po kroku i zrzuty ekranu, zobacz Krok 3: Tworzenie rejestracji aplikacji Microsoft Entra i Konfigurowanie zarejestrowanej aplikacji przy użyciu tożsamości zarządzanej.
| Scenario | Uprawnienia interfejsu API umożliwiające dodawanie | Credential |
|---|---|---|
| Listy ACL plików w bibliotekach dokumentów, gdy dostęp jest przyznawany tylko za pośrednictwem użytkowników Microsoft Entra i grup standardowych (grup zabezpieczeń Microsoft Entra, grup Microsoft 365, grup zabezpieczeń obsługujących pocztę) |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (lub Sites.Selected w celu uzyskania dostępu ograniczonego do zakresu) |
Klucz tajny klienta lub poświadczenie federacyjne |
| Listy kontroli dostępu (ACL) dla plików w bibliotekach dokumentów, gdy grupy witryn programu SharePoint (Właściciele, Członkowie, Odwiedzający lub niestandardowe grupy witryn) również muszą być uwzględniane |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (lub Sites.Selected)SharePoint: Sites.FullControl.All (lub Sites.Selected) |
Poświadczenie federacyjne (wymagane) |
| Listy ACL w elementach listy SharePoint |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (lub Sites.Selected), User.Read.AllSharePoint: Sites.FullControl.All (lub Sites.Selected) |
Poświadczenie federacyjne (wymagane) |
| Zawartość i listy ACL na stronach witryny ASPX |
Microsoft Graph: Sites.FullControl.All (lub Sites.Selected), User.Read.All (zachowaj Files.Read.All z powyższych wierszy, jeśli indeksujesz również biblioteki dokumentów lub listy)SharePoint: Sites.FullControl.All (lub Sites.Selected) |
Poświadczenie federacyjne (wymagane) |
Ustalanie grup witryny SharePoint w czasie wykonywania zapytania za pośrednictwem sharePointConnectorAppRegistration |
Dodaj SharePoint: User.Read.All do tej samej rejestracji aplikacji używanej przez indeksator |
Poświadczenie federacyjne (wymagane) |
Uwaga
Po dodaniu uprawnienia można wybrać między dwoma powierzchniami interfejsu API: Microsoft Graph i SharePoint. Oba uwidaczniają podobnie nazwane uprawnienia. Na przykład
Sites.FullControl.Allistnieje w obu tych przypadkach. Dodaj każde uprawnienie w ramach powierzchni interfejsu API wskazanej w tabeli.Użyj poświadczenia federacyjnego zawsze, gdy scenariusz dodaje uprawnienia interfejsu API programu SharePoint. Klucze tajne klienta działają tylko w przypadku wiersza biblioteki dokumentów przeznaczonego wyłącznie dla usługi Microsoft Graph.
User.Read.Alljest wymagany dla elementów listy i stron witryny ASPX, ponieważ indeksator odczytuje te uprawnienia za pośrednictwem interfejsu API REST SharePoint, który zwraca tylko adres e-mail użytkownika. Następnie indeksator wywołuje Microsoft Graph, aby przyporządkować każdy adres e-mail do identyfikatora obiektu Microsoft Entra, a to wyszukiwanie wymagaUser.Read.All.Jeśli używasz
Sites.Selected, przed indeksowaniem przyznaj aplikacji jawny dostęp do każdej witryny docelowej SharePoint.
Poświadczenie federacyjne uwierzytelnia aplikację przy użyciu zaufanej tożsamości zarządzanej zamiast klucza tajnego klienta. To samo poświadczenie federacyjne obejmuje zarówno pobieranie danych (indeksator), jak i ocenę grup witryn programu SharePoint w czasie wykonywania zapytania. Aby uzyskać instrukcje konfiguracji, zobacz Konfigurowanie zarejestrowanej aplikacji przy użyciu tożsamości zarządzanej.
Przed włączeniem importowania list ACL
Wykonaj następujące kroki w zarejestrowanej aplikacji Microsoft Entra:
- Zidentyfikuj swój scenariusz w poprzedniej tabeli na podstawie tego, co planujesz indeksować (pliki bibliotek dokumentów, elementy listy, strony witryny ASPX) oraz tego, czy grupy witryn programu SharePoint muszą być uwzględniane.
- Otwórz rejestrację aplikacji w centrum administracyjne Microsoft Entra i przejdź do pozycji API permissions>Dodaj uprawnienie.
- Dodaj uprawnienia Microsoft Graph wymienione dla danego scenariusza. Udziel zgody administratora.
- Jeśli twój scenariusz wymaga również uprawnień programu SharePoint, ponownie wybierz pozycję Dodaj uprawnienie, wybierz interfejs API SharePoint i dodaj
Sites.FullControl.All(lubSites.Selected). Udziel zgody administratora. - Skonfiguruj poświadczenia:
- W przypadku scenariuszy korzystających wyłącznie z Microsoft Graph można użyć klucza tajnego klienta (Certificates & secrets>Client secrets) lub poświadczenia federacyjnego.
- W przypadku każdego scenariusza obejmującego uprawnienia SharePoint dodaj poświadczenie federacyjne pod Certificates & secrets>Federated credentials. Zobacz Konfigurowanie zarejestrowanej aplikacji przy użyciu tożsamości zarządzanej.
- Przyznaj aplikacji dostęp do docelowych witryn SharePoint (co jest szczególnie ważne w przypadku dostępu o określonym zakresie przy użyciu
Sites.Selected), aby mogła odczytywać treści i uprawnienia, które chcesz zindeksować.
Znajdowanie prawidłowych identyfikatorów Microsoft Entra
Każdy identyfikator występuje w innym miejscu w portalu Azure i odpowiada określonemu polu konfiguracji. Użyj tej sekcji jako punktu odniesienia podczas konfigurowania pozyskiwania uprawnień ACL w SharePoint przy użyciu poświadczenia federacyjnego. Do tych identyfikatorów odwołano się w sekcji Konfigurowanie obsługi grup SharePoint oraz w parametrach połączenia źródła danych.
| Identyfikator | Lokalizacja portalu | Stosowane tam, gdzie | Notatki |
|---|---|---|---|
| Identyfikator aplikacji pozyskiwania (klienta) |
Rejestracje aplikacji><your-app>>Przegląd |
ApplicationId w parametrach połączenia źródła danych; applicationId w sharePointConnectorAppRegistration |
Ten identyfikator jest poprawny dla większości pól konfiguracji. Nazywany również "identyfikatorem klienta". |
| Identyfikator obiektu aplikacji |
Rejestracje aplikacji><your-app>>Przegląd (poniżej identyfikatora aplikacji (klienta)) |
Nieużytne w konfiguracji Wyszukiwanie AI platformy Azure | Nie należy mylić tego z identyfikatorem aplikacji (klienta). Zostanie on wyświetlony w tym samym bloku bezpośrednio poniżej identyfikatora klienta. |
| Identyfikator obiektu jednostki usługi |
Microsoft Entra ID>Aplikacje dla przedsiębiorstw><your-app>>Zarządzanie>Właściwości |
Nieużytne w konfiguracji Wyszukiwanie AI platformy Azure | To jest reprezentacja aplikacji w postaci jednostki usługi. To inny identyfikator GUID niż identyfikator obiektu rejestracji aplikacji. |
| Identyfikator podmiotu zabezpieczeń tożsamości zarządzanej | > zasobu tożsamości zarządzanej lub karta Tożsamość usługi wyszukiwania | Nie jest używane bezpośrednio w konfiguracji źródła danych lub indeksu usługi Wyszukiwanie AI platformy Azure | Używane wewnętrznie podczas konfigurowania poświadczenia tożsamości federacyjnej w ramach rejestracji aplikacji. Utworzone poświadczenie uwierzytelniające darzy tę tożsamość zaufaniem. |
| ID obiektu federacyjnego poświadczenia |
Rejestracje aplikacji><your-app>>Zarządzaj>Certyfikaty i wpisy tajne>Poświadczenia federacyjne><credential-name> |
Nieużytne w konfiguracji Wyszukiwanie AI platformy Azure | Nie używaj identyfikatora GUID wpisu poświadczenia federacyjnej tożsamości dla elementu federatedCredentialId. |
| Identyfikator aplikacji poświadczeń federacyjnych | Przypisane przez system: Microsoft Entra ID>Aplikacje dla przedsiębiorstw><search-service>>; Przypisane przez użytkownika: <managed-identity-resource>>Właściwości |
FederatedCredentialApplicationId w parametrach połączenia źródła danych; federatedCredentialId w sharePointConnectorAppRegistration |
Zobacz Identyfikator aplikacji poświadczeń federacyjnych , aby wyszukać tożsamość zarządzaną. |
Identyfikator aplikacji poświadczeń federacyjnych
W przypadku FederatedCredentialApplicationId w parametrach połączenia ze źródłem danych oraz federatedCredentialId w definicji indeksu użyj własnego identyfikatora aplikacji (klienta) tożsamości zarządzanej, a nie identyfikatora aplikacji pozyskiwania danych.
Tożsamość zarządzana przypisana przez system:
- Przejdź do usługi Wyszukiwanie AI platformy Azure.
- Wybierz pozycję Zabezpieczenia i tożsamość sieciowa>.
- Na karcie Przypisane przez system zanotuj identyfikator obiektu (podmiotu zabezpieczeń).
- Przejdź do Microsoft Entra ID>Zarządzaj>Aplikacje dla przedsiębiorstw.
- Wyszukaj nazwę usługi wyszukiwania lub wklej Identyfikator obiektu (podmiotu) w polu wyszukiwania.
- Wybierz wynik i otwórz pozycję Właściwości. Skopiuj pokazany tutaj identyfikator aplikacji , który jest wartością
FederatedCredentialApplicationIdw źródle danych ifederatedCredentialIdw indeksie.
Tożsamość zarządzana przypisana przez użytkownika:
- Przejdź do zasobu tożsamości zarządzanej przypisanej przez użytkownika.
- Wybierz pozycję Ustawienia>Właściwości.
- Skopiuj identyfikator klienta, który jest wartością
FederatedCredentialApplicationIdw źródle danych ifederatedCredentialIdw indeksie.
Skonfiguruj usługę wyszukiwania pod kątem pozyskiwania danych ACL i egzekwowania podczas wykonywania zapytań
Te kroki konfigurują usługę wyszukiwania do przetwarzania list ACL i zapewniają respektowanie uprawnień ACL podczas wykonywania zapytań.
Wybierz, gdzie wypełnić pola ACL
To, gdzie mapujesz pola metadanych ACL, zależy od tego, czy indeksator zapisuje jeden dokument dla każdego elementu źródłowego, czy wiele fragmentów dla każdego elementu źródłowego.
| Scenario | Wypełnij pola ACL za pomocą | Dlaczego |
|---|---|---|
| Brak zestawu umiejętności lub zestaw umiejętności bez dzielenia na fragmenty; jeden dokument wyszukiwania dla każdego elementu źródłowego |
Tylko mapowania pól indeksatora (metadata_user_ids → UserIds, metadata_group_ids → GroupIds oraz, w przypadku grup SharePoint, metadata_spo_site_url → SharePointSiteUrl). |
Indeksator zapisuje pojedynczy dokument w indeksie docelowym, a mapowania pól przenoszą metadane źródłowe do pól indeksu. |
Zestaw umiejętności z fragmentowaniem (na przykład umiejętność dzielenia tekstu na potrzeby zintegrowanej wektoryzacji), pojedynczy indeks z polami nadrzędnymi powtarzanymi w każdym fragmentze (projectionMode: skipIndexingParentDocuments) |
Projekcje indeksu w zestawie umiejętności (mappings z /document/metadata_user_ids, /document/metadata_group_ids i dla grup SharePoint /document/metadata_spo_site_url). |
Dokument nadrzędny nie jest indeksowany; są tylko fragmenty. Wartości listy ACL muszą być rzutowane na każdy fragment, aby filtry czasu kwerendy miały zastosowanie do fragmentu zwróconego w wynikach. Mapowania pól indeksatora dla tych pól są pomijane w tym trybie. |
| Zestaw umiejętności z dzieleniem na fragmenty, wzorzec z dwoma indeksami (indeks nadrzędny + indeks fragmentu podrzędnego) | Oba: mapowania pól indeksatora wypełniają pola listy ACL w indeksie nadrzędnym, projekcje indeksów wypełniają pola listy ACL w indeksie fragmentów podrzędnych. | Oba indeksy można przeszukiwać za pomocą zapytań, a każdy z nich wymaga metadanych, według których filtruje. |
We wszystkich scenariuszach z podziałem na fragmenty każdy fragment musi zawierać pola ACL. Filtry uprawnień obowiązują dla każdego dokumentu, więc fragment bez pól ACL nie może zostać zwrócony właściwemu wywołującemu.
1. Konfiguracja źródła danych
Ta sekcja stanowi uzupełnienie bazowej instrukcji Krok 4: Tworzenie źródła danych. Ustaw
{
"name": "my-sharepoint-acl-datasource",
"type": "sharepoint",
"indexerPermissionOptions": ["userIds", "groupIds"],
"credentials": {
"connectionString": "<connection-string>;"
},
"container": {
"name": "<library-name>",
"query": "<optional-folder-path>"
}
}
2. Dodawanie pól uprawnień do definicji indeksu
Dodaj pola do definicji schematu indeksu, aby przechowywać ACL i obsługiwać filtrowanie w czasie zapytań.
{
"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"
}
Ustaw atrybut retrievable na true tylko podczas procesu tworzenia, aby zweryfikować wartości. Można zmienić możliwość pobierania z wartości true na false bez wymagania ponownego kompilowania indeksu.
3. Skonfiguruj projekcje indeksów w zestawie umiejętności (jeśli dotyczy)
Po włączeniu fragmentowania dokument nadrzędny nie jest zapisywany w indeksie, gdy projectionMode ma wartość skipIndexingParentDocuments. Przenieś metadane ACL do każdego fragmentu przez element indexProjections.selectors[].mappings.
Jeśli indeksator używa zestawu umiejętności z fragmentowaniem danych, takim jak umiejętność dzielenia tekstu podczas włączania zintegrowanej wektoryzacji, pamiętaj o mapowaniu właściwości listy ACL na każdy fragment przy użyciu projekcji indeksu. Linie // w poniższym przykładzie są jedynie ilustracyjnymi adnotacjami i nie stanowią poprawnego kodu JSON. Usuń je przed przesłaniem żądania.
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"
}
}
}
Mapowania UserIds, GroupIds i SharePointSiteUrl odczytują metadane na poziomie źródła emitowane przez indeksator SharePoint (/document/metadata_*) i zapisują te wartości w każdym fragmencie.
4. Konfigurowanie mapowań pól indeksatora dla list ACL
Użyj mapowań pól indeksatora, gdy indeksator zapisuje jeden dokument na element źródłowy (bez fragmentowania) lub gdy utrzymujesz oddzielny indeks nadrzędny obok indeksu fragmentu. Jeśli zestaw umiejętności dzieli dokumenty na fragmenty do jednego docelowego indeksu za pomocą projectionMode: skipIndexingParentDocuments, mapowania pól pokazane tutaj zastępuje indexProjections.mappings z poprzedniego kroku dla indeksu fragmentów.
Oprócz wymaganej konfiguracji indexer zamapuj nieprzetworzone pola ACL metadanych z SharePoint do pól w indeksie.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" }
]
}
5. Uruchamianie indeksatora
Metadane ACL są pobierane podczas działania indeksatora. Po utworzeniu lub zaktualizowaniu indeksatora (zobacz Krok 6: Tworzenie indeksatora) uruchom go, aby pobierał listy ACL wraz z zawartością.
POST https://[service name].search.windows.net/indexers/[indexer-name]/run?api-version=2026-08-01-preview
api-key: [admin key]
Jeśli włączono pozyskiwanie ACL dla istniejącego indeksatora, który ma już zindeksowane elementy, wywołaj /resync z parametrem options: ["permissions"], aby uzupełnić listy ACL dla tych elementów, lub użyj /resetdocs, aby ponownie wyodrębnić określone elementy.
6. Weryfikowanie pozyskiwania listy ACL
Aby potwierdzić, że wartości listy ACL zostały wypełnione poprawnie:
- Tymczasowo ustaw
retrievablenatruedlaUserIdsiGroupIdsw definicji indeksu. Zmianaretrievablenie wymaga ponownego kompilowania indeksu. - Uruchom zapytanie z podniesionymi uprawnieniami odczytu, które wybiera
UserIdsiGroupIds, a następnie potwierdź, że kolekcje nie są puste. W przypadku scenariuszy podzielonych na fragmenty upewnij się, że każdy fragment zawiera oba pola. - Wróć
retrievabledofalsepo weryfikacji.
Konfigurowanie obsługi grup SharePoint
Począwszy od wersji 2026-05-01-preview interfejsu API REST, indeksator SharePoint może pozyskiwać informacje o członkostwie w grupach witryny SharePoint (Właściciele, Członkowie, Odwiedzający i niestandardowe grupy witryny). Uwzględnia te grupy w trakcie wykonywania zapytania. Identyfikatory grup SharePoint są umieszczane w polu metadata_group_ids z prefiksem spg:, aby odróżnić je od identyfikatorów obiektów grup w usłudze Microsoft Entra.
Ten przewodnik jest samowystarczalny: wykonaj kroki w podanej kolejności, aby skonfigurować indeks, mapowania pól indeksatora oraz wykonywać zapytania względem indeksu z wymuszaniem dla grup witryny programu SharePoint.
Następujące składniki współpracują ze sobą, aby umożliwić określanie grup witryn programu SharePoint:
| Składnik | Where | Purpose |
|---|---|---|
sharePointConnectorAppRegistration(z applicationId, , tenantIdfederatedCredentialId) |
Definicja indeksu | Udostępnia konfigurację uwierzytelniania wymaganą dla usługi wyszukiwania w celu wywołania interfejsu API REST SharePoint jako użytkownika wywołującego i rozpoznawania członkostwa w grupie witryn w czasie wykonywania zapytania. |
SharePointSiteUrl pole (z sharepointSiteUrl: true) |
Schemat indeksu i mapowanie pól indeksatora z metadata_spo_site_url |
Określa, do której witryny SharePoint należy dokument, dzięki czemu ustalanie grup SP odbywa się w prawidłowym zakresie. |
wartości z prefiksem spg: w GroupIds |
Metadane uprawnień dokumentu | Rozróżnianie identyfikatorów SharePoint grup witryn od identyfikatorów obiektów grupy Microsoft Entra. |
1. Wymagania wstępne
- Indeksator usługi SharePoint został już skonfigurowany do pozyskiwania uprawnień ACL. Zobacz Konfigurowanie mapowań pól indeksatora dla ACL.
- Rejestracja aplikacji Microsoft Entra z poświadczeniem tożsamości federacyjnej. Zobacz Konfigurowanie zarejestrowanej aplikacji przy użyciu tożsamości zarządzanej.
- REST API
2026-05-01-previewlub nowszy.
Uwaga
FederatedCredentialApplicationId w parametrach połączenia źródła danych oraz federatedCredentialId w elemencie sharePointConnectorAppRegistration użyj identyfikatora aplikacji tożsamości zarządzanej. Właściwość applicationId w sharePointConnectorAppRegistration korzysta z identyfikatora klienta aplikacji pozyskującej. Aby znaleźć poprawne wartości, zobacz Znajdowanie prawidłowych identyfikatorów Microsoft Entra.
2. Konfigurowanie indeksu
Dodaj konfigurację sharePointConnectorAppRegistration oraz pole SharePointSiteUrl obok pól filtru uprawnień UserIds i GroupIds, aby pełna struktura indeksu była w jednym miejscu. Zachowaj 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. Konfigurowanie mapowań pól indeksatora
Przypisz pola metadanych SharePoint do pól indeksu w jednym wspólnym bloku mapowania. Pierwsze dwa mapowania są takie same jak te używane do standardowej ingestii ACL; trzecie mapowanie włącza rozpoznawanie grup SharePoint.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" },
{ "sourceFieldName": "metadata_spo_site_url", "targetFieldName": "SharePointSiteUrl" }
]
}
Jeśli zestaw umiejętności dzieli dokumenty na fragmenty (na przykład za pomocą umiejętności Dzielenie tekstu na potrzeby zintegrowanej wektoryzacji), zamiast tego rzutuj SharePointSiteUrl na każdy fragment za pomocą indexProjections.mappings. Zobacz Wybór miejsca wypełniania pól ACL.
4. Wykonywanie zapytań względem indeksu
Nie jest wymagana żadna zmiana po stronie klienta. Ten sam token x-ms-query-source-authorization aktywuje zarówno usługę Microsoft Entra, jak i wymuszanie dla grup witryn programu SharePoint. Usługa wyszukiwania ustala członkostwo w grupach programu SharePoint po stronie serwera za pomocą sharePointConnectorAppRegistration w indeksie.
Informacje o strukturze żądania można znaleźć w przykładzie zapytania ogólnego oraz w specyficznym dla SharePoint przykładzie z wymuszaniem grup witryn SharePoint.
5. Sprawdź
Aby potwierdzić, że identyfikatory grup SharePoint trafiły do indeksu, uruchom zapytanie elevated-read, które wybiera GroupIds, i poszukaj w odpowiedzi wartości z prefiksem spg:.
Synchronizowanie uprawnień między indeksowaną i źródłową zawartością
Począwszy od interfejsu API REST 2026-05-01-preview, zmiany listy ACL elementów z unikatowymi uprawnieniami są wykrywane i odświeżane po każdym pomyślnym uruchomieniu indeksatora. Indeksator używa tokenów zmian programu SharePoint do przyrostowego wykrywania dodawania i usuwania przypisań ról, w taki sam sposób, w jaki wykrywa zmiany zawartości.
Niektóre scenariusze nadal wymagają jawnego odświeżania:
| Zmień zakres | Wykryto automatycznie | Zalecana akcja |
|---|---|---|
| Uprawnienia do określonego elementu z unikatowymi uprawnieniami (plik, element listy lub strona) | Yes | Nie musisz wykonywać żadnych działań. Zmiana zostanie uwzględniona przy następnym pomyślnym uruchomieniu indeksatora. |
| Zmiana zawartości w określonym elemencie (która powoduje również ponowną ocenę efektywnych list ACL dla tego elementu) | Yes | Nie musisz wykonywać żadnych działań. |
| Zmiany uprawnień w zakresie nadrzędnym (witryna, biblioteka, lista lub folder) dziedziczone przez elementy podrzędne | No | Wywołaj /resync za pomocą options: ["permissions"], aby odświeżyć listy ACL w całym źródle danych, lub wywołaj /resetdocs z odpowiednimi kluczami dokumentów, aby odświeżyć zarówno zawartość, jak i listy ACL. |
| Importowanie ACL włączone dla istniejącego indeksatora | No | Wywołaj /resync przy użyciu options: ["permissions"], aby uzupełnić listy ACL dla wcześniej zindeksowanych elementów. |
Resetowanie określonych dokumentów
Możesz zresetować określone dokumenty, aby ponownie w pełni przeanalizować zawartość i listy kontroli dostępu (ACL).
POST https://{service}.search.windows.net/indexers/{indexer}/resetdocs?api-version=2026-08-01-preview
{
"documentKeys": ["doc123", "doc456"]
}
Ponowne zsynchronizowanie list ACL w całym źródle danych
Po początkowym wprowadzeniu danych można ponownie zsynchronizować pełną zawartość ACL zbioru danych. Aby w pełni zakończyć pracę, ta operacja wymaga uruchomienia indeksatora po zakończeniu.
POST https://{service}.search.windows.net/indexers/{indexer}/resync?api-version=2026-08-01-preview
{
"options": ["permissions"]
}
Ważne
Jeśli zmienisz uprawnienia SharePoint bez wyzwalania mechanizmu aktualizacji, indeks obsługuje nieaktualne dane ACL dla wcześniej pozyskanych plików.
Po zaindeksowaniu danych i list ACL możesz wykonać zapytanie dotyczące indeksu.
Troubleshooting
| Objaw | Przyczyna i rozwiązanie |
|---|---|
UserIds lub GroupIds są puste w dokumentach indeksowanych |
Jeśli zestaw umiejętności używa projectionMode: skipIndexingParentDocuments, mapowania pól indeksatora dla pól ACL są pomijane. Zamiast tego ustaw pola ACL za pomocą indexProjections.mappings w każdym fragmencie. |
Brak identyfikatorów grup witryn SharePoint lub GroupIds wartości nie mają prefiksu spg: |
Upewnij się, że indeks ma konfigurację sharePointConnectorAppRegistration, pole SharePointSiteUrl istnieje z wartością sharepointSiteUrl: true, a mapowanie metadata_spo_site_url jest obecne w mapowaniach pól indeksatora lub w projekcjach indeksu. |
SharePointSiteUrl jest pusty lub ma wartość null po indeksowaniu, mimo że ACL poza tym są poprawnie wypełniane |
Indeksator emituje te metadane w obszarze metadata_spo_site_url, a nie metadata_sharepoint_site_url. Sprawdź, czy mapowanie pól indeksatora używa metody "sourceFieldName": "metadata_spo_site_url". Jeśli zestaw umiejętności używa projekcji indeksu dla dokumentów podzielonych na fragmenty, sprawdź, czy źródłem mapowania projekcji jest /document/metadata_spo_site_url. |
| Indeksator zwraca wartość 401 lub 403 | Udziel zgody administratora zarówno na uprawnienia interfejsu API Microsoft Graph, jak i SharePoint dla danego scenariusza. Użyj poświadczeń federacyjnych (a nie klucza tajnego klienta), jeśli scenariusz go wymaga. Zobacz Scenariusz uprawnień według listy ACL. |
| Uprawnienia nie są aktualizowane po zmianie ACL witryny, biblioteki, listy lub folderu | Wywołaj /resync za pomocą options: ["permissions"]. Zobacz Synchronizacja uprawnień między indeksowaną a źródłową treścią, aby poznać kontekst. |
federatedCredentialId jest odrzucany podczas konfigurowania sharePointConnectorAppRegistration |
Użyj identyfikatora aplikacji tożsamości zarządzanej, a nie identyfikatora obiektu poświadczeń tożsamości federacyjnej ani identyfikatora głównego tożsamości zarządzanej. Zobacz Identyfikator aplikacji poświadczeń federacyjnych. |
Indeksator zwraca 401 Unauthorized, a FederatedCredentialApplicationId jest ustawione |
Sprawdź, czy użyto identyfikatora aplikacji tożsamości zarządzanej (znajdującego się w aplikacjach dla przedsiębiorstw), a nie identyfikatora aplikacji pozyskiwania (ApplicationIdklienta) lub dowolnego identyfikatora obiektu. W przypadku tożsamości zarządzanej przypisanej przez użytkownika użyj identyfikatora klienta na stronie Właściwości zasobu tożsamości zarządzanej. Zobacz Znajdowanie prawidłowych identyfikatorów Microsoft Entra. |
Aby uzyskać brakujące, nieoczekiwane lub nieudane wyniki dotyczące czasu zapytania po indeksowaniu metadanych listy ACL, zobacz Rozwiązywanie problemów z filtrowaniem uprawnień SharePoint.