Accesso dell'indicizzatore a contenuto protetto dalle funzionalità di sicurezza di rete di Azure

Se le risorse di Azure vengono distribuite in una rete virtuale di Azure, questo articolo illustra in che modo un indicizzatore di ricerca può accedere al contenuto protetto dalla sicurezza di rete. Descrive i modelli di traffico in uscita e gli ambienti di esecuzione dell'indicizzatore. Illustra anche le protezioni di rete supportate da Azure AI Search e fattori che potrebbero influenzare la strategia di sicurezza. Infine, poiché Archiviazione di Azure viene usata sia per l'accesso ai dati che per l'archiviazione permanente, questo articolo contiene anche le considerazioni sulla rete specifiche per la connettività di ricerca e archiviazione.

Servono piuttosto istruzioni passo-passo? Vedere Come configurare regole del firewall per consentire l'accesso dell'indicizzatore o Come stabilire connessioni in uscita tramite un endpoint privato.

Risorse a cui accedono gli indicizzatori

Gli indicizzatori di Azure AI Search possono effettuare chiamate in uscita a varie risorse di Azure in tre situazioni:

  • Connessioni a origini dati esterne durante l'indicizzazione
  • Connessioni a codice esterno incapsulato tramite un set di competenze che include competenze personalizzate
  • Connessioni ad Archiviazione di Azure durante l'esecuzione del set di competenze per l'arricchimento nella cache, salvare lo stato della sessione di debug o scrivere in un archivio conoscenze

Un elenco di tutti i possibili tipi di risorse di Azure a cui un indicizzatore può accedere in un'esecuzione tipica è elencato nella tabella seguente.

Conto risorse Scopo nell'esecuzione dell'indicizzatore
Archiviazione di Azure (BLOB, ADLS Gen 2, file, tabelle) Origine dati
Archiviazione di Azure (BLOB, tabelle) Set di competenze (memorizzazione nella cache di arricchimenti, sessioni di debug, proiezioni dell'archivio conoscenze)
Azure Cosmos DB (varie API) Origine dati
Database SQL di Azure Origine dati
OneLake (Microsoft Fabric) Origine dati
SQL Server in Macchine virtuali di Azure Origine dati
Istanza gestita di SQL Origine dati
Funzioni di Azure Collegato a un set di competenze e usato per ospitare le competenze dell'API Web personalizzate

Nota

Un indicizzatore si connette anche ai servizi di intelligenza artificiale di Azure per competenze predefinite. Tuttavia, tale connessione viene effettuata sulla rete interna e non è soggetta ad alcuna disposizione di rete sotto il proprio controllo.

Gli indicizzatori si connettono alle risorse usando gli approcci seguenti:

  • Endpoint pubblico con credenziali
  • Un endpoint privato che utilizza Collegamento privato di Azure
  • Connettersi come servizio attendibile
  • Connettersi tramite indirizzi IP

Se la risorsa di Azure si trova in una rete virtuale, è consigliabile usare un endpoint privato o un indirizzo IP per ammettere le connessioni dell'indicizzatore ai dati.

Protezioni di rete supportate

Le risorse di Azure possono essere protette usando un numero qualsiasi di meccanismi di isolamento della rete offerti da Azure. A seconda della risorsa e dell'area, gli indicizzatori di Azure AI Search possono stabilire connessioni in uscita tramite firewall IP ed endpoint privati, soggetti alle limitazioni indicate nella tabella seguente.

Conto risorse Restrizione degli indirizzi IP Endpoint privato
Archiviazione di Azure per l'indicizzazione basata su testo (BLOB, ADLS Gen 2, file, tabelle) Supportato solo se l'account di archiviazione e il servizio di ricerca si trovano in aree differenti. Supportata
Arricchimento di Archiviazione di Azure per intelligenza artificiale (memorizzazione nella cache, sessioni di debug, archivio conoscenze) Supportato solo se l'account di archiviazione e il servizio di ricerca si trovano in aree differenti. Supportata
Azure Cosmos DB for NoSQL Supportata Supportata
Azure Cosmos DB for MongoDB Supportata Non supportato
Azure Cosmos DB for Apache Gremlin Supportata Non supportato
Database SQL di Azure Supportata Supportata
SQL Server in Macchine virtuali di Azure Supportato N/D
Istanza gestita di SQL Supportato N/D
Funzioni di Azure Supportata Supportato, solo per determinati livelli di funzioni di Azure

Ambiente di esecuzione dell'indicizzatore

Azure AI Search ha il concetto di un ambiente di esecuzione dell'indicizzatore che ottimizza l'elaborazione in base alle caratteristiche del processo. Esistono due ambienti. Se si usa un firewall IP per controllare l'accesso alle risorse di Azure, conoscere gli ambienti di esecuzione consentirà di configurare un intervallo IP inclusivo di entrambi gli ambienti.

Per qualsiasi esecuzione dell'indicizzatore specificato, Azure AI Search determina l'ambiente migliore in cui eseguire l'indicizzatore. A seconda del numero e dei tipi di attività assegnati, l'indicizzatore verrà eseguito in uno dei due ambienti/

Ambiente di esecuzione Descrizione
Privata Interno a un servizio di ricerca. Gli indicizzatori in esecuzione nell'ambiente privato condividono le risorse di calcolo con altri carichi di lavoro di indicizzazione ed esecuzione di query nello stesso servizio di ricerca. Se si configura una connessione privata tra un indicizzatore e i dati, ad esempio un collegamento privato condiviso, si tratta dell'unica istanza di esecuzione che è possibile usare e viene usata automaticamente.
multi-tenant Gestito e protetto da Microsoft senza costi aggiuntivi. Non è soggetto ad alcun provisioning di rete sotto il controllo. Questo ambiente viene usato per eseguire l'offload dell'elaborazione a elevato utilizzo di calcolo, lasciando disponibili risorse specifiche del servizio per le operazioni di routine. Esempi di processi indicizzatore a elevato utilizzo di risorse includono set di competenze, elaborazione di documenti di grandi dimensioni o elaborazione di un volume elevato di documenti.

Per i servizi Standard2 e versioni successive, è possibile configurare un indicizzatore per usare sempre l'ambiente privato. Per altre informazioni, vedere Creare un indicizzatore.

Configurazione di intervalli IP per l'esecuzione dell'indicizzatore

Questa sezione illustra la configurazione del firewall IP per l'ammissione di richieste da entrambi gli ambienti di esecuzione.

Se la risorsa di Azure si trova dietro un firewall, configurare regole in ingresso che ammettono le connessioni dell'indicizzatore per tutti gli indirizzi IP da cui può avere origine una richiesta dell'indicizzatore. Sono inclusi l'indirizzo IP usato dal servizio di ricerca e gli indirizzi IP usati dall'ambiente multi-tenant.

  • Per ottenere l'indirizzo IP del servizio di ricerca (e l'ambiente di esecuzione privato), usare nslookup (o ping) per trovare il nome di dominio completo (FQDN) del servizio di ricerca. L'FQDN di un servizio di ricerca nel cloud pubblico sarà <service-name>.search.windows.net.

  • Per ottenere gli indirizzi IP degli ambienti multi-tenant in cui può essere eseguito un indicizzatore, usare il tag del servizio AzureCognitiveSearch.

    Per i tag del servizio di Azure è pubblicato un intervallo di indirizzi IP degli ambienti multi-tenant per ogni area. È possibile trovare tali indirizzi IP con l'API di individuazione o un file JSON scaricabile. Gli intervalli IP vengono allocati per area, quindi controllare l'area del servizio di ricerca prima di iniziare.

Configurazione delle regole IP per Azure SQL

Quando si imposta la regola IP per l'ambiente multi-tenant, alcune origini dati SQL supportano un approccio semplice per la specifica dell'indirizzo IP. Anziché enumerare tutti gli indirizzi IP nella regola, è possibile creare una regola del Gruppo di sicurezza di rete che specifica il tag del servizio AzureCognitiveSearch.

È possibile specificare il tag del servizio se l'origine dati è:

Si noti che se è stato specificato il tag del servizio per la regola IP dell'ambiente multi-tenant, sarà comunque necessaria una regola in ingresso esplicita per l'ambiente di esecuzione privato (ovvero il servizio di ricerca stesso), come ottenuto tramite nslookup.

Scegliere un approccio di connettività

Non è possibile effettuare il provisioning di un servizio di ricerca in una rete virtuale specifica in esecuzione in modo nativo in una macchina virtuale. Anche se alcune risorse di Azure offrono endpoint di servizio di rete virtuale, questa funzionalità non verrà offerta da Azure AI Search. È consigliabile pianificare l'implementazione di uno degli approcci seguenti.

Approccio Dettagli
Proteggere la connessione in ingresso alla risorsa di Azure Configurare una regola del firewall in ingresso nella risorsa di Azure che ammette le richieste dell'indicizzatore per i dati. La configurazione del firewall deve includere il tag del servizio per l'esecuzione multi-tenant e l'indirizzo IP del servizio di ricerca. Vedere Configurare le regole del firewall per consentire l'accesso all'indicizzatore.
Connessione privata tra Azure AI Search e la risorsa di Azure Configurare un collegamento privato condiviso usato esclusivamente dal servizio di ricerca per le connessioni alla risorsa. Le connessioni passano attraverso la rete interna e ignorano la rete Internet pubblica. Se le risorse sono completamente bloccate (in esecuzione in una rete virtuale protetta o altrimenti non disponibili tramite una connessione pubblica), un endpoint privato è l'unica scelta. Vedere Stabilire connessioni in uscita tramite un endpoint privato.

Le connessioni tramite un endpoint privato devono provenire dall'ambiente di esecuzione privata del servizio di ricerca.

La configurazione di un firewall IP è gratuita. Un endpoint privato, basato sul collegamento privato di Azure, ha un impatto sulla fatturazione. Vedere Prezzi di Collegamento privato di Azure.

Dopo aver configurato la sicurezza di rete, seguire le assegnazioni di ruolo che specificano quali utenti e gruppi hanno accesso in lettura e scrittura ai dati e alle operazioni.

Considerazioni sull'uso di un endpoint privato

Questa sezione si restringe all'opzione di connessione privata.

  • Un collegamento privato condiviso richiede un servizio di ricerca fatturabile, in cui il livello minimo è Basic per l'indicizzazione basata su testo o Standard 2 (S2) per l'indicizzazione basata sulle competenze. Per informazioni dettagliate, vedere Limiti del livello per il numero di endpoint privati.
  • Dopo aver creato un collegamento privato condiviso, il servizio di ricerca lo usa sempre per ogni connessione dell'indicizzatore a tale risorsa di Azure specifica. La connessione privata è bloccata e applicata internamente. Non è possibile ignorare la connessione privata per una connessione pubblica.

  • Richiede una risorsa collegamento privato di Azure fatturabile.

  • Richiede che un proprietario della sottoscrizione approvi la connessione all'endpoint privato.

  • Richiede di disattivare l'ambiente di esecuzione multi-tenant per l'indicizzatore.

    A tale scopo, impostare executionEnvironment dell'indicizzatore su "Private". Questo passaggio garantisce che tutte le esecuzioni dell'indicizzatore siano limitate all'ambiente privato di cui è stato effettuato il provisioning all'interno del servizio di ricerca. Questa impostazione ha come ambito un indicizzatore e non il servizio di ricerca. Se si desidera che tutti gli indicizzatori si connettano tramite endpoint privati, ognuno di essi deve avere la configurazione seguente:

        {
          "name" : "myindexer",
          ... other indexer properties
          "parameters" : {
              ... other parameters
              "configuration" : {
                ... other configuration properties
                "executionEnvironment": "Private"
              }
            }
        }
    

Dopo aver ottenuto un endpoint privato approvato in una risorsa, gli indicizzatori impostati su privati tentano di ottenere l'accesso tramite il collegamento privato creato e approvato per la risorsa di Azure.

Azure AI Search convaliderà che i chiamanti dell'endpoint privato abbiano assegnazioni di ruolo appropriate. Ad esempio, se si richiede una connessione endpoint privato a un account di archiviazione con autorizzazioni di sola lettura, questa chiamata verrà rifiutata.

Se l'endpoint privato non è approvato o se l'indicizzatore non ha usato la connessione all'endpoint privato, verrà visualizzato un messaggio di errore transientFailure nella cronologia di esecuzione dell'indicizzatore.

Integrare la sicurezza di rete con l'autenticazione basata su token

I firewall e la sicurezza di rete costituiscono un primo passaggio per impedire l'accesso non autorizzato a dati e operazioni. L'autorizzazione deve essere il passaggio successivo.

È consigliabile usare l'accesso in base al ruolo, in cui gli utenti e i gruppi di Microsoft Entra ID vengono assegnati a ruoli che determinano l'accesso in lettura e scrittura al servizio. Per una descrizione dei ruoli predefiniti e istruzioni per la creazione di ruoli personalizzati, vedere Connettersi ad Azure AI Search usando i controlli degli accessi in base al ruolo.

Se non si necessita dell'autenticazione basata su chiave, è consigliabile disabilitare le chiavi API e usare esclusivamente le assegnazioni di ruolo.

Accesso a un account di archiviazione protetto da rete

Un servizio di ricerca archivia gli indici e gli elenchi di sinonimi. Per altre funzionalità che richiedono l'archiviazione, Azure AI Search dipende da Archiviazione di Azure. La memorizzazione nella cache di arricchimento, le sessioni di debug e gli archivi conoscenze rientrano in questa categoria. La posizione di ogni servizio e le eventuali protezioni di rete applicate per l'archiviazione determineranno la strategia di accesso ai dati.

Servizi della stessa area

In Archiviazione di Azure l'accesso tramite un firewall richiede che la richiesta provenga da un'area diversa. Se Archiviazione di Azure e Azure AI Search si trovano nella stessa area, è possibile ignorare le restrizioni IP per l'account di archiviazione accedendo ai dati nell'identità di sistema del servizio di ricerca.

Sono disponibili due opzioni per supportare l'accesso ai dati usando l'identità del sistema:

Le opzioni precedenti dipendono dall'ID Di Microsoft Entra per l'autenticazione, il che significa che la connessione deve essere effettuata con un account di accesso di Microsoft Entra. Attualmente, solo un'identità gestita assegnata dal sistema di Azure AI Search è supportata per le connessioni della stessa area tramite un firewall.

Servizi in aree diverse

Quando la ricerca e l'archiviazione si trovano in aree diverse, è possibile usare le opzioni indicate in precedenza o configurare regole IP che ammettono le richieste dal servizio. A seconda del carico di lavoro, potrebbe essere necessario configurare regole per più ambienti di esecuzione, come descritto nella sezione successiva.

Passaggi successivi

Ora che si ha familiarità con le opzioni di accesso ai dati dell'indicizzatore per le soluzioni distribuite in una rete virtuale di Azure, esaminare uno degli articoli seguenti come passaggio successivo: