Gestire la sicurezza di una soluzione di Azure AI Search

Completato

Le organizzazioni devono poter considerare attendibile la sicurezza delle soluzioni di ricerca. Azure Al Search consente di controllare come proteggere i dati di cui si esegue la ricerca.

In questa unità si vedrà come proteggere la soluzione di ricerca, in particolare dove vengono crittografati i dati e come proteggere i flussi di dati in entrata e in uscita. Verrà infine illustrato come limitare l'accesso ai risultati della ricerca per utenti o gruppi specifici.

Panoramica degli approcci alla sicurezza

La sicurezza in Azure Al Search si basa sulle funzionalità di sicurezza di rete esistenti di Azure. Quando si pensa alla protezione della soluzione di ricerca, ci si può concentrare su tre aree:

  • Richieste di ricerca in entrata effettuate dagli utenti verso la soluzione di ricerca
  • Richieste in uscita dalla soluzione di ricerca ad altri server per indicizzare i documenti
  • Limitazione dell'accesso a livello di documento per ogni richiesta di ricerca utente

Crittografia dei dati

Il servizio Azure Al Search, come tutti i servizi di Azure, crittografa i dati archiviati mentre sono inattivi con le chiavi gestite dal servizio. Questa crittografia include indici, origini dati, mappe di sinonimi, set di competenze e persino le definizioni dell'indicizzatore.

I dati in transito vengono crittografati usando la crittografia HTTPS TLS 1.3 standard sulla porta 443.

Se si vogliono usare le proprie chiavi di crittografia, Ricerca cognitiva di Azure supporta l'uso di Azure Key Vault. Un vantaggio dell'uso delle chiavi gestite dal cliente è che la doppia crittografia verrà abilitata per tutti gli oggetti per cui si usano le chiavi personalizzate.

Suggerimento

Per la procedura dettagliata sull'uso delle chiavi gestite dal cliente per la crittografia, vedere Configurare le chiavi gestite dal cliente per la crittografia dei dati in Azure Al Search

Proteggere il traffico in entrata

Se la soluzione di ricerca è accessibile esternamente da Internet o dalle app, è possibile ridurre la superficie di attacco. Azure Al Search consente di limitare gratuitamente l'accesso all'endpoint pubblico usando un firewall per consentire l'accesso da indirizzi IP specifici.

Diagram showing inbound traffic secured using ExpressRoute through a firewall into Azure AI Search.

Se il servizio di ricerca verrà usato solo dalle risorse locali, è possibile potenziare la sicurezza con un circuito ExpressRoute, un gateway di Azure e un servizio app. È anche possibile modificare l'endpoint pubblico per usare un collegamento privato di Azure. Sarà anche necessario configurare una rete virtuale di Azure e altre risorse. L'uso di un endpoint privato è la soluzione più sicura, anche se comporta il costo aggiuntivo dell'uso dei servizi che devono essere ospitati nella piattaforma Azure.

Suggerimento

Per altre informazioni sugli endpoint privati, vedere Creare un endpoint privato per una connessione sicura a Azure Al Search.

Autenticare le richieste alla soluzione di ricerca

Una volta realizzata l'infrastruttura per ridurre la superficie di attacco della soluzione di ricerca, l'attenzione può spostarsi su come autenticare le richieste di ricerca da parte degli utenti e delle app.

L'opzione predefinita quando si crea l'istanza di Ricerca cognitiva di Azure è l'autenticazione basata su chiave. Esistono due tipi diversi di chiavi:

  • Chiavi amministratore: concedono le autorizzazioni di scrittura e il diritto di eseguire query sulle informazioni di sistema (si può creare un massimo di 2 chiavi amministratore per servizio di ricerca)
  • Chiavi di query: concedono le autorizzazioni di lettura e vengono usate dagli utenti o dalle app per eseguire query sugli indici (si può creare un massimo di 50 chiavi di query per servizio di ricerca)

Importante

Il controllo degli accessi in base al ruolo per le operazioni del piano dati è attualmente in anteprima e soggetto a condizioni per l'utilizzo supplementari. I ruoli sono disponibili solo nel cloud pubblico di Azure e il loro uso può aumentare la latenza delle richieste di ricerca.

Il controllo degli accessi in base ai ruoli è fornito dalla piattaforma Azure come sistema globale per controllare l'accesso alle risorse. È possibile usare il controllo degli accessi in base al ruolo in Azure Al Search nei modi seguenti:

  • Ai ruoli può essere concesso l'accesso per amministrare il servizio
  • Definire i ruoli con accesso per creare e caricare gli indici ed eseguire query su di essi

I ruoli predefiniti che è possibile assegnare per gestire il servizio Azure Al Search sono:

  • Proprietario: accesso completo a tutte le risorse
  • Collaboratore: come sopra, ma senza la possibilità di assegnare i ruoli o modificare le autorizzazioni
  • Lettore: visualizza informazioni parziali sul servizio

Se è necessario un ruolo in grado di gestire anche il piano dati, ad esempio gli indici di ricerca o le origini dati, usare uno di questi ruoli:

  • Collaboratore Servizio di ricerca: ruolo per gli amministratori del servizio di ricerca (lo stesso accesso del ruolo Collaboratore precedente) e del contenuto (indici, indicizzatori, origini dati e set di competenze)
  • Collaboratore ai dati dell'indice di ricerca: ruolo per gli sviluppatori o i proprietari degli indici che importeranno, aggiorneranno o eseguiranno query sulla raccolta di documenti di un indice
  • Lettore di dati dell'indice di ricerca: ruolo di accesso di sola lettura per le app e gli utenti che devono solo eseguire query

Suggerimento

Per altre informazioni sull'autenticazione con il controllo degli accessi in base al ruolo, vedere Usare i controlli degli accessi in base al ruolo di Azure in Azure Al Search.

Proteggere il traffico in uscita

In genere, il traffico in uscita indicizza i dati di origine o lo arricchisce usando l'intelligenza artificiale. Le connessioni in uscita supportano l'autenticazione basata su chiave, gli account di accesso del database o gli account di accesso di Microsoft Entra se è possibile usare Microsoft Entra ID.

Se le origini dati sono ospitate nella piattaforma Azure, è anche possibile proteggere le connessioni usando un'identità gestita assegnata dal sistema o dall'utente.

Diagram showing Azure AI Search solution accessing data sources through an IP restricted firewall.

I servizi di Azure possono limitare l'accesso a tali origini usando un firewall. Il firewall può essere configurato per consentire solo l'indirizzo IP del servizio Azure Al Search. Se si arricchiscono gli indici con l'intelligenza artificiale, sarà anche necessario consentire tutti gli indirizzi IP nel tag del servizio AzureCognitiveSearch.

È possibile scegliere di proteggere i dati di origine dietro un collegamento privato condiviso usato dagli indicizzatori.

Importante

Un collegamento privato condiviso richiede un livello Basic per l'indicizzazione basata su testo o un livello Standard 2 (S2) per l'indicizzazione basata sulle competenze. Per informazioni dettagliate sui prezzi, vedere Prezzi di Collegamento privato di Azure.

Proteggere i dati a livello di documento

È possibile configurare Azure Al Search per limitare i documenti che un utente può cercare, ad esempio, limitare la ricerca di PDF contrattuali al personale dell'ufficio legale.

Il controllo dell'accesso a livello di documento richiede l'aggiornamento di ogni documento nell'indice di ricerca. È necessario aggiungere un nuovo campo di sicurezza a ogni documento che contenga gli ID degli utenti o dei gruppi che possono accedervi. Il campo di sicurezza deve essere filtrabile per poter filtrare i risultati della ricerca nel campo.

Una volta creato e popolato questo campo con gli utenti o i gruppi consentiti, è possibile limitare i risultati aggiungendo il filtro search.in a tutte le query di ricerca. Se si usano richieste HTTP POST, il corpo dovrebbe essere simile a questo:

{
   "filter":"security_field/any(g:search.in(g, 'user_id1, group_id1, group_id2'))"  
}

In questo modo i risultati della ricerca restituiti vengono filtrati in base all'ID utente e ai gruppi a cui l'utente appartiene. Se l'applicazione può usare Microsoft Entra ID, è possibile usarne l'identità dell'utente e le appartenenze ai gruppi.

Suggerimento

Per una guida dettagliata sull'uso di Microsoft Entra ID, vedere Filtri di sicurezza per limitare i risultati di Azure Al Search tramite le identità di Active Directory