Condividi tramite


Panoramica della sicurezza per Ricerca di intelligenza artificiale di Azure

Questo articolo descrive le funzionalità di sicurezza di Ricerca intelligenza artificiale di Azure che proteggono i dati e le operazioni.

Flusso di dati (modelli di traffico di rete)

Un servizio di ricerca di intelligenza artificiale di Azure è 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.

Ricerca di intelligenza artificiale di Azure ha tre modelli di traffico di rete di base:

  • Richieste in ingresso effettuate da un client 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 di 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 (impostazione 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 collegamento privato di Azure.
  • Richieste effettuate alle API dei servizi di intelligenza artificiale di Azure 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 ad altre applicazioni. Queste richieste vengono in genere effettuate dagli indicizzatori per l'indicizzazione basata su testo, l'arricchimento basato sulle competenze di intelligenza artificiale e le vettorizzazioni in fase di query. Le richieste in uscita includono operazioni di lettura e 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 altre informazioni, vedere Accesso dell'indicizzatore al contenuto protetto dalla sicurezza di rete di Azure.
Indicizzatori Connettersi a Archiviazione di Azure per rendere persistenti gli archivi conoscenze, gli arricchimenti memorizzati nella cache, le sessioni di debug.
Competenze personalizzate Connettersi alle funzioni di Azure, alle app Web di Azure o ad altre app che eseguono codice esterno ospitato fuori 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 a 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 l'accesso completo di una risorsa stringa di connessione che include una chiave o un account di accesso al database o un'identità gestita se si usa Microsoft Entra ID e accesso basato sui ruoli.

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

Per raggiungere le risorse di Azure protette da 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 Ricerca di intelligenza artificiale di Azure si trovano nella stessa area, il traffico di rete viene instradato tramite 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. Ricerca di intelligenza artificiale di Azure 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 oppure 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, che 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 Ricerca intelligenza artificiale di Azure consente a un client in una rete virtuale di accedere in modo sicuro ai dati in un indice di ricerca in un collegamento privato.

L'endpoint privato usa un indirizzo IP dallo spazio di 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 nella rete backbone Microsoft, eliminando l'esposizione dalla 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 è un costo aggiuntivo, quindi assicurarsi di avere una chiara comprensione dei vantaggi prima di immergersi. Per altre informazioni sui costi, vedere la pagina dei prezzi. Per altre informazioni sul funzionamento di questi componenti, guardare questo video. La copertura dell'opzione endpoint privato inizia alle 5:48 nel video. Per istruzioni su come configurare l'endpoint, vedere Creare un endpoint privato per Ricerca di intelligenza artificiale di Azure.

Autenticazione

Una volta ammessa al servizio di ricerca, una richiesta deve comunque essere sottoposta a autenticazione e autorizzazione che determina se la richiesta è consentita. Ricerca di intelligenza artificiale di Azure 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, in cui 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 non disponibile nel servizio di ricerca.

Autorizzazione

Ricerca di intelligenza artificiale di Azure 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 Ricerca di intelligenza artificiale di Azure 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 usino 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 l'eliminazione imprevista.

Autorizzare l'accesso al contenuto

La gestione del contenuto 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 al contenuto e alle operazioni.

Limitazione dell'accesso agli indici

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

Usando le chiavi, chiunque disponga di una chiave di amministratore per il servizio può leggere, modificare o eliminare qualsiasi indice nello stesso servizio. Per la protezione da eliminazioni accidentali o dannose di indici, il controllo del codice sorgente interno per gli asset di codice è la soluzione per ripristinare un'eliminazione o una modifica indesiderata dell'indice. Ricerca di intelligenza artificiale di Azure ha failover all'interno del cluster per garantire la disponibilità, ma non archivia o esegue il codice proprietario usato per creare o caricare indici.

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

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 Ricerca di intelligenza artificiale di Azure. 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 Ricerca di intelligenza artificiale di Azure.

Se è necessario l'accesso autorizzato al contenuto nei 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 un campo stringa nell'origine dati che rappresenta un gruppo o un'identità utente, che è possibile rendere filtrabile nell'indice. La tabella seguente descrive due approcci per limitare i risultati della ricerca di contenuto non autorizzato.

Approccio Descrizione
Limitazione per motivi di sicurezza in base ai filtri delle identità Documenta il flusso di lavoro di base per implementare il controllo di accesso dell'identità utente. Illustra l'aggiunta di ID di sicurezza a un indice e quindi illustra l'applicazione di filtri a tale campo per limitare i risultati di contenuto non consentito.
Taglio della sicurezza basato sulle identità di Microsoft Entra Questo articolo si espande nell'articolo precedente, fornendo i passaggi per il recupero delle identità dall'ID Microsoft Entra, uno dei servizi gratuiti nella piattaforma cloud di Azure.

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 (geo) che spesso include più aree geografiche( ad esempio, la Svizzera è un'area geografica che contiene la Svizzera settentrionale e la Svizzera occidentale). Ricerca di intelligenza artificiale di Azure potrebbe replicare i dati in un'altra area all'interno della stessa area geografica per durabilità e disponibilità elevata. Il servizio non archivia o 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 è uno fornito 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 i 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 e fare riferimento ai nomi degli oggetti nelle 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 ed eseguire l'escalation del team del prodotto, se necessario

Protezione dei dati

A livello di archiviazione, la crittografia dei dati è incorporata per tutto il contenuto gestito dal servizio salvato 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 (CMK) 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 cmk si estende ai dati a breve termine nei dischi temporanei.

Dati in transito

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

Ricerca di intelligenza artificiale di Azure 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 in 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 il contenuto creato dopo il 24 gennaio 2018. Contenuto (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 livelli fatturabili, in aree specifiche, per il contenuto creato dopo il 1° agosto 2020. Contenuto (indici e mappe sinonimi) nei dischi dati
crittografia completa lato server Chiavi gestite dal cliente Azure Key Vault Disponibile nei livelli fatturabili, in tutte le aree, nei servizi di ricerca dopo il 13 maggio 2021. Contenuto (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. Si verifica automaticamente su tutti gli indici, inclusi gli aggiornamenti incrementali agli 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 Ricerca di intelligenza artificiale di Azure.

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 della chiave gestita dal cliente era limitata all'archiviazione a lungo termine e a aree specifiche. I servizi creati nella seconda fase, dopo maggio 2021, possono usare la crittografia cmk in qualsiasi area. Nell'ambito dell'implementazione del secondo ciclo, il contenuto è crittografato dalla 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 Crittografia doppia completa.

L'abilitazione della crittografia della chiave gestita dal cliente aumenta le dimensioni dell'indice e degrada 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 Ricerca di intelligenza artificiale di Azure.

Amministrazione della sicurezza

Gestire le chiavi API

La dipendenza dall'autenticazione basata su chiave API significa che è necessario avere un piano per rigenerare la chiave di amministrazione a intervalli regolari, in base alle procedure consigliate per la sicurezza di Azure. Sono disponibili al massimo due chiavi di amministrazione 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

Ricerca di intelligenza artificiale di Azure 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 potrebbe essere possibile correlare con altri log per comprendere l'agenzia di 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à

Ricerca di intelligenza artificiale di Azure 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 Sulle 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 Microsoft Cloud Security Benchmark. Il benchmark della sicurezza cloud Microsoft è una raccolta 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 di Microsoft Cloud Security Benchmark. Per i benchmark noti, Criteri di Azure fornisce definizioni predefinite che forniscono criteri e una risposta praticabile che risolve la mancata conformità.

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

Guarda il video

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

Vedi anche