Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Nota
Pesquisa de IA do Azure está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.
Importante
Recursos, funcionalidades ou propriedades marcados como (versão prévia) não são cobertos por um contrato de nível de serviço (SLA), não são recomendados para cargas de trabalho de produção e podem mudar ou ser restringidos antes da disponibilidade geral. Os termos de visualização do Pesquisa de IA do Azure se aplicam a toda funcionalidade em visualização, seja autônoma ou parte de um recurso de disponibilidade geral.
A ingestão de metadados de permissões do SharePoint (versão prévia) usa um indexador do Pesquisa de IA do Azure para preservar metadados de permissões, como ACLs (listas de controle de acesso), juntamente com outro conteúdo do SharePoint no Microsoft 365. O indexador armazena as permissões como metadados em cada documento indexado. No momento da consulta, os usuários recebem apenas documentos que têm permissão para acessar.
Importante
Para cenários que exigem o modelo completo de permissões do SharePoint, rótulos de confidencialidade e filtragem de segurança padrão, use uma fonte de conhecimento remota do SharePoint. Essa abordagem chama o SharePoint diretamente por meio da API de recuperação Copilot. A governança permanece totalmente no SharePoint e os resultados da consulta respeitam automaticamente todas as permissões e rótulos aplicáveis.
Pré-requisitos
Pesquisa de IA do Azure em uma camada faturável (Básica ou superior) em qualquer região.
SharePoint em sites, bibliotecas, pastas e arquivos do Microsoft 365 com permissões configuradas.
Conclua todas as etapas de configuração na documentação do indexador do SharePoint, aplicando os requisitos específicos de ACL descritos neste artigo.
Configure as permissões de aplicativo do Microsoft Entra e uma credencial adequada ao seu cenário. Consulte o cenário de Permissões por ACL. A ingestão de ACL requer permissões de aplicativo. Não há suporte para permissões delegadas. Para decidir entre permissões de aplicativo ou delegadas, consulte Escolha sua configuração de permissões.
API REST versão 2026-08-01-preview ou um pacote SDK de versão prévia equivalente.
Limitações
As atualizações incrementais de ACL exigem a API REST 2026-05-01-preview ou posterior. Nas versões anteriores da API de visualização, o sistema captura ACLs somente na primeira ingestão de cada item. Alterações de permissão posteriores exigem reindexação explícita. Para obter as etapas de migração, consulte Sincronizar permissões entre conteúdo indexado e de origem.
As alterações de permissão no escopo pai não são detectadas automaticamente em execuções subsequentes do indexador. Para obter as opções de atualização, consulte Sincronizar permissões entre o conteúdo indexado e de origem.
O portal do Azure não dá suporte a esse recurso.
Não há suporte para os seguintes recursos nesta versão prévia:
Políticas de Gerenciamento de Informações do SharePoint aplicáveis ao acesso do usuário. O sistema não avalia, ingere ou respeita essas políticas no momento da consulta.
Links compartilháveis com escopo para "Qualquer pessoa" ou "Pessoas em sua organização". Há suporte apenas para links com escopo para "Pessoas específicas".
Grupos do SharePoint (como os grupos Proprietários, Membros e Visitantes) são compatíveis a partir da API REST 2026-05-01-preview. Consulte Configurar suporte a grupos do SharePoint. Nas versões anteriores da API de visualização, somente há suporte a grupos do SharePoint que são resolvidos para grupos do Microsoft Entra.
Os recursos do indexador a seguir não dão suporte à herança de permissão em documentos indexados provenientes de SharePoint. Se você usar qualquer um desses recursos em um conjunto de habilidades ou indexador, as permissões no nível do documento não serão incluídas no conteúdo indexado.
Repositório de conhecimento, incluindo o repositório de ativos necessário para a exibição de imagens (visualização) na recuperação de agentes. Portanto, o fornecimento de imagens não é compatível com fontes de conhecimento que ingerem ACLs do SharePoint.
Suporte para o modelo de permissão do SharePoint
Esta prévia oferece suporte a ACLs básicas para documentos, itens de lista e páginas modernas do site ASPX.
| Recurso do SharePoint | Descrição | Suportado | Notas |
|---|---|---|---|
| Herança de site, biblioteca, lista e página | Site → biblioteca/lista → pasta → arquivo/item/página. | ✔️ | Avaliado no momento da ingestão; ACLs efetivas calculadas por item. |
| ACLs exclusivas para pasta, arquivo, item de lista e página | Acesso no nível do item. | ✔️ | Incluído quando presente na ingestão inicial e em execuções posteriores que detectam alterações na ACL de itens com permissões exclusivas. |
| Itens da lista do SharePoint | Permissões para itens da lista (allSiteLists e allSiteContent contêineres). |
✔️ | Versão prévia, começando na API REST 2026-05-01-preview. |
| Páginas do site do ASPX | Permissões em páginas modernas de site (contêineres allSitePages e allSiteContent). |
✔️ | Versão prévia, começando na API REST 2026-05-01-preview. |
| grupos Microsoft Entra (Microsoft 365 e segurança) | Acesso baseado em grupo. | ✔️ | IDs de grupos incluídos quando puderem ser resolvidos para um identificador (ID) do Microsoft Entra. |
| Grupos de sites do SharePoint | Proprietários/Membros/Visitantes e grupos de sites personalizados. | ✔️ | Versão prévia, começando na API REST 2026-05-01-preview. Requer a configuração de grupos SharePoint. As IDs de grupo são emitidas com o spg: prefixo. |
| Links compartilháveis para "Qualquer pessoa" ou "Pessoas na sua organização" | Acesso público ou em toda a organização. | ❌ | Não há suporte na versão prévia. |
| Usuários externos/convidados | Acesso para convidados. | ❌ | Não há suporte. |
| Políticas de Gerenciamento de Informações | Políticas para definir requisitos de permissões específicos. | ❌ | Não há suporte na versão prévia. |
| Rótulos de confidencialidade do Purview | Segurança em nível de documento para privacidade, categorização, permissões e criptografia | ❌ | Com suporte por meio de um recurso separado: preservando e respeitando rótulos de confidencialidade. |
Relações de grupo com suporte
A transitividade de grupos do Microsoft Entra se aplica no Microsoft Entra. Ele não expande grupos do Microsoft Entra que são membros dos grupos do SharePoint.
| Relação entre permissões | Suportado | Orientações |
|---|---|---|
| Usuário ou grupo Microsoft Entra atribuído diretamente ao item de SharePoint | Sim | O indexador armazena o ID do objeto do usuário ou do grupo Microsoft Entra nos metadados de permissão do item. |
| O usuário acessa um grupo do Microsoft Entra atribuído por meio de aninhamento transitivo de grupos do Microsoft Entra | Sim | A resolução do Microsoft Graph em tempo de consulta expande as associações transitivas do usuário a grupos do Microsoft Entra. |
| Usuário atribuído diretamente a um grupo de sites SharePoint que tem acesso ao item | Sim | Configure o suporte a grupos do SharePoint. |
| Grupo do Microsoft Entra aninhado em um grupo do SharePoint | No | A resolução de grupos do SharePoint não expande o grupo do Microsoft Entra aninhado. Os resultados que dependem dessa relação são filtrados. Adicione usuários diretamente ao grupo do SharePoint ou conceda permissão por meio de uma atribuição com suporte a um grupo do Microsoft Entra. |
| Outras direções de aninhamento misto do SharePoint e do Microsoft Entra | Não especificado | Não deduza o suporte com base na transitividade do Microsoft Entra. Essa limitação da versão prévia se aplica a grupos do Microsoft Entra aninhados em grupos do SharePoint. |
Como as permissões hierárquicas são avaliadas
As permissões do SharePoint herdam a hierarquia de Site → Biblioteca → Pasta → Arquivo, a menos que a herança seja interrompida.
Durante a ingestão, o indexador reúne identificadores de usuário e grupo (ID) em cada nível e calcula a ACL efetiva para cada arquivo.
Permissões por cenário de ACL
As permissões de aplicativo Microsoft Entra e o tipo de credencial necessários para a ingestão de ACL dependem de quais tipos de item e tipos de grupo você indexa. No registro do aplicativo, todas as permissões são adicionadas em permissões> de APIAdicionar uma permissão e a credencial federada é adicionada em Certificados &segredos>Credenciais federadas. Para obter instruções passo a passo e capturas de tela, consulte Step 3: Criar um registro de aplicativo Microsoft Entra e Configurar o aplicativo registrado com uma identidade gerenciada.
| Scenario | Permissões de API para adicionar | Credencial |
|---|---|---|
| ACLs em arquivos de bibliotecas de documentos, quando o acesso é concedido somente por usuários do Microsoft Entra e grupos padrão (grupos de segurança do Microsoft Entra, grupos do Microsoft 365, grupos de segurança habilitados para email) |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (ou Sites.Selected para acesso com escopo) |
Segredo do cliente ou credencial federada |
| ACLs em arquivos da biblioteca de documentos, quando os grupos de sites do SharePoint (Proprietários, Membros, Visitantes ou grupos de sites personalizados) também precisam ser considerados |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (ou Sites.Selected)SharePoint: Sites.FullControl.All (ou Sites.Selected) |
Credencial federada (obrigatório) |
| ACLs em itens de listas do SharePoint |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (ou Sites.Selected), User.Read.AllSharePoint: Sites.FullControl.All (ou Sites.Selected) |
Credencial federada (obrigatório) |
| Conteúdo e ACLs em páginas de site do ASPX |
Microsoft Graph: Sites.FullControl.All (ou Sites.Selected), User.Read.All (mantenha Files.Read.All das linhas acima se você também estiver indexando bibliotecas ou listas de documentos)SharePoint: Sites.FullControl.All (ou Sites.Selected) |
Credencial federada (obrigatório) |
Resolução de tempo de consulta de grupos de sites do SharePoint via sharePointConnectorAppRegistration |
Adicionar SharePoint: User.Read.All ao mesmo registro de aplicativo usado pelo indexador |
Credencial federada (obrigatório) |
Nota
Ao adicionar uma permissão, você escolhe entre duas superfícies de API: Microsoft Graph e SharePoint. Ambas expõem permissões com nomes semelhantes. Por exemplo,
Sites.FullControl.Allexiste em ambos. Adicione cada permissão na superfície da API indicada na tabela.Use uma credencial federada sempre que o cenário exigir permissões da API do SharePoint. Os segredos de cliente funcionam apenas para a linha da biblioteca de documentos somente do Microsoft Graph.
User.Read.Allé necessário para itens de lista e páginas de site do ASPX porque o indexador lê essas permissões por meio da API REST SharePoint, que retorna apenas o email do usuário. Em seguida, o indexador chama o Microsoft Graph para associar cada email ao respectivo ID de objeto do Microsoft Entra, e essa consulta requerUser.Read.All.Ao usar
Sites.Selected, conceda ao aplicativo acesso explícito a cada site de SharePoint de destino antes da indexação.
Uma credencial federada autentica o aplicativo usando uma identidade gerenciada confiável em vez de um segredo do cliente. A mesma credencial federada cobre tanto a ingestão (indexador) quanto a avaliação em tempo de consulta de grupos de sites do SharePoint. Para obter as etapas de instalação, consulte Configurar o aplicativo registrado com uma identidade gerenciada.
Antes de habilitar a ingestão de ACL
Conclua estas etapas em seu aplicativo Microsoft Entra registrado:
- Identifique seu cenário na tabela anterior com base no que você planeja indexar (arquivos de biblioteca de documentos, itens de lista, páginas ASPX do site) e se os grupos de sites do SharePoint devem ser respeitados.
- Abra o registro do aplicativo no centro de administração do Microsoft Entra e vá para Permissões de API>Adicionar uma permissão.
- Adicione as permissões de Microsoft Graph listadas para seu cenário. Conceda consentimento do administrador.
- Se o cenário também exigir permissões do SharePoint, selecione Adicionar uma permissão novamente, escolha a API SharePoint e adicione
Sites.FullControl.All(ouSites.Selected). Conceda consentimento do administrador. - Configure a credencial:
- Para cenários que usam somente o Microsoft Graph, você pode usar um segredo do cliente (Certificates & secrets>Client secrets) ou uma credencial federada.
- Para qualquer cenário que inclua permissões de SharePoint, adicione uma credencial federada em
Certificates & secrets Federated credentials . Consulte Configurar o aplicativo registrado com uma identidade gerenciada.
- Conceda ao aplicativo acesso aos sites de SharePoint de destino (especialmente importante quando você usa
Sites.Selectedpara acesso com escopo) para que ele possa ler o conteúdo e as permissões que você deseja indexar.
Localizar os identificadores de Microsoft Entra corretos
Cada identificador aparece em um local diferente no portal do Azure e é mapeado para um campo de configuração específico. Use esta seção como referência ao configurar a ingestão de ACL do SharePoint com uma credencial federada. Esses identificadores são mencionados em Configurar o suporte a grupos do SharePoint e na cadeia de conexão da fonte de dados.
| Identificador | Localização do portal | Usado onde | Notas |
|---|---|---|---|
| ID do aplicativo cliente de ingestão |
Registros de aplicativo><your-app>>Visão geral |
ApplicationId na cadeia de conexão da fonte de dados; applicationId em sharePointConnectorAppRegistration |
Essa ID está correta para a maioria dos campos de configuração. Também chamado de "ID do cliente". |
| ID do objeto de aplicativo |
Registros de aplicativo><your-app>>Visão geral (abaixo da ID do aplicativo (cliente)) |
Não usado na configuração de Pesquisa de IA do Azure | Não confunda isso com a ID do aplicativo (cliente). Aparece na mesma folha, diretamente abaixo do ID do cliente. |
| ID do objeto da entidade de serviço |
Microsoft Entra ID>Aplicativos empresariais><your-app>>Gerenciar>Propriedades |
Não usado na configuração de Pesquisa de IA do Azure | Esta é a representação da entidade de serviço do aplicativo. É um GUID diferente do ID do objeto de registro do aplicativo. |
| ID principal da identidade gerenciada | Recurso de identidade gerenciada >Propriedades ou a lâmina Identidade do serviço de pesquisa | Não é usado diretamente na configuração da fonte de dados ou do índice do Pesquisa de IA do Azure | Usado internamente quando você configura a credencial de identidade federada no registro do aplicativo. A credencial que você cria confia nessa identidade. |
| ID do objeto de credencial federada | Registros de aplicativoGerenciarCertificados & segredosCredenciais federadas | Não usado na configuração de Pesquisa de IA do Azure | Não use o GUID da entrada de credencial de identidade federada para federatedCredentialId. |
| ID do aplicativo de credencial federada | Atribuído pelo sistema: Microsoft Entra ID>Aplicativos empresariais><search-service>>Propriedades; Atribuído pelo usuário: <managed-identity-resource>>Propriedades |
FederatedCredentialApplicationId na cadeia de conexão da fonte de dados; federatedCredentialId em sharePointConnectorAppRegistration |
Consulte ID do aplicativo de credencial federada para a pesquisa de identidade gerenciada. |
ID do aplicativo de credencial federada
Para FederatedCredentialApplicationId na string de conexão da fonte de dados e federatedCredentialId na definição do índice, use o próprio ID do aplicativo (cliente) da identidade gerenciada, não o ID do aplicativo de ingestão.
Identidade gerenciada atribuída pelo sistema:
- Vá para seu serviço de Pesquisa de IA do Azure .
- Selecione Segurança + rede>Identidade.
- Na guia Atribuído pelo sistema, anote o ID do Objeto (principal).
- Vá para Microsoft Entra ID>Gerenciar>Aplicativos empresariais.
- Pesquise o nome do seu serviço de pesquisa ou cole o ID do objeto (principal) na caixa de pesquisa.
- Selecione o resultado e abra Propriedades. Copie a ID do aplicativo mostrada aqui, que é o valor da
FederatedCredentialApplicationIdfonte de dados efederatedCredentialIdno índice.
Identidade gerenciada atribuída pelo usuário:
- Vá para o recurso de identidade gerenciada atribuído pelo usuário.
- Selecione Configurações>Propriedades.
- Copie a ID do cliente, que é o valor da
FederatedCredentialApplicationIdfonte de dados efederatedCredentialIdno índice.
Configurar seu serviço de pesquisa para ingestão de ACL e imposição de tempo de consulta
Estas etapas configuram seu serviço de pesquisa para ingestão de ACL e habilitam o respeito às ACL no tempo de consulta.
Escolha onde preencher os campos de ACL
Onde você mapeia os campos de metadados de ACL depende se o indexador grava um documento por item de origem ou várias partes por item de origem.
| Scenario | Preencher campos de ACL via | Por que |
|---|---|---|
| Sem conjunto de habilidades ou conjunto de habilidades sem segmentação; um documento de pesquisa por item de origem |
Mapeamentos de campos do indexador somente (metadata_user_ids → UserIds, metadata_group_ids → GroupIds, e para grupos do SharePoint metadata_spo_site_url → SharePointSiteUrl). |
O indexador grava um único documento no índice de destino e os mapeamentos de campo levam metadados de origem para campos de índice. |
Conjunto de habilidades com fragmentação (por exemplo, habilidade de divisão de texto para vetorização integrada), índice único com campos pai repetidos em cada bloco (projectionMode: skipIndexingParentDocuments) |
Projeções de índice no conjunto de habilidades (mappings de /document/metadata_user_ids, /document/metadata_group_ids, e para grupos do SharePoint /document/metadata_spo_site_url). |
O documento pai não está indexado; somente os fragmentos estão. Os valores de ACL devem ser propagados para cada bloco, para que os filtros aplicados no momento da consulta sejam aplicados ao bloco retornado nos resultados. Os mapeamentos de campo do indexador para esses campos são ignorados nesse modo. |
| Conjunto de habilidades com fragmentação, padrão de dois índices (índice pai + índice filho de fragmentos) | Ambos: os mapeamentos de campo do indexador preenchem os campos ACL no índice pai, e as projeções de índice preenchem os campos ACL no índice filho de partes. | Ambos os índices são consultáveis e cada um precisa dos metadados nos quais ele filtra. |
Em todos os cenários fragmentados, cada parte deve incluir os campos de ACL. Os filtros de permissão se aplicam por documento, portanto, não é possível retornar uma parte dos campos de ACL ausentes para o chamador certo.
1. Configuração da fonte de dados
Esta seção é um complemento ao guia base Etapa 4: Criar fonte de dados. Defina indexerPermissionOptions na definição da fonte de dados para permitir a indexação de userIds e groupIds de documentos do SharePoint.
{
"name": "my-sharepoint-acl-datasource",
"type": "sharepoint",
"indexerPermissionOptions": ["userIds", "groupIds"],
"credentials": {
"connectionString": "<connection-string>;"
},
"container": {
"name": "<library-name>",
"query": "<optional-folder-path>"
}
}
2. Adicionar campos de permissão à definição de índice
Adicione campos à definição de esquema de índice para armazenar ACLs e dar suporte à filtragem em tempo de consulta.
{
"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"
}
Defina o atributo retrievable para true apenas durante o desenvolvimento para verificar os valores. Você pode alterar o valor de retrievable de true para false sem a necessidade de reconstrução do índice.
3. Configurar projeções de índice em seu conjunto de habilidades (se aplicável)
Quando a fragmentação está habilitada, o documento pai não é gravado no índice quando projectionMode é skipIndexingParentDocuments. Carregue os metadados de ACL para cada parte por meio de indexProjections.selectors[].mappings.
Se o indexador usar um conjunto de habilidades com agrupamento de dados, como a habilidade de Divisão de Texto ao habilitar a vetorização integrada, mapeie as propriedades da ACL para cada parte usando projeções de índice. As // linhas no exemplo a seguir são anotações ilustrativas e não são JSON válidas. Remova-os antes de enviar a solicitação.
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"
}
}
}
Os mapeamentos UserIds, GroupIds e SharePointSiteUrl leem metadados no nível do código-fonte emitidos pelo indexador de SharePoint (/document/metadata_*) e gravam os valores em cada parte.
4. Configurar os mapeamentos de campo do indexador para ACLs
Use mapeamentos de campo do indexador quando o indexador grava um documento por item de origem (sem agrupamento) ou quando você mantém um índice pai separado ao lado de um índice de partes. Se o seu conjunto de competências dividir os documentos em partes em um único índice de destino com projectionMode: skipIndexingParentDocuments, os mapeamentos de campo mostrados aqui serão substituídos pelos indexProjections.mappings da etapa anterior para o índice de fragmentos.
Além da configuração do indexador necessária, mapeie campos ACL de metadados brutos do SharePoint para seus campos de índice.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" }
]
}
5. Executar o indexador
Os metadados de ACL são ingeridos quando o indexador é executado. Depois de criar ou atualizar o indexador (consulte a Etapa 6: Criar um indexador), dispare uma execução para que o indexador ingera ACLs junto com o conteúdo.
POST https://[service name].search.windows.net/indexers/[indexer-name]/run?api-version=2026-08-01-preview
api-key: [admin key]
Se você habilitou a ingestão de ACL em um indexador existente que já indexou itens, chame /resync com options: ["permissions"] para preencher retroativamente as ACLs desses itens, ou /resetdocs para reextrair itens específicos.
6. Verificar a ingestão de ACL
Para confirmar os valores de ACL preenchidos corretamente:
- Configure temporariamente
retrievablecomotrueemUserIdseGroupIdsna definição do índice. A alteraçãoretrievablenão requer uma recompilação de índice. - Execute uma consulta de leitura com privilégios elevados que selecione
UserIdseGroupIds, e confirme se as coleções não estão vazias. Para cenários segmentados, confirme se cada bloco contém ambos os campos. - Retorne
retrievableparafalseapós a verificação.
Configurar o suporte a grupos de SharePoint
A partir da versão 2026-05-01-preview da API REST, o indexador do SharePoint pode ingerir associações a grupos de sites do SharePoint (Proprietários, Membros, Visitantes e grupos de sites personalizados). Ele respeita esses grupos no momento da consulta. Os IDs de grupo do SharePoint são emitidos no campo metadata_group_ids com o prefixo spg: para distingui-los dos IDs de objeto de grupo do Microsoft Entra.
Este passo a passo é independente: siga as etapas na ordem para configurar o índice, os mapeamentos de campos do indexador e consultar o índice com imposição de grupo de sites do SharePoint.
Os seguintes componentes funcionam em conjunto para permitir a resolução de grupo de sites do SharePoint:
| Componente | Onde | Purpose |
|---|---|---|
sharePointConnectorAppRegistration (com applicationId, tenantId, federatedCredentialId) |
Definição de índice | Fornece a configuração de autenticação necessária para que o serviço de pesquisa chame a API REST SharePoint como o usuário de chamada e resolva a associação do grupo de sites no momento da consulta. |
SharePointSiteUrl campo (com sharepointSiteUrl: true) |
Esquema de índice + mapeamento de campo do indexador de metadata_spo_site_url |
Identifica a qual site SharePoint um documento pertence, portanto, a resolução do grupo SP tem o escopo definido corretamente. |
spg:-valores com prefixo em GroupIds |
Metadados de permissão do documento | Distinga os IDs de grupos de sites do SharePoint dos IDs de objeto de grupo do Microsoft Entra. |
1. Pré-requisitos
- Indexador do SharePoint já configurado para ingestão de ACLs. Consulte Configurar os mapeamentos de campo do indexador para ACLs.
- Registro de aplicativo do Microsoft Entra com credencial de identidade federada. Consulte Configurar o aplicativo registrado com uma identidade gerenciada.
- API REST
2026-05-01-previewou posterior.
Nota
FederatedCredentialApplicationId na string de conexão da fonte de dados e federatedCredentialId em sharePointConnectorAppRegistration use o ID do aplicativo da identidade gerenciada. A propriedade applicationId em sharePointConnectorAppRegistration usa a ID de cliente do aplicativo de ingestão. Para localizar os valores corretos, consulte Localizar os identificadores de Microsoft Entra corretos.
2. Configurar o índice
Adicione a configuração sharePointConnectorAppRegistration e o campo SharePointSiteUrl ao lado dos campos de filtro de permissão UserIds e GroupIds, para que a estrutura completa do índice fique em um só lugar. Mantenha 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. Configurar os mapeamentos de campo do indexador
Mapeie os campos de metadados SharePoint para os campos de índice em um único bloco de mapeamento combinado. Os dois primeiros mapeamentos são os mesmos utilizados para a ingestão padrão de ACL; o terceiro mapeamento ativa a resolução de grupos do SharePoint.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" },
{ "sourceFieldName": "metadata_spo_site_url", "targetFieldName": "SharePointSiteUrl" }
]
}
Se o conjunto de habilidades dividir os documentos em segmentos (por exemplo, com a habilidade de divisão de texto para vetorização integrada), projete SharePointSiteUrl em cada segmento por meio de indexProjections.mappings. Veja Escolher onde preencher os campos de ACL.
4. Consultar o índice
Nenhuma alteração do lado do cliente é necessária. O mesmo token x-ms-query-source-authorization ativa tanto o Microsoft Entra quanto a aplicação de grupo de sites do SharePoint. O serviço de pesquisa resolve as associações a grupos do SharePoint no servidor usando sharePointConnectorAppRegistration no índice.
Para ver a estrutura da solicitação, consulte o exemplo de consulta geral e o exemplo específico do SharePoint com imposição de grupo de sites do SharePoint.
5. Verificar
Para confirmar que os IDs de grupo do SharePoint foram indexados, execute uma consulta elevated-read que selecione GroupIds e procure valores com o prefixo spg: na resposta.
Sincronizar permissões entre conteúdo indexado e de origem
A partir da API REST 2026-05-01-preview, as alterações de ACL para itens com permissões exclusivas são detectadas e atualizadas em cada execução bem-sucedida do indexador. O indexador usa tokens de alteração do SharePoint para identificar incrementalmente adições e remoções de atribuições de função, assim como faz com as alterações de conteúdo.
Alguns cenários ainda exigem uma atualização explícita:
| Alterar escopo | Detectado automaticamente | Ação recomendada |
|---|---|---|
| Permissões em um item específico com permissões exclusivas (arquivo, item de lista ou página) | Sim | Nenhuma ação é necessária. A alteração é captada na próxima execução bem-sucedida do indexador. |
| Alteração de conteúdo em um item específico (que também reavalia as ACLs efetivas desse item) | Sim | Nenhuma ação é necessária. |
| As permissões são alteradas em um escopo pai (site, biblioteca, lista ou pasta) herdado por itens filho | No | Chame /resync com options: ["permissions"] para atualizar as ACLs em toda a fonte de dados, ou chame /resetdocs com as chaves dos documentos afetados para atualizar tanto o conteúdo quanto as ACLs. |
| Ingestão de ACL habilitada em um indexador existente | No | Use /resync com options: ["permissions"] para preencher retroativamente as ACLs de itens indexados previamente. |
Restaurar documentos específicos
Você pode redefinir documentos específicos para ingerir totalmente novamente conteúdo e ACLs.
POST https://{service}.search.windows.net/indexers/{indexer}/resetdocs?api-version=2026-08-01-preview
{
"documentKeys": ["doc123", "doc456"]
}
Re-sincronizar ACLs em toda a fonte de dados
Você pode ressincronizar o conteúdo completo da ACL do conjunto de dados após a ingestão inicial. Para ter êxito total, essa operação requer uma execução do indexador após a conclusão.
POST https://{service}.search.windows.net/indexers/{indexer}/resync?api-version=2026-08-01-preview
{
"options": ["permissions"]
}
Importante
Se você alterar as permissões do SharePoint sem disparar um mecanismo de atualização, o índice atenderá a dados de ACL obsoletos para arquivos ingeridos anteriormente.
Depois de indexar seus dados e ACLs, você pode consultar o índice.
Solução de problemas
| Sintoma | Causa e resolução |
|---|---|
UserIds ou GroupIds estão vazios em documentos indexados |
Se o seu conjunto de habilidades usar projectionMode: skipIndexingParentDocuments, os mapeamentos de campo do indexador para campos ACL serão ignorados. Em vez disso, defina os campos de ACL via indexProjections.mappings em cada bloco. |
Os IDs de grupos de sites do SharePoint estão ausentes ou os valores GroupIds não têm o prefixo spg: |
Confirme se o índice tem a configuração sharePointConnectorAppRegistration, se o campo SharePointSiteUrl existe com sharepointSiteUrl: true e se o mapeamento metadata_spo_site_url está presente nos mapeamentos de campo do indexador ou nas projeções de índice. |
SharePointSiteUrl está vazio ou nulo após a indexação, mesmo que as ACLs estejam populando corretamente |
O indexador emite esses metadados sob metadata_spo_site_url, não sob metadata_sharepoint_site_url. Verifique se o mapeamento de campo do indexador usa "sourceFieldName": "metadata_spo_site_url". Se o seu conjunto de habilidades usar projeções de índice para documentos fragmentados, verifique se a origem do mapeamento de projeção é /document/metadata_spo_site_url. |
| O indexador retorna 401 ou 403 | Conceda consentimento do administrador em permissões de API Microsoft Graph e SharePoint para seu cenário. Use uma credencial federada (não um segredo do cliente) quando o cenário exigir. Consulte o cenário de Permissões por ACL. |
| As permissões são obsoletas depois de alterar um site, biblioteca, lista ou ACL de pasta | Chamar /resync com options: ["permissions"]. Consulte Sincronizar permissões entre o conteúdo indexado e de origem para obter contexto. |
federatedCredentialId é rejeitado ao configurar sharePointConnectorAppRegistration |
Use o ID do aplicativo da identidade gerenciada, não o ID do objeto da credencial da identidade federada ou o ID principal da identidade gerenciada. Consulte ID do aplicativo da credencial federada. |
O indexador retorna 401 Unauthorized e FederatedCredentialApplicationId é definido |
Verifique se você usou o ID do aplicativo da identidade gerenciada (encontrado em Aplicativos empresariais), e não o ID de aplicativo (cliente) do aplicativo de ingestãoApplicationId nem qualquer ID de objeto. Para uma identidade gerenciada atribuída pelo usuário, use a ID do cliente da página Propriedades do recurso de identidade gerenciada. Consulte Localizar os identificadores de Microsoft Entra corretos. |
Para resultados ausentes, inesperados ou com falha no momento da consulta depois que os metadados de ACL forem indexados, consulte Solucionar problemas de filtragem de permissões do SharePoint.