An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
Thank you for the detailed testing and configuration information.
Based on the results shared so far, the issue can be narrowed down to the query-time resolution of SharePoint site-group membership rather than the SharePoint indexing or ACL ingestion process.
The important distinction is that the indexer is successfully ingesting the SharePoint permission metadata, including the spg:-prefixed SharePoint group IDs. The failure occurs later, when Azure AI Search attempts to resolve the calling user's SharePoint site-group membership during the query.
For the 2026-05-01-preview API, Microsoft documents the following configuration for this scenario:
permissionFilterOption must be enabled on the index.
The index must contain the UserIds and GroupIds permission-filter fields.
SharePoint site-group IDs must be stored in GroupIds with the spg: prefix.
The index must contain a SharePointSiteUrl field marked with sharepointSiteUrl: true.
The index must contain sharePointConnectorAppRegistration.
The federatedCredentialId in that configuration must be the Object ID of the Federated Identity Credential on the connector application.
The connector application must have the required SharePoint permissions, including User.Read.All for query-time SharePoint site-group resolution, with the required admin consent.
The query must include the user's token through the x-ms-query-source-authorization header so that Azure AI Search can evaluate the caller's permissions.
One important correction/verification is worth highlighting: the federatedCredentialId used by sharePointConnectorAppRegistration is specifically the FIC object ID. It is different from the connector application's Client ID, application Object ID, or the Azure AI Search managed identity's Principal ID.
Because the same behavior has already been reproduced with a minimal test index, I would not recommend repeatedly recreating the index, managed identity, or connector application. Once the above configuration is confirmed, the next useful test is a fresh query against the minimal index using the required x-ms-query-source-authorization header.
If that request still returns "No matching identity found for federated credential ID" after the documented configuration has been verified, the remaining failure is isolated to the query-time SharePoint group-resolution path. At that point, the most useful information for further investigation is the new request ID, exact UTC timestamp, API version, and complete error response from that fresh reproduction. This allows the service-side telemetry to be correlated with the failing request rather than continuing with configuration changes that have already been ruled out.
Reference:
If the answer is helpful, please do click "Accept the answer” and Yes, this can be beneficial to other community members.