Řešení potíží s filtrováním oprávnění SharePoint v Azure AI Vyhledávač (Preview)

Note

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Tento článek použijte, pokud filtrování oprávnění v době dotazu pro indexované SharePoint obsah vrací chybějící nebo neočekávané výsledky nebo pokud dotaz filtrovaný oprávněním selže.

Předpoklady

  • Index naplněný indexerem SharePointu v Microsoftu 365 s nakonfigurovaným ingestováním ACL.
  • Filtrování oprávnění při dotazu nakonfigurované podle postupu popsaného v části Vynucování ACL a RBAC při dotazu.
  • REST API ve verzi 2026-08-01-preview nebo ekvivalentní balíček preview verze sady SDK při použití skupin webu SharePoint.
  • Přístup k definici indexu, vygenerovanému nebo explicitnímu stavu indexeru a oprávnění SharePoint pro testovacího uživatele.
  • Přispěvatel dat indexu vyhledávání nebo ekvivalentní oprávnění k rozšířenému čtení, pokud potřebujete porovnat filtrované a nefiltrované výsledky.

Postupujte podle rozhodovacího stromu řešení potíží.

Dokončete tyto kontroly v pořadí. Zastavte, když pozorovaný výsledek identifikuje konfiguraci nebo oprávnění, která potřebují opravu.

1. Ověřte, že k chybě dochází v době dotazu.

Tento článek pojednává o filtrování oprávnění po indexaci obsahu SharePointu a metadat ACL.

Pokračujte zde pouze v případě, že existuje metadata indexovaných oprávnění a příznaky se vyskytují při dotazování.

2. Identifikace tří identit

Zaznamenejte, která identita vyplní každou roli. Nenahrazovat jeden identifikátor za jiný.

Identity Purpose Kde ho ověřit
Dotazování uživatele Delegovaný token x-ms-query-source-authorization uživatele určuje, které chráněné dokumenty může uživatel načíst. Tok ověřování vaší aplikace a požadavek na dotaz.
registrace aplikace konektoru SharePoint sharePointConnectorAppRegistration v indexu umožňuje službě Azure AI Vyhledávač určit členství uživatele, který zadává dotaz, ve skupinách webu SharePointu. Definice indexu a registrace aplikace popsané v Konfiguraci podpory skupin SharePointu.
identita požadavku služby Azure AI Vyhledávač Nosný token Microsoft Entra v Authorization hlavičce nebo klíč rozhraní API v api-key hlavičce ověří požadavek vyhledávací službě. Identita musí mít oprávnění k dotazování indexu. Váš klient pro dotazování a přiřazení role v rovině dat Azure AI Vyhledávač.

3. Zkontrolujte konfiguraci filtru oprávnění.

Porovnejte index, indexátor a vygenerované objekty s jejich nadřazenými články.

  1. Ověřte, že je index permissionFilterOption nastavený na enabledhodnotu .
  2. Potvrďte, že UserIds a GroupIds mají správné hodnoty permissionFilter.
  3. U SharePoint skupin webů potvrďte, že index obsahuje sharePointConnectorAppRegistration a SharePointSiteUrl pole s sharepointSiteUrl: true.
  4. Ověřte, že každý indexovaný dokument nebo blok bloků dat obsahuje příslušná pole oprávnění. Pokud sada dovedností používá projekce indexů, ověřte, že pole ACL jsou v indexProjections.mappings.

Pokud některá hodnota chybí, vraťte se ke konfiguraci vyhledávací služby pro příjem ACL a vynucení doby dotazu.

4. Bezpečně zkontrolujte token dotazu.

Nikdy nezaznamenávejte, nevkládejte do žádosti o podporu ani nesdílejte celý přístupový token. Dekódujte pouze datovou část tokenu lokálně a před zachycením diagnostického výstupu identifikátory očistěte.

  1. Ověřte, že požadavek obsahuje x-ms-query-source-authorization aktuální delegovaný token testovacího uživatele.
  2. Lokálně dekódujte datovou zátěž a potvrďte, že oid identifikuje zamýšleného testovacího uživatele. Zaznamená sanitizovanou hodnotu, například <test-user-object-id>.
  3. Znovu si uživatele prověřte a zkuste to znovu, pokud token chybí nebo vypršela jeho platnost.

Pokud je token uživatele vynechán, obsah chráněný oprávněním se nevrátí. Samotné Authorization záhlaví nenahrazuje x-ms-query-source-authorization.

5. Kontrola oprávnění Microsoft Entra

  1. Ověřte, že indexované položky UserIds nebo GroupIds obsahují očekávané ID objektu Microsoft Entra. Použijte dotaz se zvýšenými oprávněními pro čtení pouze pro toto diagnostické porovnání.
  2. Ověřte, že testovací uživatel má přímé přiřazení nebo dosáhne přiřazené skupiny Microsoft Entra prostřednictvím přechodného členství ve skupině Microsoft Entra.
  3. Pokud je skupina Microsoft Entra vnořená do skupina služby SharePoint, změňte přiřazení. Tato kombinovaná relace není rozbalena a může způsobit, že některé výsledky budou chybět. Přidejte uživatele přímo do skupina služby SharePoint nebo udělte oprávnění prostřednictvím podporovaného přiřazení skupiny Microsoft Entra.

Přesné hranice podpory najdete v tématu Podporované relace skupin.

6. Kontrola oprávnění skupiny webů SharePoint

Tento krok dokončete, pokud je ACL dokumentu založeno na skupině webu SharePoint Vlastníci, Členové, Návštěvníci nebo na vlastní skupině webu SharePoint.

  1. Pomocí dotazu s rozšířenými oprávněními ke čtení ověřte, že GroupIds obsahuje očekávané ID skupiny s předponou spg: a že SharePointSiteUrl identifikuje zdrojový web.
  2. Ověřte, že testovací uživatel je přímým členem tohoto skupina služby SharePoint.
  3. Ověřte, že index sharePointConnectorAppRegistration používá identifikátory a oprávnění vyžadovaná podporou skupin SharePoint.

Pokud jsou indexovaná pole prázdná nebo zastaralá, opravte příjem dat nebo synchronizujte oprávnění SharePoint předtím, než dotaz znovu otestujete.

7. Zkontrolujte požadavek na dotaz.

  1. Pro filtry oprávnění skupin webů služby SharePoint použijte REST API ve verzi 2026-08-01-preview nebo ekvivalentní preview balíček sady SDK.
  2. Ověřte, že Authorization ověřuje objekt zabezpečení, který může zadávat dotazy na index.
  3. Potvrzení x-ms-query-source-authorization obsahuje delegovaný token testovacího uživatele.
  4. Opakujte stejný dotaz bez nesouvisejících filtrů nebo změn řazení, abyste mohli izolovat chování oprávnění.

Jako vlastníka tvaru požadavku použijte obecný příklad dotazu. Nezahrnujte do uložených požadavků ani protokolů úplné tokeny.

8. Porovnání očekávaných a skutečných výsledků

  1. Zvolte jeden dokument, ke který má testovací uživatel přístup, a jeden dokument, ke který uživatel nemá přístup v SharePoint.
  2. Spusťte dotaz filtrovaný oprávněním jako testovací uživatel a poznamenejte si jenom klíče dokumentu nebo jiné nezabezpečené identifikátory.
  3. Spusťte dotaz se zvýšenými oprávněními ke čtení a porovnejte uložené UserIdsGroupIdshodnoty a SharePointSiteUrl hodnoty se zdrojovými oprávněními.
  4. Pokud čtení se zvýšenými oprávněními vrátí očekávaný dokument, ale uživatelský dotaz ne, zaměřte se na uživatelský token a vyhodnocení členství ve skupinách. Pokud to nenajde ani čtení se zvýšenými oprávněními, zaměřte se na ingesci dat, mapování a synchronizaci ACL.

Čtení s rozšířenými oprávněními slouží k prošetřování. Nepoužívejte ho k vrácení neomezených výsledků koncovým uživatelům.

9. Zachytávání podrobností korelace požadavků

Pokud dotaz stále selže, zachyťte verzi rozhraní API, časové razítko UTC, tělo sanitizovaného požadavku, stav HTTP, hlavičky odpovědi a jakékoli ID požadavku nebo korelace vrácené službou. Uveďte název indexu a to, jestli se stejný dokument zobrazí pod zvýšenými oprávněními ke čtení.

Před sdílením diagnostiky s podpora Microsoftu odeberte přístupové tokeny, klíče rozhraní API, tajné kódy, uživatelská jména a adresy URL specifické pro tenanta.