Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.
Importante
Le funzionalità, le funzionalità o le proprietà contrassegnate (anteprima) non sono coperte da un contratto di servizio, non sono consigliate per i carichi di lavoro di produzione e potrebbero cambiare o essere vincolate prima che diventino disponibili a livello generale. Le condizioni di anteprima Azure AI Search si applicano a tutte le funzionalità di anteprima, indipendente o parte di una funzionalità disponibile a livello generale.
L'acquisizione dei metadati delle autorizzazioni di SharePoint (anteprima) utilizza un indicizzatore di Azure AI Search per mantenere i metadati delle autorizzazioni, ad esempio gli elenchi di controllo di accesso (ACL), insieme ad altri contenuti di SharePoint in Microsoft 365. L'indicizzatore archivia le autorizzazioni come metadati in ogni documento indicizzato. In fase di query, gli utenti ricevono solo i documenti a cui hanno l'autorizzazione per accedere.
Importante
Per gli scenari che richiedono il modello completo di autorizzazioni SharePoint, le etichette di riservatezza e il troncamento predefinito della sicurezza, utilizzare un'origine di conoscenza SharePoint remoto. Questo approccio chiama SharePoint direttamente tramite l'API di recupero di Copilot. La governance rimane completamente in SharePoint e i risultati delle query rispettano automaticamente tutte le autorizzazioni e le etichette applicabili.
Prerequisiti
Azure AI Search su un piano a pagamento (Basic o superiore) in qualsiasi regione.
SharePoint in siti, raccolte, cartelle e file di Microsoft 365 con autorizzazioni configurate.
Completare tutti i passaggi di configurazione nella documentazione dell'indicizzatore di SharePoint, applicando i requisiti specifici dell'elenco di controllo di accesso descritti in questo articolo.
Configura le autorizzazioni dell'applicazione di Microsoft Entra e una credenziale appropriata per il tuo scenario. Vedi lo scenario delle autorizzazioni tramite ACL. L'inserimento ACL richiede le autorizzazioni dell'applicazione. Le autorizzazioni delegate non sono supportate. Per la decisione tra autorizzazioni applicative e delegate, vedi Scegli la configurazione delle autorizzazioni.
API REST versione 2026-08-01-preview o un pacchetto SDK di anteprima equivalente.
Limitazioni
Gli aggiornamenti incrementali dell'elenco di controllo di accesso richiedono l'API REST 2026-05-01-preview o versioni successive. Nelle versioni precedenti dell'API di anteprima, il sistema acquisisce gli elenchi di controllo di accesso solo al primo inserimento di ogni elemento. Le modifiche alle autorizzazioni successive richiedono la reindicizzazione esplicita. Per la procedura di migrazione, vedere Sincronizzare le autorizzazioni tra il contenuto indicizzato e quello di origine.
Le modifiche alle autorizzazioni dell'ambito padre non vengono rilevate automaticamente durante le successive esecuzioni dell'indicizzatore. Per le opzioni di aggiornamento, vedere Sincronizzare le autorizzazioni tra il contenuto indicizzato e quello di origine.
Il portale di Azure non supporta questa funzionalità.
In questa anteprima non sono supportate le funzionalità seguenti:
Criteri di SharePoint Information Management applicabili all'accesso utente. Il sistema non valuta, non acquisisce né applica tali criteri al momento dell'esecuzione della query.
Collegamenti condivisibili con ambito "Chiunque" o "Persone nell'organizzazione". Sono supportati solo i collegamenti con ambito "Utenti specifici".
gruppi di SharePoint (come i gruppi Proprietari, Membri e Visitatori) sono supportati a partire dalla versione 2026-05-01-preview dell'API REST. Vedere Configurare il supporto dei gruppi di SharePoint. Nelle versioni precedenti dell'API di anteprima, sono supportati solo i gruppi di SharePoint che corrispondono a gruppi di Microsoft Entra.
Le funzionalità dell'indicizzatore seguenti non supportano l'ereditarietà delle autorizzazioni nei documenti indicizzati provenienti da SharePoint. Se si usa una di queste funzionalità in un set di competenze o in un indicizzatore, le autorizzazioni a livello di documento non vengono incluse nel contenuto indicizzato.
Archivio conoscenze, incluso l'archivio asset necessario per la gestione delle immagini (anteprima) nel recupero agentico. Pertanto, la distribuzione delle immagini non è supportata per le fonti di conoscenza che utilizzano gli ACL di SharePoint.
Supporto per il modello di autorizzazione di SharePoint
Questa anteprima supporta gli elenchi di controllo di accesso di base per documenti, elementi di elenco e pagine moderne del sito ASPX.
| Funzionalità di SharePoint | Descrizione | Supportato | Note |
|---|---|---|---|
| Ereditarietà di siti, raccolte, elenchi e pagine | sito → raccolta/elenco → cartella → file/elemento/pagina. | ✔️ | Valutato al momento dell'inserimento; ACL effettivi calcolati per ogni elemento. |
| ACL univoche di cartelle, file, elementi di elenco e pagine | Accesso a livello di elemento. | ✔️ | Inclusi se presenti al momento della prima importazione e nelle successive esecuzioni che rilevano modifiche all'ACL per gli elementi con autorizzazioni univoche. |
| Elementi dell'elenco di SharePoint | Autorizzazioni per gli elementi di elenco (allSiteLists e allSiteContent i contenitori). |
✔️ | Anteprima, a partire dall'API REST 2026-05-01-preview. |
| Pagine del sito ASPX | Autorizzazioni per le pagine moderne del sito (contenitori allSitePages e allSiteContent). |
✔️ | Anteprima, a partire dall'API REST 2026-05-01-preview. |
| gruppi di Microsoft Entra (Microsoft 365 e sicurezza) | Accesso basato su gruppo. | ✔️ | ID di gruppo inclusi quando risolvibili in un identificatore (ID) di Microsoft Entra. |
| Gruppi di siti di SharePoint | Proprietari/Membri/Visitatori e gruppi di siti personalizzati. | ✔️ | Anteprima, a partire dall'API REST 2026-05-01-preview. Richiede la configurazione dei gruppi SharePoint. Gli ID di gruppo vengono emessi con il prefisso spg:. |
| Collegamenti "Chiunque" o "Persone nell'organizzazione" condivisibili | Accesso pubblico o a livello di organizzazione. | ❌ | Non supportato in anteprima. |
| Utenti esterni/guest | Accesso per gli ospiti. | ❌ | Non supportato. |
| Criteri di Gestione delle informazioni | Criteri per definire requisiti di autorizzazioni specifici. | ❌ | Non supportato in anteprima. |
| Etichette di riservatezza in Purview | Sicurezza a livello di documento per privacy, categorizzazione, autorizzazioni e crittografia | ❌ | Supportato tramite una funzionalità separata: conservazione e rispetto delle etichette di riservatezza. |
Relazioni di gruppo supportate
La transitività dei gruppi di Microsoft Entra si applica all'interno di Microsoft Entra. Non espande i gruppi di Microsoft Entra che sono membri di gruppi di SharePoint.
| Relazione di autorizzazione | Supportato | Linee guida |
|---|---|---|
| Utente o gruppo di Microsoft Entra assegnato direttamente all'elemento SharePoint | Sì | L'indicizzatore archivia l'ID oggetto dell'utente o del gruppo Microsoft Entra nei metadati delle autorizzazioni dell'elemento. |
| L'utente accede a un gruppo Microsoft Entra assegnato tramite la nidificazione transitiva dei gruppi Microsoft Entra | Sì | La risoluzione tramite Microsoft Graph in fase di query espande le appartenenze transitive dell'utente ai gruppi Microsoft Entra. |
| Utente assegnato direttamente a un gruppo di siti SharePoint che ha accesso all'elemento | Sì | Configurare il supporto dei gruppi di SharePoint. |
| gruppo Microsoft Entra annidato all'interno di un gruppo di SharePoint | No | La risoluzione dei gruppi di SharePoint non espande il gruppo annidato di Microsoft Entra. I risultati che dipendono da questa relazione vengono filtrati. Aggiungere utenti direttamente al gruppo di SharePoint o concedere l'autorizzazione tramite un'assegnazione di gruppo Microsoft Entra supportata. |
| Altri percorsi di annidamento combinati di SharePoint e Microsoft Entra | Non specificato | Non dedurre il supporto in base alla transitività di Microsoft Entra. Questa limitazione dell'anteprima si applica ai gruppi Microsoft Entra annidati nei gruppi di SharePoint. |
Come vengono valutate le autorizzazioni gerarchica
Le autorizzazioni di SharePoint ereditano la gerarchia della raccolta → sito → cartella → file, a meno che l'ereditarietà non venga interrotta.
Durante l'inserimento, l'indicizzatore raccoglie gli identificatori utente e gruppo (ID) a ogni livello e calcola l'ACL effettivo per ogni file.
Autorizzazioni per scenario ACL
Le autorizzazioni dell'applicazione Microsoft Entra e il tipo di credenziale necessari per l'inserimento ACL dipendono dai tipi di elemento e dai tipi di gruppo indicizzati. Nella registrazione dell'app vengono aggiunte tutte le autorizzazioni in Autorizzazioni> APIAggiungere un'autorizzazione e le credenziali federate vengono aggiunte in Certificati e segreti>Credenziali federate. Per istruzioni dettagliate e screenshot, vedere P 3: Creare una registrazione dell'applicazione Microsoft Entra e Configurare l'applicazione registrata con un'identità gestita.
| Scenario | Autorizzazioni API da aggiungere | Credential |
|---|---|---|
| ACL sui file della raccolta documenti, quando l'accesso viene concesso solo tramite utenti Microsoft Entra e gruppi standard (gruppi di sicurezza Microsoft Entra, gruppi Microsoft 365, gruppi di sicurezza abilitati alla posta elettronica) |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (o Sites.Selected per l'accesso con ambito) |
Codice segreto del cliente o credenziali federate |
| È necessario rispettare anche i diritti ACL sui file della raccolta documenti quando si utilizzano i gruppi del sito SharePoint (Proprietari, Membri, Visitatori o gruppi personalizzati) |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (o Sites.Selected)SharePoint: Sites.FullControl.All (o Sites.Selected) |
Credenziali federate (obbligatorio) |
| ACL per gli elementi dell'elenco di SharePoint |
Microsoft Graph: Files.Read.All, Sites.FullControl.All (o Sites.Selected), User.Read.AllSharePoint: Sites.FullControl.All (o Sites.Selected) |
Credenziali federate (obbligatorio) |
| Contenuto e ACL nelle pagine del sito ASPX |
Microsoft Graph: Sites.FullControl.All (o Sites.Selected), User.Read.All (mantenere Files.Read.All dalle righe precedenti se si indicizzano anche raccolte documenti o elenchi)SharePoint: Sites.FullControl.All (o Sites.Selected) |
Credenziali federate (obbligatorio) |
Risoluzione in fase di query dei gruppi di siti SharePoint tramite sharePointConnectorAppRegistration |
Aggiungere SharePoint: User.Read.All alla stessa registrazione dell'app usata dall'indicizzatore |
Credenziali federate (obbligatorio) |
Nota
Quando si aggiunge un'autorizzazione, è possibile scegliere tra due superfici API: Microsoft Graph e SharePoint. Entrambe espongono autorizzazioni denominate in modo analogo. Ad esempio,
Sites.FullControl.Allesiste in entrambi i casi. Aggiungere ogni autorizzazione nell'area API indicata nella tabella.Usare una credenziale federata ogni volta che lo scenario aggiunge SharePoint autorizzazioni API. I segreti del client funzionano solo per la riga della raccolta documenti basata esclusivamente su Microsoft Graph.
User.Read.Allè necessario per le voci di elenco e le pagine del sito ASPX perché l'indicizzatore legge tali autorizzazioni tramite l'API REST SharePoint, che restituisce solo il messaggio di posta elettronica dell'utente. L'indicizzatore richiama quindi Microsoft Graph per associare ogni indirizzo e-mail al relativo ID oggetto di Microsoft Entra, e tale ricerca richiedeUser.Read.All.Quando si usa
Sites.Selected, concedere all'app l'accesso esplicito a ogni sito di destinazione SharePoint prima dell'indicizzazione.
Una credenziale federata autentica l'app usando un'identità gestita attendibile anziché un segreto client. La stessa credenziale federata copre sia l'inserimento (indicizzatore) che la valutazione in fase di query dei gruppi di siti SharePoint. Per la procedura di installazione, vedere Configurazione dell'applicazione registrata con un'identità gestita.
Prima di abilitare l'acquisizione ACL
Completare questi passaggi nell'applicazione Microsoft Entra registrata:
- Identifica lo scenario nella tabella precedente in base a ciò che intendi indicizzare (file delle raccolte documenti, elementi degli elenchi, pagine ASPX del sito) e al fatto che sia necessario rispettare i gruppi del sito di SharePoint.
- Aprire la registrazione dell'app nel Interfaccia di amministrazione di Microsoft Entra e passare a autorizzazioni API>Aggiungi un'autorizzazione.
- Aggiungere le autorizzazioni Microsoft Graph elencate per lo scenario. Concedere il consenso amministratore.
- Se lo scenario richiede anche autorizzazioni di SharePoint, selezionare Aggiungi un'autorizzazione, scegliere di nuovo l'API SharePoint e aggiungere
Sites.FullControl.All(oSites.Selected). Concedere il consenso amministratore. - Configurare le credenziali:
- Per gli scenari solo Microsoft Graph, è possibile usare un segreto client (
Certificates & secrets Client secrets ) o una credenziale federata. - Per qualsiasi scenario che preveda autorizzazioni di SharePoint, aggiungere una credenziale federata in Certificates & secrets>Credenziali federate. Vedere Configurazione dell'applicazione registrata con un'identità gestita.
- Per gli scenari solo Microsoft Graph, è possibile usare un segreto client (
- Concedere all'applicazione l'accesso ai siti di SharePoint di destinazione (particolarmente importante quando si usa
Sites.Selectedper l'accesso con ambito) in modo da poter leggere il contenuto e le autorizzazioni da indicizzare.
Trovare gli identificatori di Microsoft Entra corretti
Ogni identificatore compare in una posizione diversa nel portale di Azure e corrisponde a uno specifico campo di configurazione. Usare questa sezione come riferimento quando si configura SharePoint inserimento ACL con credenziali federate. Si fa riferimento a questi identificatori in Configurare il supporto per i gruppi di SharePoint e nella stringa di connessione dell'origine dati.
| Identificatore | Posizione del portale | Utilizzato dove | Note |
|---|---|---|---|
| ID client dell'applicazione di acquisizione |
Registrazioni app><your-app>>Panoramica |
ApplicationId nella stringa do connessione dell'origine dati; applicationId in sharePointConnectorAppRegistration |
Questo ID è corretto per la maggior parte dei campi di configurazione. Chiamato anche "ID client". |
| ID oggetto applicazione |
Registrazioni app><your-app>>Panoramica (sotto l'ID applicazione (client)) |
Non usato nella configurazione di Azure AI Search | Non confondere questo valore con l'ID applicazione (client). Viene visualizzato nello stesso pannello, direttamente sotto l'ID client. |
| ID oggetto entità servizio |
Microsoft Entra ID>Applicazioni aziendali><your-app>>Gestisci>Proprietà |
Non usato nella configurazione di Azure AI Search | Questa è la rappresentazione dell'entità di servizio dell'app. Si tratta di un GUID diverso dall'ID oggetto di registrazione dell'app. |
| ID principale dell'identità gestita | Risorsa di identità gestita > o il pannello Identità del servizio di ricerca | Non usato direttamente nella configurazione dell'origine dati o dell'indice di Azure AI Search | Usato internamente quando si configurano le credenziali di identità federate nella registrazione dell'app. La credenziale che crei si fida di questa identità. |
| ID oggetto della credenziale federata |
Registrazioni app><your-app>>Gestisci>Certificati e segreti>Credenziali federate><credential-name> |
Non usato nella configurazione di Azure AI Search | Non usare il GUID della voce relativa alle credenziali di identità federata per federatedCredentialId. |
| ID dell'applicazione della credenziale federata | Assegnata dal sistema: Microsoft Entra ID>Applicazioni aziendali><search-service>>; Assegnata dall'utente: <managed-identity-resource>>Proprietà |
FederatedCredentialApplicationId nella stringa do connessione dell'origine dati; federatedCredentialId in sharePointConnectorAppRegistration |
Vedere ID applicazione delle credenziali federate per la ricerca dell'identità gestita. |
ID dell'applicazione della credenziale federata
Per FederatedCredentialApplicationId nella stringa di connessione dell'origine dati e federatedCredentialId nella definizione dell'indice, usare l'ID applicazione (client) dell'identità gestita, non l'ID dell'app di inserimento.
Identità gestita assegnata dal sistema:
- Vai al servizio Azure AI Search.
- Selezionare Sicurezza e identità di rete>.
- Nella scheda Assegnata dal sistema prendere nota dell'ID oggetto (entità).
- Passare a Microsoft Entra ID>Gestisci>applicazioni aziendali.
- Cerca il nome del servizio di ricerca o incolla l'ID oggetto (principale) nella casella di ricerca.
- Selezionare il risultato e aprire Proprietà. Copiare l'ID applicazione illustrato di seguito, ovvero il valore per
FederatedCredentialApplicationIdnell'origine dati efederatedCredentialIdnell'indice.
Identità gestita assegnata dall'utente:
- Passare alla risorsa identità gestita assegnata dall'utente.
- Selezionare Impostazioni>Proprietà.
- Copiare l'ID client, ovvero il valore per
FederatedCredentialApplicationIdnell'origine dati efederatedCredentialIdnell'indice.
Configura il tuo servizio di ricerca per l'acquisizione delle ACL e l'applicazione delle stesse in fase di interrogazione
Questa procedura consente di configurare il servizio di ricerca per l'acquisizione dell’elenco di controllo di accesso e di rispettare l’elenco di controllo di accesso in fase di query.
Scegliere dove compilare i campi ACL
La posizione in cui si esegue il mapping dei campi dei metadati ACL dipende dal fatto che l'indicizzatore scriva un documento per ogni elemento di origine o più blocchi per ogni elemento di origine.
| Scenario | Popolare i campi ACL tramite | Perché |
|---|---|---|
| Nessun insieme di competenze senza suddivisione in blocchi; un documento di ricerca per ogni elemento di origine |
Mappature dei campi dell'indicizzatore solo (metadata_user_ids → UserIds, metadata_group_ids → GroupIds e, per i gruppi di SharePoint, metadata_spo_site_url → SharePointSiteUrl). |
L'indicizzatore scrive un singolo documento nell'indice di destinazione e i mapping dei campi contengono i metadati di origine nei campi dell'indice. |
Set di competenze con suddivisione in blocchi (ad esempio, competenza di suddivisione del testo per la vettorializzazione integrata), un singolo indice con campi padre ripetuti in ogni blocco (projectionMode: skipIndexingParentDocuments) |
Proiezioni di indice nel set di competenze (mappings da /document/metadata_user_ids, /document/metadata_group_ids e per i gruppi di SharePoint /document/metadata_spo_site_url). |
Il documento principale non è indicizzato; sono indicizzati solo i blocchi. I valori ACL devono essere proiettati in ogni blocco, in modo che i filtri in fase di query vengano applicati al blocco restituito nei risultati. In questa modalità, le mappature dei campi dell'indicizzatore per questi campi vengono ignorate. |
| Set di competenze con suddivisione in blocchi, modello a due indici (indice padre + indice blocco figlio) | Entrambe: le mappature dei campi dell'indicizzatore popolano i campi ACL dell'indice principale, mentre le proiezioni dell'indice popolano i campi ACL dell'indice dei blocchi secondario. | Entrambi gli indici sono interrogabili e ciascuno necessita dei metadati su cui applica i filtri. |
In tutti gli scenari con suddivisione in blocchi, ogni blocco deve includere i campi ACL. I filtri di autorizzazione si applicano per documento, quindi non è possibile restituire un blocco di campi ACL mancanti al chiamante corretto.
1. Configurazione dell'origine dati
Questa sezione rappresenta un'estensione rispetto alla base Fase 4: Guida passo passo alla creazione di una fonte dati. Impostare indexerPermissionOptions nella definizione dell'origine dati per consentire l'indicizzazione di userIds e groupIds dai documenti di SharePoint.
{
"name": "my-sharepoint-acl-datasource",
"type": "sharepoint",
"indexerPermissionOptions": ["userIds", "groupIds"],
"credentials": {
"connectionString": "<connection-string>;"
},
"container": {
"name": "<library-name>",
"query": "<optional-folder-path>"
}
}
2. Aggiungere campi di autorizzazione alla definizione dell'indice
Aggiungere campi alla definizione dello schema di indice per archiviare gli elenchi di controllo di accesso (ACL) e supportare il filtro durante l'esecuzione delle query.
{
"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"
}
Impostare retrievable l'attributo su true solo durante lo sviluppo per verificare i valori. È possibile modificare il valore di recuperabilità da true a false senza dover ricompilare l'indice.
3. Configurare le proiezioni di indici nel set di competenze (se applicabile)
Quando la suddivisione in blocchi è abilitata, il documento padre non viene scritto nell'indice quando projectionMode è skipIndexingParentDocuments. Portare i metadati ACL in ogni blocco tramite indexProjections.selectors[].mappings.
Se l'indicizzatore usa un set di competenze con suddivisione in blocchi di dati, ad esempio la competenza Divisione testo quando si abilita la vettorizzazione integrata, assicurarsi di eseguire il mapping delle proprietà ACL a ogni blocco usando proiezioni di indice. Le // righe nell'esempio seguente sono annotazioni illustrative e non sono JSON valide. Rimuoverli prima di inviare la richiesta.
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"
}
}
}
UserIds, GroupIds e SharePointSiteUrl leggono i metadati a livello di origine generati dall'indicizzatore di SharePoint (/document/metadata_*) e scrivono i valori su ogni blocco.
4. Configurare le mappature dei campi dell'indicizzatore per le ACL
Usare i mapping dei campi dell'indicizzatore quando l'indicizzatore scrive un documento per ogni elemento di origine (senza suddivisione in blocchi) o quando si mantiene un indice padre separato insieme a un indice di blocco. Se il set di competenze suddivide i documenti in un unico indice di destinazione con projectionMode: skipIndexingParentDocuments, le mappature dei campi mostrate qui vengono sostituite da indexProjections.mappings del passaggio precedente per l'indice dei frammenti.
Oltre alla configurazione dell'indicizzatore necessaria, eseguire il mapping dei campi ACL dei metadati non elaborati da SharePoint ai campi dell'indice.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" }
]
}
5. Avviare l'indicizzatore
I metadati ACL vengono inseriti durante l'esecuzione dell'indicizzatore. Dopo aver creato o aggiornato l'indicizzatore (vedere Passaggio 6: Creare un indicizzatore), attivare un'esecuzione in modo che l'indicizzatore inserisca gli ACL insieme al contenuto.
POST https://[service name].search.windows.net/indexers/[indexer-name]/run?api-version=2026-08-01-preview
api-key: [admin key]
Se è stato abilitato l'inserimento ACL in un indicizzatore esistente che già ha indicizzato gli elementi, chiamare /resync con options: ["permissions"] per riempire gli ACL per tali elementi o /resetdocs per estrarre nuovamente elementi specifici.
6. Verifica dell'acquisizione dell'ACL
Per verificare che i valori ACL siano stati inseriti correttamente:
- Imposta temporaneamente
retrievablesutrueperUserIdseGroupIdsnella definizione dell'indice. La modificaretrievablenon richiede una ricompilazione dell'indice. - Eseguire una query con privilegi elevati di lettura che seleziona
UserIdseGroupIdse verificare che le raccolte non siano vuote. Per gli scenari in blocchi, verificare che ogni blocco porti entrambi i campi. - Tornare
retrievableafalsedopo la verifica.
Configurare il supporto dei gruppi di SharePoint
A partire dall'API REST in versione 2026-05-01-preview, l'indicizzatore di SharePoint può acquisire le appartenenze ai gruppi del sito di SharePoint (Proprietari, Membri, Visitatori e gruppi del sito personalizzati). Ne tiene conto al momento dell'esecuzione della query. Gli ID gruppo di SharePoint vengono riportati nel campo metadata_group_ids con il prefisso spg: per distinguerli dagli ID oggetto dei gruppi di Microsoft Entra.
Questa guida è completa: segui i passaggi in ordine per configurare l'indice, le mappature dei campi dell'indicizzatore ed eseguire query sull'indice con l'applicazione delle impostazioni del gruppo di siti di SharePoint.
I seguenti componenti funzionano insieme per abilitare la risoluzione dei gruppi di siti di SharePoint:
| Componente | Dove | Purpose |
|---|---|---|
sharePointConnectorAppRegistration (con applicationId, tenantId, federatedCredentialId) |
Definizione dell'indice | Fornisce la configurazione di autenticazione necessaria per il servizio di ricerca per chiamare l'API REST SharePoint come utente chiamante e risolvere l'appartenenza al gruppo di siti in fase di query. |
SharePointSiteUrl campo (con sharepointSiteUrl: true) |
Schema dell'indice + mappatura dei campi dell'indicizzatore da metadata_spo_site_url |
Identifica a quale sito SharePoint appartiene un documento, in modo che la risoluzione dei gruppi SP sia delimitata correttamente. |
valori con prefisso spg: in GroupIds |
Metadati delle autorizzazioni del documento | Distinguere tra gli ID del gruppo del sito di SharePoint e gli ID oggetto del gruppo di Microsoft Entra. |
1. Prerequisiti
- L'indicizzatore di SharePoint è già configurato per l'acquisizione degli ACL. Vedere Configurare le mappature dei campi dell'indicizzatore per le ACL.
- Registrazione di app di Microsoft Entra con una credenziale di identità federata. Vedere Configurazione dell'applicazione registrata con un'identità gestita.
- API REST
2026-05-01-previewo versioni successive.
Nota
FederatedCredentialApplicationId nella stringa di connessione dell'origine dati e federatedCredentialId in sharePointConnectorAppRegistration usano l'ID dell'applicazione dell'identità gestita. La applicationId proprietà in sharePointConnectorAppRegistration usa l'ID client dell'app di inserimento. Per trovare i valori corretti, vedere Trovare gli identificatori di Microsoft Entra corretti.
2. Configurare l'indice
Aggiungere la configurazione sharePointConnectorAppRegistration e il campo SharePointSiteUrl insieme ai campi filtro delle autorizzazioni UserIds e GroupIds, in modo che la struttura completa dell'indice sia in un unico punto. Mantieni 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. Configurare i mapping dei campi dell'indicizzatore
Eseguire il mapping dei campi di metadati SharePoint ai campi dell'indice in un singolo blocco di mapping combinato. Le prime due mappature sono le stesse utilizzate per l'acquisizione ACL standard; la terza mappatura attiva la risoluzione dei gruppi di SharePoint.
{
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" },
{ "sourceFieldName": "metadata_spo_site_url", "targetFieldName": "SharePointSiteUrl" }
]
}
Se il set di competenze suddivide i documenti in blocchi (ad esempio, con la competenza Suddivisione del testo per la vettorializzazione integrata), proiettare invece SharePointSiteUrl su ogni blocco tramite indexProjections.mappings. Vedi Scegliere dove compilare i campi ACL.
4. Eseguire una query sull'indice
Non è necessaria alcuna modifica sul lato client. Lo stesso token x-ms-query-source-authorization attiva sia l'applicazione delle impostazioni di Microsoft Entra che quelle del gruppo di siti di SharePoint. Il servizio di ricerca risolve lato server le appartenenze ai gruppi di SharePoint utilizzando sharePointConnectorAppRegistration nell'indice.
Per la struttura della richiesta, vedi l'esempio di query generale e l'esempio specifico di SharePoint con imposizione del gruppo di siti di SharePoint.
5. Verificare
Per confermare che gli ID dei gruppi di SharePoint siano stati inseriti nell'indice, eseguire una query elevated-read che selezioni GroupIds e cercare nella risposta i valori con prefisso spg:.
Sincronizzare le autorizzazioni tra il contenuto indicizzato e quello di origine
A partire dall'API REST 2026-05-01-preview, le modifiche ACL per gli elementi con autorizzazioni univoche vengono rilevate e aggiornate in ogni esecuzione corretta dell'indicizzatore. L'indicizzatore usa i token di modifica di SharePoint per rilevare in modo incrementale le aggiunte e le rimozioni delle assegnazioni dei ruoli, allo stesso modo in cui rileva le modifiche al contenuto.
Alcuni scenari richiedono comunque un aggiornamento esplicito:
| Modificare l'ambito | Rilevato automaticamente | Azione consigliata |
|---|---|---|
| Autorizzazioni per un elemento specifico con autorizzazioni univoce (file, elemento elenco o pagina) | Sì | Nessuna azione richiesta. La modifica verrà applicata al successivo ciclo di indicizzazione completato con successo. |
| Modifica del contenuto per un elemento specifico (che valuta nuovamente gli ACL effettivi per tale elemento) | Sì | Nessuna azione richiesta. |
| Le modifiche alle autorizzazioni apportate a un livello superiore (sito, raccolta, elenco o cartella) vengono ereditate dagli elementi di livello inferiore | No | Chiamare /resync con options: ["permissions"] per aggiornare le ACL nell'intera origine dati, o chiamare /resetdocs con le chiavi dei documenti interessati per aggiornare sia il contenuto sia le ACL. |
| Attivazione dell'acquisizione ACL su un indicizzatore esistente | No | Chiamare /resync con options: ["permissions"] per riempire gli elenchi di controllo di accesso per gli elementi indicizzati in precedenza. |
Reimpostare documenti specifici
È possibile reimpostare documenti specifici per inserire nuovamente contenuto e ACL.
POST https://{service}.search.windows.net/indexers/{indexer}/resetdocs?api-version=2026-08-01-preview
{
"documentKeys": ["doc123", "doc456"]
}
Risincronizzare gli elenchi di controllo di accesso in tutta l'origine dati
È possibile risincronizzare il contenuto ACL completo del set di dati dopo l'inserimento iniziale. Per avere esito positivo, questa operazione richiede un'esecuzione dell'indicizzatore dopo il completamento.
POST https://{service}.search.windows.net/indexers/{indexer}/resync?api-version=2026-08-01-preview
{
"options": ["permissions"]
}
Importante
Se si modificano le autorizzazioni di SharePoint senza attivare un meccanismo di aggiornamento, l'indice fornisce dati ACL non aggiornati per i file inseriti in precedenza.
Dopo aver indicizzato i dati e gli ACL, è possibile eseguire query sull'indice.
Risoluzione dei problemi
| Sintomo | Causa e risoluzione |
|---|---|
UserIds o GroupIds sono vuoti nei documenti indicizzati |
Se il tuo set di competenze utilizza projectionMode: skipIndexingParentDocuments, le mappature dei campi dell'indicizzatore per i campi ACL vengono ignorate. Impostare invece i campi ACL tramite indexProjections.mappings per ogni blocco. |
Mancano gli ID dei gruppi di siti di SharePoint oppure i valori GroupIds non hanno il prefisso spg: |
Confermare che l'indice abbia la configurazione sharePointConnectorAppRegistration, che il campo SharePointSiteUrl esista con sharepointSiteUrl: true e che il mapping metadata_spo_site_url sia presente nelle mappature dei campi dell'indicizzatore o nelle proiezioni dell'indice. |
SharePointSiteUrl è vuoto o nullo dopo l'indicizzazione, anche se le ACL vengono comunque popolate correttamente |
L'indicizzatore genera questi metadati in metadata_spo_site_url, non metadata_sharepoint_site_url. Verifica che la mappatura dei campi dell'indicizzatore usi "sourceFieldName": "metadata_spo_site_url". Se il set di competenze utilizza proiezioni di indice per documenti suddivisi in blocchi, verificare che l'origine del mapping della proiezione sia /document/metadata_spo_site_url. |
| L'indicizzatore restituisce 401 o 403 | Concedere il consenso dell'amministratore sia per Microsoft Graph che per le autorizzazioni API di SharePoint per lo scenario in uso. Usare una credenziale federata (non un segreto client) quando lo scenario lo richiede. Vedi lo scenario delle autorizzazioni tramite ACL. |
| Le autorizzazioni sono obsolete dopo aver modificato l'ACL di un sito, una raccolta, un elenco o una cartella | Chiamare /resync con options: ["permissions"]. Vedere Sincronizzare le autorizzazioni tra il contenuto indicizzato e quello di origine per il contesto. |
federatedCredentialId viene rifiutato durante la configurazione sharePointConnectorAppRegistration |
Usare l'ID dell'applicazione dell'identità gestita, non l'ID oggetto della credenziale dell'identità federata o l'ID principale dell'identità gestita. Vedi ID applicazione della credenziale federata. |
L'indicizzatore restituisce 401 Unauthorized e FederatedCredentialApplicationId viene impostato |
Verificare di aver usato l'ID applicazione dell'identità gestita (disponibile nelle applicazioni aziendali), non l'ID applicazione (client) dell'app di inserimento (ApplicationId) o qualsiasi ID oggetto. Per un'identità gestita assegnata dall'utente, usare l'ID client dalla pagina Proprietà della risorsa di identità gestita. Vedere Trovare gli identificatori di Microsoft Entra corretti. |
Per risultati mancanti, imprevisti o non riusciti in fase di query dopo l'indicizzazione dei metadati ACL, vedere Risolvere i problemi relativi al filtro delle autorizzazioni SharePoint.