Usa un indicizzatore di Azure AI Search per acquisire le etichette di riservatezza di Microsoft Purview e applicare la sicurezza a livello di documento (anteprima)

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

Queste funzionalità e funzionalità fanno parte dell'API REST 2026-05-01-preview. L'anteprima 2026-05-01-preview è concessa in licenza all'utente come parte della sottoscrizione Azure ed è soggetta ai termini applicabili alle "Anteprime" nei Microsoft Product Terms, nel Microsoft Products and Services Data Protection Addendum ("DPA") e nei Supplemental Terms of Use for Microsoft Azure Previews.

La versione 2026-05-01-preview supporta le connessioni ad altri servizi di servizi Microsoft e di terze parti. L'utilizzo di questi servizi è soggetto alle rispettive condizioni e potrebbe comportare l'elaborazione o l'archiviazione dei dati al di fuori del limite di conformità Azure, nonché il flusso dei dati nel limite di conformità Azure.

L'anteprima 2026-05-01-preview non può modificare le autorizzazioni di accesso impostate al di fuori dell'anteprima 2026-05-01-preview. Se si usa il contenuto con restrizioni di accesso o autorizzazione 2026-05-05-01, si verifica un intervallo di tempo prima che l'anteprima 2026-05-01-preview riconosca le modifiche apportate a tali restrizioni di accesso o autorizzazione.

È responsabilità dell'utente gestire se i dati vengono trasmessi al di fuori dei limiti geografici e di conformità dell'organizzazione e di eventuali implicazioni correlate e che venga effettuato il provisioning di autorizzazioni, limiti e approvazioni appropriate.

L'utente è responsabile di esaminare e testare attentamente le applicazioni compilate nel contesto dei casi d'uso specifici e di prendere tutte le decisioni e le personalizzazioni appropriate. Questa responsabilità include l'implementazione di mitigazioni di intelligenza artificiale responsabili, ad esempio metaprompt, filtri di contenuto o altri sistemi di sicurezza, e garantire che le applicazioni soddisfino standard di qualità, affidabilità, sicurezza e attendibilità appropriati. Per altre informazioni, vedere la nota sulla trasparenza Azure AI Search.

Azure AI Search supporta l'estrazione automatica delle etichette di riservatezza di Microsoft Purview a livello del documento durante l'indicizzazione, con il controllo degli accessi basato sulle etichette applicato in fase di esecuzione della query. Disponibile in anteprima, questa funzionalità consente alle organizzazioni di allineare le esperienze di ricerca ai criteri di protezione di information esistenti definiti in Microsoft Purview.

Con l'indicizzazione delle etichette di riservatezza, Azure AI Search estrae e archivia i metadati che descrivono il livello di riservatezza di ogni documento. Applica anche il controllo degli accessi in base all'etichetta, assicurandosi che solo gli utenti autorizzati possano visualizzare o recuperare contenuto etichettato nei risultati della ricerca.

Questa funzionalità è disponibile per le origini dati seguenti:

Un diagramma dell'architettura che mostra una soluzione RAG regolamentata in cui i documenti etichettati con etichette di riservatezza di Microsoft Purview sono indicizzati su Azure AI Search, e un orchestratore RAG filtra i risultati delle query in base all'etichetta, in modo che gli utenti junior visualizzino solo contenuti Generali, mentre gli utenti esecutivi vedano contenuti Generali, Riservati e Altamente riservati.

Prerequisiti

Importante

Il servizio di ricerca deve usare l'identità gestita assegnata dal sistema per l'autenticazione con Microsoft Purview. Questa funzionalità non supporta le identità gestite assegnate dall'utente.

Limitazioni

  • Il portale di Azure non supporta questa funzionalità.

  • Il completamento automatico e suggerisci API non sono supportate per gli indici abilitati per Purview, perché non possono ancora applicare il controllo degli accessi in base alle etichette.

  • Gli account guest e le query tra tenant non sono supportati.

  • Le identità gestite assegnate dall'utente non sono supportate per le assegnazioni di ruolo Microsoft Purview. Solo l'identità gestita assegnata dal sistema del servizio può avere i ruoli Content.SuperUser e UnifiedPolicy.Tenant.Read richiesti per l'estrazione delle etichette. Assegna questi ruoli direttamente all'identità del servizio stesso - esegue le operazioni privilegiate EXTRACT (lettura di contenuti crittografati e classificazioni di sicurezza) per conto dell'indicizzatore. Vedere Passaggio 1 e Passaggio 3.

  • Le funzionalità dell'indicizzatore seguenti non supportano i documenti con etichette di riservatezza. Se si usa una di queste funzionalità in un set di competenze o in un indicizzatore, i documenti con etichette di riservatezza non vengono elaborati.

Funzionamento dell'applicazione dei criteri

Il supporto delle etichette di riservatezza prevede due fasi: indicizzazione e imposizione in fase di interrogazione.

Indicizzazione

Quando si configura l'indicizzazione in base a una pianificazione, l'indicizzatore esegue il pull di nuovi documenti e aggiornamenti dall'origine dati. Per ogni documento, acquisisce:

  • Contenuto del documento
  • Etichetta di riservatezza associata
  • Modifiche al contenuto o alle etichette dall'ultima esecuzione dell'indicizzatore

Nota

L'indice non riflette le modifiche delle etichette nei documenti di origine fino alla successiva esecuzione dell'indicizzatore.

Applicazione in fase di query

In fase di query, Azure AI Search valuta le etichette di riservatezza e applica controlli di accesso a livello di documento in base al token Microsoft Entra ID dell'utente e alle politiche di etichetta di Microsoft Purview. Solo gli utenti autorizzati ad accedere al contenuto con il diritto di utilizzo READ in una determinata etichetta possono recuperare i documenti corrispondenti nei risultati della ricerca.

Gli amministratori autorizzati possono anche inviare richieste di lettura con privilegi elevati, che restituiscono documenti etichettati che l'utente che effettua la chiamata normalmente non vedrebbe e generano una voce nel log di controllo di Microsoft Purview per ogni documento restituito. L'accesso con privilegi avanzati richiede il ruolo Search Index Data Contributor sul servizio di ricerca e la versione API 2026-05-01-preview.

Esempio end-to-end

Le immagini seguenti illustrano il flusso delle etichette di riservatezza dalla creazione all'esperienza di ricerca. Nella prima immagine, un utente applica l'etichetta Confidential a un documento in Microsoft Word. Nella seconda immagine, un chatbot aziendale applica tale etichetta in fase di query, bloccando le azioni di copia e condivisione per il contenuto riservato.

Screenshot del menu di sensibilità di Microsoft Word che mostra una gerarchia di etichette, tra cui Non-Business, Public, General, Confidential, con sottoetichette come Project Obsidian e Solo destinatari, e Molto riservato, con l'etichetta Confidenziale attualmente applicata al documento.

Screenshot di un chatbot aziendale Contoso che visualizza una risposta conforme alle politiche con citazioni numerate, un banner dell'etichetta di riservatezza Confidential Project Obsidian, azioni di copia e condivisione bloccate, e etichette di riservatezza per i documenti visualizzate nel pannello dei riferimenti.

1. Abilitare l'identità gestita di Ricerca AI

Abilitare un'identità gestita assegnata dal sistema per il servizio Azure AI Search: le identità gestite assegnate dall'utente non sono supportate per questa funzionalità. L'indicizzatore usa questa identità per eseguire l'autenticazione con Microsoft Purview ed estrarre i metadati delle etichette di riservatezza. Deve anche ricevere le assegnazioni di ruolo nel passaggio 3.

2. Abilitare RBAC nel servizio di ricerca AI

Abilitare il controllo degli accessi in base al ruolo nel servizio Azure AI Search. Questo passaggio è necessario in modo che le operazioni correlate al contenuto, ad esempio l'indicizzazione del contenuto e l'esecuzione di query sull'indice abbiano esito positivo. Mantenere sia la gestione degli accessi basata sui ruoli che le chiavi API per evitare l'interruzione delle operazioni che dipendono dalle chiavi API.

3. Concedere l'accesso per estrarre le etichette di riservatezza

L'accesso ai metadati delle etichette di riservatezza Microsoft Purview comporta operazioni con privilegi elevati, inclusa la lettura di contenuto crittografato e classificazioni di sicurezza. Per abilitare questa funzionalità in Azure AI Search, è necessario concedere ruoli specifici all'identità gestita del servizio, seguendo i processi di governance e approvazione interni dell'organizzazione.

Identifica gli amministratori dei ruoli globali o con privilegi speciali

Se è necessario determinare chi può autorizzare le autorizzazioni per il servizio di ricerca, è possibile individuare gli amministratori globali attivi o idonei nel tenant Microsoft Entra.

  1. Nel portale Azure cercare Microsoft Entra ID.

    Screenshot dell'azione di ricerca per il prodotto Microsoft Entra.

  2. Nel pannello di navigazione sinistro, seleziona Gestisci > ruoli e amministratori.

    Screenshot della pagina Ruoli e amministratori Entra.

  3. Cercare il ruolo Amministratore globale o Amministratore ruolo con privilegi e selezionarlo.

    Schermata della selezione del ruolo di amministratore globale.

  4. In Assegnazioni idonee e assegnazioni attive esaminare l'elenco degli amministratori autorizzati a eseguire il processo di configurazione delle autorizzazioni.

    Screenshot delle assegnazioni di ruolo idonee e attive.

Approvazione della governance sicura

Contattare i team interni di sicurezza o conformità per esaminare la richiesta. Microsoft consiglia di seguire il processo di governance e revisione della sicurezza standard dell'azienda prima di procedere con eventuali assegnazioni di ruolo.

Dopo l'approvazione, un amministratore globale o un amministratore ruolo con privilegi deve assegnare i ruoli seguenti all'identità gestita assegnata dal sistema Azure AI Search:

  • Content.SuperUser : per l'estrazione di etichette e contenuto
  • UnifiedPolicy.Tenant.Read - per l'accesso ai metadati dei criteri e delle etichette Purview

Assegnare ruoli tramite PowerShell

Nota

Assegnare questi ruoli solo all'identità gestita assegnata dal sistema del servizio Azure AI Search, non a un'identità gestita assegnata dall'utente, a un'entità servizio o a un singolo account utente. Lo script di PowerShell recupera automaticamente l'ID oggetto identità gestita dalla risorsa del servizio.

L'amministratore globale o l'amministratore del ruolo con privilegi deve usare lo script di PowerShell seguente per concedere le autorizzazioni necessarie. Sostituire i valori segnaposto con i nomi effettivi per la sottoscrizione, il gruppo di risorse e il servizio di ricerca.

Install-Module -Name Az -Scope CurrentUser
Install-Module -Name Microsoft.Entra -AllowClobber
Import-Module Az.Resources
Connect-Entra -Scopes 'Application.ReadWrite.All'

$resourceIdWithManagedIdentity = "subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Search/searchServices/<searchServiceName>"
$managedIdentityObjectId = (Get-AzResource -ResourceId $resourceIdWithManagedIdentity).Identity.PrincipalId

# Microsoft Information Protection (MIP)
$MIPResourceSP = Get-EntraServicePrincipal -Filter "appID eq '870c4f2e-85b6-4d43-bdda-6ed9a579b725'"
New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentityObjectId -Principal $managedIdentityObjectId -ResourceId $MIPResourceSP.Id -Id "8b2071cd-015a-4025-8052-1c0dba2d3f64"

# Microsoft Rights Management Services (MRMS) - Service Principal for policy read
$MRMSResourceSP = Get-EntraServicePrincipal -Filter "appID eq '00000012-0000-0000-c000-000000000000'"
New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentityObjectId -Principal $managedIdentityObjectId -ResourceId $MRMSResourceSP.Id -Id "7347eb49-7a1a-43c5-8eac-a5cd1d1c7cf0"

I ruoli appID nello script di PowerShell fornito sono associati ai ruoli di Azure seguenti:

AppID Principale del servizio
870c4f2e-85b6-4d43-bdda-6ed9a579b725 servizio di sincronizzazione Microsoft Info Protection
00000012-0000-0000-c000-000000000000 Microsoft Servizi di gestione dei diritti

4. Configurare l'indice per abilitare l'etichetta di riservatezza di Purview

Se è necessario il supporto per le etichette di sensibilità, imposta la proprietà purviewEnabled su true nella definizione dell'indice .

Importante

La purviewEnabled proprietà deve essere impostata su true quando viene creato l'indice. Questa impostazione è permanente e non può essere modificata in un secondo momento.

Se purviewEnabled è impostato su true, è supportata solo l'autenticazione RBAC per tutte le API delle operazioni sui documenti.

L'accesso alla chiave API è limitato al recupero dello schema dell'indice (elenco e recupero).

PUT https://{service}.search.windows.net/indexes('{indexName}')?api-version=2026-05-01-preview
{
  "purviewEnabled": true,
  "fields": [
    {
      "name": "sensitivityLabel",
      "type": "Edm.String",
      "filterable": true,
      "sensitivityLabel": true,
      "retrievable": true
    }
  ]
}

5. Configurare l'origine dati

Per abilitare l'inserimento di etichette di riservatezza, configurare l'origine dati con la proprietà indexerPermissionOptions impostata su ["sensitivityLabel"].

{
  "name": "purview-sensitivity-datasource",
  "type": "azureblob", // < adjust type value according to the data source you are enabling this for: sharepoint, onelake, adlsgen2.
  "indexerPermissionOptions": [ "sensitivityLabel" ],
  "credentials": {
    "connectionString": <your-connection-string>;"
  },
  "container": {
    "name": "<container-name>"
  }
}

La proprietà indexerPermissionOptions istruisce l'indicizzatore a estrarre i metadati delle etichette di riservatezza durante l'ingestione e ad allegarli al documento indicizzato.

6. Configurare le proiezioni di indici nel set di competenze (se applicabile)

Se il tuo indicizzatore dispone di un skillset e stai implementando la suddivisione dei dati in blocchi tramite la skill Text Split, ad esempio con la vettorizzazione integrata, assegna l'etichetta di sensibilità a ciascun blocco tramite le proiezioni dell'indice nel skillset.

Per la regola più ampia su quando i campi di autorizzazione e ACL appartengono ai mapping dei campi dell'indicizzatore rispetto alle proiezioni di indice, vedere Scegliere dove popolare i campi ACL.

Questo passaggio è necessario sia per l'applicazione in fase di query sia affinché le risposte relative al recupero agentico includano il tag sensitivityLabelInfo per ogni blocco. Senza il projection mapping, le righe dei blocchi secondari non verranno filtrate correttamente.

PUT https://{service}.search.windows.net/skillsets/{skillset}?api-version=2026-05-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": "sensitivityLabel",  "source": "/document/metadata_sensitivity_label" } // <-- parent → child
        ]
      }
    ],
    "parameters": {
      "projectionMode": "skipIndexingParentDocuments"
    }
  }
}

7. Configurare l'indicizzatore

  • Definire i mapping dei campi nella definizione dell'indicizzatore per eseguire il routing dei metadati delle etichette estratti ai campi dell'indice. Se l'origine dati genera metadati di etichetta con un nome di campo diverso (ad esempio, metadata_sensitivity_label), eseguirne il mapping in modo esplicito.
{
  "fieldMappings": [
    {
      "sourceFieldName": "metadata_sensitivity_label",
      "targetFieldName": "sensitivityLabel"
    }
  ]
}
  • L'indicizzatore indicizza automaticamente gli aggiornamenti delle etichette di riservatezza quando rileva le modifiche apportate all'etichetta, al contenuto o ai metadati di un documento durante un'esecuzione pianificata dell'indicizzatore. Configurare l'indicizzatore in base a una pianificazione ricorrente. L'intervallo minimo supportato è ogni 5 minuti.

Passaggi successivi