Panoramica della sicurezza per Azure AI Search

Questo articolo descrive le funzionalità di sicurezza di Azure AI Search che proteggono i dati e le operazioni.

Flusso di dati (modelli di traffico di rete)

Un servizio Azure AI Search è ospitato in Azure ed è in genere accessibile dalle applicazioni client tramite connessioni di rete pubbliche. Anche se questo modello è predominante, non è l'unico modello di traffico di cui è necessario occuparsi. Comprendere tutti i punti di ingresso e il traffico in uscita è necessario per proteggere gli ambienti di sviluppo e produzione.

Azure AI Search ha tre criteri di traffico di rete di base:

  • Richieste in ingresso effettuate da un client o da un utente al servizio di ricerca (modello predominante)
  • Richieste in uscita inviate dal servizio di ricerca ad altri servizi in Azure e altrove
  • Richieste interne da servizio a servizio tramite la rete backbone Microsoft sicura

Traffico in ingresso

Le richieste in ingresso destinate a un endpoint del servizio di ricerca includono:

  • Creare, leggere, aggiornare o eliminare indici e altri oggetti nel servizio di ricerca
  • Caricare un indice con documenti di ricerca
  • Eseguire una query su un indice
  • Attivare l'esecuzione dell'indicizzatore o del set di competenze

Le API REST descrivono l'intera gamma delle richieste in ingresso gestite da un servizio di ricerca.

Come minimo, tutte le richieste in ingresso devono essere autenticate usando una di queste opzioni:

  • Autenticazione basata su chiave (predefinita). Le richieste in ingresso forniscono una chiave API valida.
  • Controllo degli accessi in base al ruolo. L'autorizzazione viene eseguita tramite identità e assegnazioni di ruolo di Microsoft Entra nel servizio di ricerca.

Inoltre, è possibile aggiungere funzionalità di sicurezza di rete per limitare ulteriormente l'accesso all'endpoint. È possibile creare regole in ingresso in un firewall IP o creare endpoint privati che proteggono completamente il servizio di ricerca dalla rete Internet pubblica.

Traffico interno

Le richieste interne sono protette e gestite da Microsoft. Non è possibile configurare o controllare queste connessioni. Se si blocca l'accesso alla rete, non è necessaria alcuna azione da parte dell'utente perché il traffico interno non è configurabile dal cliente.

Il traffico interno è costituito da:

  • Chiamate da servizio a servizio per attività come l'autenticazione e l'autorizzazione tramite Microsoft Entra ID, registrazione delle risorse inviata a Monitoraggio di Azure e connessioni endpoint private che usano il collegamento privato di Azure.
  • Richieste effettuate alle API dei Servizi di Azure AI per competenze predefinite
  • Richieste effettuate ai modelli di Machine Learning che supportano la classificazione semantica.

Traffico in uscita

Le richieste in uscita possono essere protette e gestite dall'utente. Le richieste in uscita provengono da un servizio di ricerca verso altre applicazioni. Queste richieste vengono in genere effettuate dagli indicizzatori per l'indicizzazione basata su testo, l'arricchimento personalizzato basato sulle competenze tramite intelligenza artificiale e le vettorizzazioni in fase di query. Le richieste in uscita includono sia operazioni di lettura che di scrittura.

L'elenco seguente è un'enumerazione completa delle richieste in uscita per cui è possibile configurare connessioni sicure. Un servizio di ricerca effettua richieste per proprio conto e per conto di un indicizzatore o di una competenza personalizzata.

Operazione Scenario
Indicizzatori Connettersi a origini dati esterne per recuperare i dati. Per maggiori informazioni vedere Accesso dell'indicizzatore al contenuto protetto dalla sicurezza di rete di Azure.
Indicizzatori Connettersi ad Archiviazione di Azure per conservare archivi conoscenze, arricchimenti memorizzati nella cache, sessioni di debug.
Competenze personalizzate Connettersi a Funzioni di Azure, alle app Web di Azure o ad altre app che eseguono codice esterno ospitato fuori dal servizio. La richiesta di elaborazione esterna viene inviata durante l'esecuzione del set di competenze.
Indicizzatori e vettorizzazione integrata Connettersi ad Azure OpenAI e a un modello di incorporamento distribuito, oppure utilizzare una competenza personalizzata per connettersi a un modello di incorporamento fornito. Il servizio di ricerca invia testo ai modelli di incorporamento per la vettorizzazione durante l'indicizzazione.
Vettorizzatori Connettersi ad Azure OpenAI o ad altri modelli di incorporamento in fase di query per convertire le stringhe di testo utente in vettori per la ricerca vettoriale.
Servizio di ricerca Connettersi ad Azure Key Vault per le chiavi di crittografia gestite dal cliente usate per crittografare e decrittografare i dati sensibili.

Le connessioni in uscita possono essere effettuate usando la stringa di connessione per l’accesso completo di una risorsa che include una chiave o un account di accesso al database, oppure un’identità gestita se si usa Microsoft Entra ID e l'accesso basato sui ruoli.

Per raggiungere le risorse di Azure protette da un firewall, creare regole in ingresso su altre risorse di Azure che ammettono le richieste del servizio di ricerca.

Per raggiungere le risorse di Azure protette dal collegamento privato di Azure, creare un collegamento privato condiviso usato da un indicizzatore per stabilire la connessione.

Eccezione per i servizi di ricerca e archiviazione nella stessa area

Se Archiviazione di Azure e Azure AI Search si trovano nella stessa area, il traffico di rete viene instradato attraverso un indirizzo IP privato e si verifica sulla rete backbone Microsoft. Poiché vengono usati indirizzi IP privati, non è possibile configurare firewall IP o un endpoint privato per la sicurezza di rete.

Configurare le connessioni della stessa area usando uno degli approcci seguenti:

Sicurezza della rete

La sicurezza di rete protegge le risorse da accessi o attacchi non autorizzati applicando controlli al traffico di rete. Azure AI Search supporta le funzionalità di rete che possono essere la prima linea di difesa contro l'accesso non autorizzato.

Connessione in ingresso tramite firewall IP

Viene effettuato il provisioning di un servizio di ricerca con un endpoint pubblico che consente l'accesso usando un indirizzo IP pubblico. Per limitare il traffico proveniente dall'endpoint pubblico, creare una regola del firewall in ingresso che ammette le richieste da un indirizzo IP specifico o da un intervallo di indirizzi IP. Tutte le connessioni client devono essere effettuate tramite un indirizzo IP consentito; in caso contrario la connessione viene negata.

diagramma dell'architettura di esempio per l'accesso con restrizioni IP

È possibile usare il portale per configurare l'accesso al firewall.

In alternativa, è possibile usare le API REST di gestione. A partire dall'API versione 2020-03-13, con il parametro IpRule, è possibile limitare l'accesso al servizio identificando gli indirizzi IP, singolarmente o in un intervallo, a cui si vuole concedere l'accesso al servizio di ricerca.

Connessione in ingresso a un endpoint privato (isolamento della rete, nessun traffico Internet)

Per una maggiore sicurezza, è possibile stabilire un endpoint privato per Azure AI Search e consentire a un client di una rete virtuale di accedere in modo sicuro ai dati di un indice di ricerca tramite un collegamento privato.

L'endpoint privato usa un indirizzo IP dello spazio indirizzi della rete virtuale per le connessioni al servizio di ricerca. Il traffico di rete tra il client e il servizio di ricerca attraversa la rete virtuale e un collegamento privato sulla rete backbone Microsoft, eliminando l'esposizione alla rete Internet pubblica. Una rete virtuale consente la comunicazione sicura tra le risorse, con la rete locale e Internet.

diagramma dell'architettura di esempio per l'accesso all'endpoint privato

Anche se questa soluzione è la più sicura, l'uso di più servizi comporta un costo aggiuntivo, perciò assicurarsi di aver compresso appieno i vantaggi prima di fare questa scelta. Per altre informazioni sui costi, vedere la pagina dei prezzi. Per altre informazioni sul funzionamento congiunto di questi componenti, guardare questo video. L'opzione endpoint privato viene trattata al minuto 5:48 del video. Per istruzioni su come configurare l'endpoint, vedere Creare un endpoint privato per Azure AI Search.

Autenticazione

Una volta ammessa al servizio di ricerca, una richiesta deve comunque essere sottoposta a autenticazione e autorizzazione, il che determina se la richiesta è consentita. Azure AI Search supporta due approcci:

  • L’autenticazione di Microsoft Entra stabilisce il chiamante (e non la richiesta) come identità autenticata. Un'assegnazione di ruolo di Azure determina l'autorizzazione.

  • L’autenticazione basata su chiave viene eseguita sulla richiesta (non sull'app chiamante o sull'utente) tramite una chiave API, dove la chiave è una stringa composta da numeri e lettere generati in modo casuale che dimostrano che la richiesta proviene da un'origine attendibile. Le chiavi sono necessarie per ogni richiesta. L'invio di una chiave valida è considerato come prova che la richiesta ha origine da un'entità attendibile.

È possibile usare entrambi i metodi di autenticazione o disabilitare un approccio che non si vuole rendere disponibile nel servizio di ricerca.

Autorizzazione

Azure AI Search offre modelli di autorizzazione per la gestione dei servizi e la gestione dei contenuti.

Autorizzare la gestione dei servizi

La gestione delle risorse è autorizzata tramite il controllo degli accessi in base al ruolo nel tenant di Microsoft Entra.

In Azure AI Search, Resource Manager viene usato per creare o eliminare il servizio, gestire le chiavi API, ridimensionare il servizio e configurare la sicurezza. Di conseguenza, le assegnazioni di ruolo di Azure determineranno chi può eseguire tali attività, indipendentemente dal fatto che si usi il portale, PowerShell o le API REST di gestione.

Tre ruoli di base (Proprietario, Collaboratore, Lettore) si applicano all'amministrazione del servizio di ricerca. Le assegnazioni di ruolo possono essere effettuate usando qualsiasi metodologia supportata (portale, PowerShell e così via) e vengono rispettate a livello di servizio.

Nota

Usando meccanismi a livello di Azure, è possibile bloccare una sottoscrizione o una risorsa per impedire l'eliminazione accidentale o non autorizzata del servizio di ricerca da parte degli utenti con diritti di amministratore. Per altre informazioni, vedere Bloccare le risorse per impedire eliminazioni impreviste.

Autorizzare l'accesso ai contenuti

La gestione dei contenuti fa riferimento agli oggetti creati e ospitati in un servizio di ricerca.

  • Per l'autorizzazione basata sui ruoli, usare le assegnazioni di ruolo di Azure per stabilire l'accesso in lettura/scrittura alle operazioni.

  • Per l'autorizzazione basata su chiave, una chiave API e un endpoint qualificato determinano l'accesso. Un endpoint può essere il servizio stesso, l'insieme degli indici, un indice specifico, una raccolta documenti o un documento specifico. In caso di concatenamento, l'endpoint, l'operazione (ad esempio, una richiesta di creazione) e il tipo di chiave (amministratore o query) autorizzano l'accesso ai contenuti e alle operazioni.

Limitazione dell'accesso agli indici

Usando i ruoli di Azure, è possibile impostare le autorizzazioni per singoli indici purché lo si faccia a livello di codice.

Usando le chiavi, chiunque abbia una chiave amministratore per il servizio può leggere, modificare o eliminare qualsiasi indice nello stesso servizio. Per proteggersi dall'eliminazione accidentale o intenzionale degli indici, il controllo del codice sorgente interno per gli asset del codice è la soluzione che consente di invertire l'eliminazione o la modifica indesiderata di un indice. In Azure AI Search è disponibile il failover nel cluster per assicurare la disponibilità, ma il codice proprietario usato per creare o caricare gli indici non viene archiviato o eseguito.

Per le soluzioni multi-tenancy che richiedono limiti di sicurezza a livello di indice, è comune gestire l'isolamento degli indici nel livello intermedio del codice dell'applicazione. Per altre informazioni sul caso d'uso multi-tenant, vedere Modelli di progettazione per le applicazioni SaaS multi-tenant e Azure AI Search.

Limitazione dell'accesso ai documenti

Le autorizzazioni utente a livello di documento, note anche come sicurezza a livello di riga, non sono supportate in modo nativo in Azure AI Search. Se si importano dati da un sistema esterno che fornisce sicurezza a livello di riga, ad esempio Azure Cosmos DB, tali autorizzazioni non verranno trasferite con i dati come indicizzati da Azure AI Search.

Se è necessario l'accesso autorizzato ai contenuti dei risultati della ricerca, è disponibile una tecnica per l'applicazione di filtri che includono o escludono documenti in base all'identità utente. Questa soluzione alternativa aggiunge nell'origine dati un campo stringa che rappresenta un gruppo o un'identità utente, che è possibile rendere filtrabile nell'indice. Per altre informazioni su questo modello, vedere Limitazione per motivi di sicurezza basata sui filtri di identità.

Residenza dei dati

Quando si configura un servizio di ricerca, si sceglie un'area che determina dove vengono archiviati ed elaborati i dati dei clienti. Ogni area esiste all'interno di un'area geografica che spesso include più aree (ad esempio, la Svizzera è un'area geografica che contiene la Svizzera settentrionale e la Svizzera occidentale). Azure AI Search potrebbe replicare i dati in un'altra area all'interno della stessa area geografica per durabilità e disponibilità elevata. Il servizio non archivia né elabora i dati dei clienti all'esterno dell'area geografica specificata, a meno che non si configuri una funzionalità con una dipendenza da un'altra risorsa di Azure, e che venga effettuato il provisioning di tale risorsa in un'area diversa.

Attualmente, l'unica risorsa esterna in cui scrive un servizio di ricerca è Archiviazione di Azure. L'account di archiviazione è quello fornito dall’utente e può trovarsi in qualsiasi area. Un servizio di ricerca scrive in Archiviazione di Azure se si usa una delle funzionalità seguenti:

Per altre informazioni sulla residenza dei dati, vedere Residenza dei dati in Azure.

Eccezioni agli impegni di residenza dei dati

I nomi degli oggetti vengono visualizzati nei log di telemetria usati da Microsoft per fornire supporto per il servizio. I nomi degli oggetti vengono archiviati ed elaborati all'esterno dell'area o della posizione selezionata. I nomi degli oggetti includono nomi di indici e campi di indice, alias, indicizzatori, origini dati, set di competenze, mappe sinonimiche, risorse, contenitori e archivio dell'insieme di credenziali delle chiavi. I clienti non devono inserire dati sensibili nei campi dei nomi o creare applicazioni progettate per archiviare i dati sensibili in questi campi.

I log di telemetria vengono conservati per un anno e mezzo. Durante tale periodo, Microsoft potrebbe accedere ai nomi degli oggetti e farvi riferimento secondo le condizioni seguenti:

  • Diagnosticare un problema, migliorare una funzionalità o correggere un bug. In questo scenario, l'accesso ai dati è solo interno, senza accesso di terze parti.

  • Durante il supporto, queste informazioni potrebbero essere usate per fornire una risoluzione rapida ai problemi e inoltrarli al livello superiore del team di prodotto, se necessario

Protezione dei dati

A livello di archiviazione, la crittografia dei dati è incorporata per tutti i contenuti gestiti dal servizio salvati su disco, inclusi indici, mappe sinonimiche e definizioni di indicizzatori, origini dati e set di competenze. La crittografia gestita dal servizio si applica sia all'archiviazione dei dati a lungo termine che all'archiviazione temporanea dei dati.

Facoltativamente, è possibile aggiungere chiavi gestite dal cliente per la crittografia supplementare del contenuto indicizzato, per la doppia crittografia dei dati inattivi. Per i servizi creati dopo il 1° agosto 2020, la crittografia con chiave gestita dal cliente si estende ai dati a breve termine nei dischi temporanei.

Dati in transito

Per le connessioni al servizio di ricerca su Internet pubblico, Azure AI Search è in ascolto sulla porta HTTPS 443.

Azure AI Search supporta TLS 1.2 e 1.3 per la crittografia del canale da client a servizio:

Le versioni precedenti di TLS (1.0 o 1.1) non sono supportate.

Per altre informazioni, vedere Supporto TLS in .NET Framework.

Dati inattivi

Per i dati gestiti internamente dal servizio di ricerca, nella tabella seguente vengono descritti i modelli di crittografia dei dati. Alcune funzionalità, ad esempio l'archivio conoscenze, l'arricchimento incrementale e l'indicizzazione basata su indicizzatore, leggono o scrivono su strutture di dati in altri servizi di Azure. I servizi che hanno una dipendenza da Archiviazione di Azure possono usare le funzionalità di crittografia di tale tecnologia.

Modello Chiavi Requisiti Restrizioni Si applica a
crittografia lato server Chiavi gestite da Microsoft Nessuno (predefinito) Nessuno, disponibile in tutti i livelli, in tutte le aree, per i contenuti creati dopo il 24 gennaio 2018. Contenuti (indici e mappe sinonimiche) e definizioni (indicizzatori, origini dati, set di competenze), su dischi dati e dischi temporanei
crittografia lato server Chiavi gestite dal cliente Azure Key Vault Disponibile nei piani fatturabili, in aree specifiche, per i contenuti creati dopo il 1° agosto 2020. Contenuti (indici e mappe sinonimi) nei dischi dati
crittografia completa lato server Chiavi gestite dal cliente Azure Key Vault Disponibile nei piani fatturabili, in tutte le aree, nei servizi di ricerca dopo il 13 maggio 2021. Contenuti (indici e mappe sinonimi) su dischi dati e dischi temporanei

Chiavi gestite dal servizio

La crittografia gestita dal servizio è un'operazione interna di Microsoft che usa la crittografia AES a 256 bit. Viene applicata automaticamente a tutta l'indicizzazione, inclusi gli aggiornamenti incrementali di indici non completamente crittografati (creati prima di gennaio 2018).

La crittografia gestita dal servizio si applica a tutto il contenuto nell'archiviazione a lungo termine e a breve termine.

Chiavi gestite dal cliente (CMK)

Le chiavi gestite dal cliente richiedono un altro servizio fatturabile, Azure Key Vault, che può trovarsi in un'area diversa, ma nella stessa sottoscrizione di Azure AI Search.

Il supporto della chiave gestita dal cliente è stato implementato in due fasi. Se il servizio di ricerca è stato creato durante la prima fase, la crittografia con chiave gestita dal cliente era limitata all'archiviazione a lungo termine e ad aree specifiche. I servizi creati nella seconda fase, dopo maggio 2021, possono usare la crittografia con chiave gestita dal cliente in qualsiasi area. Nell'ambito dell'implementazione del secondo ciclo, il contenuto è crittografato con chiave gestita dal cliente sia per l'archiviazione a lungo termine che per l'archiviazione a breve termine. Per altre informazioni sul supporto della chiave gestita dal cliente, vedere Doppia crittografia completa.

L'abilitazione della crittografia con chiave gestita dal cliente aumenta le dimensioni dell'indice e riduce le prestazioni delle query. In base alle osservazioni fino ad oggi, è possibile prevedere un aumento del 30-60% nei tempi di query, anche se le prestazioni effettive variano a seconda della definizione dell'indice e dei tipi di query. A causa dell'impatto negativo sulle prestazioni, è consigliabile abilitare questa funzionalità solo negli indici che lo richiedono realmente. Per altre informazioni, vedere Configurare le chiavi di crittografia gestite dal cliente in Azure AI Search.

Amministrazione di sicurezza

Gestire le chiavi API

La dipendenza dall'autenticazione basata su chiave API implica un piano per rigenerare la chiave di amministrazione a intervalli regolari, in base alle procedure consigliate per la sicurezza di Azure. È consentito un massimo di due chiavi amministratore per ogni servizio di ricerca. Per altre informazioni sulla protezione e la gestione delle chiavi API, vedere Creare e gestire le chiavi API.

Log attività e log risorse

Azure AI Search non registra le identità utente, quindi non è possibile fare riferimento ai log per informazioni su un utente specifico. Tuttavia, il servizio registra operazioni create-read-update-delete, che potrebbero essere messe in relazione con altri log per comprendere azioni specifiche.

Usando gli avvisi e l'infrastruttura di registrazione in Azure, è possibile raccogliere picchi di volume di query o altre azioni che deviano dai carichi di lavoro previsti. Per altre informazioni sulla configurazione dei log, vedere Raccogliere e analizzare i dati di log e Monitorare le richieste di query.

Certificazioni e conformità

Azure AI Search partecipa a controlli regolari ed è stata certificata in base a molti standard globali, regionali e specifici del settore sia per il cloud pubblico che per Azure per enti pubblici. Per l'elenco completo, scaricare il white paper Offerte di conformità di Microsoft Azure dalla pagina ufficiale dei report di controllo.

Per la conformità, è possibile usare criteri di Azure per implementare le procedure consigliate per la sicurezza elevata di benchmark della sicurezza cloud Microsoft. Il benchmark della sicurezza cloud Microsoft è un insieme di raccomandazioni sulla sicurezza, codificate in controlli di sicurezza che eseguono il mapping alle azioni chiave da intraprendere per attenuare le minacce ai servizi e ai dati. Attualmente sono disponibili 12 controlli di sicurezza, tra cui sicurezza di rete, registrazione e monitoraggio e protezione dei dati.

Criteri di Azure è una funzionalità integrata in Azure che consente di gestire la conformità per più standard, inclusi quelli del benchmark della sicurezza cloud Microsoft. Per i benchmark noti, Criteri di Azure fornisce definizioni predefinite che offrono criteri e una risposta praticabile che risolve la mancata conformità.

Per Azure AI Search è attualmente disponibile una definizione predefinita. È per la registrazione delle risorse. È possibile assegnare un criterio che identifichi i servizi di ricerca privi di registrazione delle risorse e quindi attivarlo. Per altre informazioni, vedere Controlli di conformità alle normative di Criteri di Azure per Azure AI Search.

Guarda il video

Guardare questo veloce video per avere una panoramica dell'architettura di sicurezza e di ogni categoria di funzionalità.

Vedi anche