Accesso dell'indicizzatore al contenuto protetto dalla sicurezza di rete di Azure

Se i requisiti della soluzione di ricerca includono una rete virtuale di Azure, questo articolo illustra come 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 Ricerca di intelligenza artificiale di Azure e fattori che potrebbero influenzare la strategia di sicurezza. Infine, poiché Archiviazione di Azure viene usato sia per l'accesso ai dati che per l'archiviazione permanente, questo articolo illustra anche le considerazioni sulla rete specifiche per la connettività di ricerca e archiviazione.

Per istruzioni dettagliate, vedere invece? Vedere Come configurare le 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 Ricerca intelligenza artificiale di Azure possono effettuare chiamate in uscita a varie risorse di Azure durante l'esecuzione. Un indicizzatore effettua chiamate in uscita in tre situazioni:

  • Connessione alle origini dati esterne durante l'indicizzazione
  • Connessione a codice esterno incapsulato tramite un set di competenze che include competenze personalizzate
  • Connessione di Archiviazione di Azure durante l'esecuzione del set di competenze per memorizzare nella cache gli arricchimenti, 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.

Risorsa 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
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.

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 Ricerca intelligenza artificiale di Azure possono stabilire connessioni in uscita tramite firewall IP ed endpoint privati, soggetti alle limitazioni indicate nella tabella seguente.

Risorsa 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 diverse. Supportata
Archiviazione di Azure per l'arricchimento tramite 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 diverse. 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 Supportata N/D
Istanza gestita di SQL Supportata N/D
Funzioni di Azure Supportata Supportato, solo per determinati livelli di funzioni di Azure

Ambiente di esecuzione dell'indicizzatore

Ricerca di intelligenza artificiale di Azure ha il concetto di 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 DI INDIRIZZI IP inclusivo di entrambi.

Per qualsiasi esecuzione dell'indicizzatore specificato, Ricerca di intelligenza artificiale di Azure 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 seguenti:

  • Ambiente di esecuzione privato 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. In genere, solo gli indicizzatori che eseguono l'indicizzazione basata su testo (senza set di competenze) vengono eseguiti in questo ambiente.

  • Un ambiente 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 l'associazione di set di competenze, l'elaborazione di documenti di grandi dimensioni o l'elaborazione di un volume elevato di documenti.

La sezione seguente illustra la configurazione IP per l'ammissione di richieste da entrambi gli ambienti di esecuzione.

Configurazione di intervalli IP per l'esecuzione dell'indicizzatore

Se la risorsa di Azure che fornisce dati di origine esiste dietro un firewall, sono necessarie regole in ingresso che ammettono le connessioni dell'indicizzatore per tutti gli INDIRIZZI IP da cui può provenire una richiesta dell'indicizzatore. Gli indirizzi IP includono quello usato dal servizio di ricerca e 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 AzureCognitiveSearch servizio.

    I tag del servizio di Azure hanno un intervallo pubblicato di indirizzi IP per ogni servizio. È possibile trovare questi INDIRIZZI IP usando l'APIdi individuazione o un file JSON scaricabile. Gli intervalli IP vengono allocati per area, quindi controllare l'area del servizio di ricerca prima di iniziare.

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 AzureCognitiveSearch servizio.

È 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.

Scelta di un approccio di connettività

Quando si integra Ricerca intelligenza artificiale di Azure in una soluzione eseguita in una rete virtuale, considerare i vincoli seguenti:

  • Un indicizzatore non può stabilire una connessione diretta a un endpoint del servizio di rete virtuale. Gli endpoint pubblici con credenziali, endpoint privati, servizi attendibili e indirizzi IP sono le uniche metodologie supportate per le connessioni dell'indicizzatore.

  • Un servizio di ricerca viene sempre eseguito nel cloud e non può essere eseguito in una rete virtuale specifica, in esecuzione in modo nativo in una macchina virtuale. Questa funzionalità non verrà offerta da Ricerca di intelligenza artificiale di Azure.

Considerati i vincoli precedenti, le scelte per ottenere l'integrazione della ricerca in una rete virtuale sono:

  • Configurare una regola del firewall in ingresso nella risorsa PaaS di Azure che ammette le richieste dell'indicizzatore per i dati.

  • Configurare una connessione in uscita da Ricerca che effettua connessioni indicizzate tramite un endpoint privato.

    Per un endpoint privato, la connessione del servizio di ricerca alla risorsa protetta avviee tramite un collegamento privato condiviso. Un collegamento privato condiviso è una risorsa collegamento privato di Azure creata, gestita e usata da Ricerca di intelligenza artificiale di Azure. 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.

    Connessione ions tramite un endpoint privato devono provenire dall'ambiente di esecuzione privato del servizio di ricerca. Per soddisfare questo requisito, è necessario disabilitare l'esecuzione multi-tenant. Questo passaggio è descritto in Creare connessioni in uscita tramite un endpoint privato.

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

Uso di un endpoint privato

Questa sezione riepiloga i passaggi principali per la configurazione di un endpoint privato per le connessioni indicizzatore in uscita. Questo riepilogo può aiutare a decidere se un endpoint privato è la scelta migliore per lo scenario in uso. I passaggi dettagliati sono descritti in Come stabilire connessioni in uscita tramite un endpoint privato.

  • 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.

  • Le connessioni in ingresso e in uscita sono soggette a prezzi collegamento privato di Azure.

Passaggio 1: Creare un endpoint privato per la risorsa sicura

Si creerà un collegamento privato condiviso usando le pagine del portale del servizio di ricerca o tramite l'API di gestione.

In Ricerca di intelligenza artificiale di Azure il servizio di ricerca deve essere almeno il livello Basic per gli indicizzatori basati su testo e S2 per gli indicizzatori con set di competenze.

Una connessione endpoint privato accetterà le richieste dall'ambiente di esecuzione dell'indicizzatore privato, ma non dall'ambiente multi-tenant. Per soddisfare questo requisito, è necessario disabilitare l'esecuzione multi-tenant, come descritto nel passaggio 3.

Passaggio 2: Approvare la connessione all'endpoint privato

Al termine dell'operazione (asincrona) che crea una risorsa collegamento privato condiviso, verrà creata una connessione endpoint privato in uno stato "In sospeso". Non viene ancora eseguito alcun flusso di traffico sulla connessione.

Sarà necessario individuare e approvare questa richiesta nella risorsa sicura. A seconda della risorsa, è possibile completare questa attività usando portale di Azure. In caso contrario, usare l'API REST del servizio collegamento privato.

Passaggio 3: Forzare l'esecuzione degli indicizzatori nell'ambiente "privato"

Per le connessioni endpoint private, è obbligatorio impostare l'oggetto dell'indicizzatore executionEnvironment 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 vuole 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 per essere privati tentano di ottenere l'accesso tramite il collegamento privato creato e approvato per la risorsa di Azure.

Ricerca di intelligenza artificiale di Azure convaliderà che i chiamanti dell'endpoint privato dispongano delle autorizzazioni appropriate per il ruolo controllo degli accessi in base al ruolo di Azure. 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 transientFailure messaggio di errore nella cronologia di esecuzione dell'indicizzatore.

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, Ricerca di intelligenza artificiale di Azure assume una dipendenza 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 Ricerca di intelligenza artificiale di Azure 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:

  • Configurare la ricerca per l'esecuzione come servizio attendibile e usare l'eccezione del servizio attendibile in Archiviazione di Azure.

  • Configurare una regola dell'istanza di risorsa in Archiviazione di Azure che ammette le richieste in ingresso da una risorsa di Azure.

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