Connessioni dell'indicizzatore a un'istanza di SQL Server in una macchina virtuale di Azure

Quando si configura un indicizzatore SQL di Azure per estrarre il contenuto da un database in una macchina virtuale di Azure, sono necessari passaggi aggiuntivi per le connessioni sicure.

Una connessione da Ricerca intelligenza artificiale di Azure all'istanza di SQL Server in una macchina virtuale è una connessione Internet pubblica. Per garantire la riuscita delle connessioni sicure, è necessario soddisfare i requisiti seguenti:

  • Ottenere un certificato da un provider di autorità di certificazione per il nome di dominio completo dell'istanza di SQL Server nella macchina virtuale.

  • Installare il certificato nella macchina virtuale.

Dopo aver installato il certificato nella macchina virtuale, è possibile completare i passaggi seguenti in questo articolo.

Nota

Le colonne Always Encrypted non sono attualmente supportate dagli indicizzatori di Ricerca intelligenza artificiale di Azure.

Abilitare le connessioni crittografate

Ricerca di intelligenza artificiale di Azure richiede un canale crittografato per tutte le richieste dell'indicizzatore tramite una connessione Internet pubblica. Questa sezione elenca i passaggi necessari per eseguire questa operazione.

  1. Controllare le proprietà del certificato per verificare che il nome del soggetto sia il nome di dominio completo (FQDN) della VM di Azure.

    È possibile usare uno strumento come CertUtils o lo snap-in Certificati per visualizzare le proprietà. È possibile ottenere il nome FQDN dalla sezione Informazioni di base del pannello dei servizi della VM nel campo Etichetta Indirizzo IP pubblico/Nome DNS del portale di Azure.

    Il nome di dominio completo viene in genere formattato come <your-VM-name>.<region>.cloudapp.azure.com

  2. Configurare SQL Server per l'uso del certificato con l'editor del Registro di sistema (regedit).

    Anche se Gestione configurazione SQL Server viene usato spesso per questa attività, non è possibile usarlo per questo scenario. Non troverà il certificato importato perché il nome di dominio completo della macchina virtuale in Azure non corrisponde al nome di dominio completo determinato dalla macchina virtuale (identifica il dominio come computer locale o il dominio di rete a cui è aggiunto). Quando i nomi non corrispondono, usare regedit per specificare il certificato.

    1. In regedit passare a questa chiave del Registro di sistema: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      La parte [MSSQL13.MSSQLSERVER] varia a seconda della versione e del nome dell'istanza.

    2. Impostare il valore della chiave del certificato sull'identificazionepersonale (senza spazi) del certificato TLS/SSL importato nella macchina virtuale.

    È possibile ottenere l'identificazione personale in diversi modi, alcuni dei quali preferibili ad altri. Se lo si copia dallo snap-in Certificati in MMC, è probabile che venga prelevato un carattere iniziale invisibile, come descritto in questo articolo di supporto, che genera un errore quando si tenta una connessione. Esistono diverse soluzioni alternative per risolvere il problema. La più semplice consiste nel premere il tasto BACKSPACE e quindi nel digitare di nuovo il primo carattere dell'identificazione personale per rimuovere il carattere iniziale nel campo del valore della chiave in regedit. In alternativa, è possibile usare un altro strumento per copiare l'identificazione personale.

  3. Concedere autorizzazioni all'account del servizio.

    Assicurarsi che all'account del servizio SQL Server sia concessa l'autorizzazione appropriata per la chiave privata del certificato TLS/SSL. Se si ignora questo passaggio, SQL Server non verrà avviato. È possibile usare lo snap-in Certificates o CertUtils per questa attività.

  4. Riavviare il servizio SQL Server.

Connessione a SQL Server

Dopo aver configurato la connessione crittografata richiesta da Ricerca intelligenza artificiale di Azure, ci si connetterà all'istanza tramite l'endpoint pubblico. L'articolo seguente illustra i requisiti di connessione e la sintassi:

Configurare il gruppo di sicurezza di rete

Non è insolito configurare il gruppo di sicurezza di rete e l'endpoint di Azure corrispondente o Controllo di accesso List (ACL) per rendere la macchina virtuale di Azure accessibile ad altre parti. Probabilmente questa operazione è stata eseguita prima per consentire alla logica applicativa di connettersi alla VM di SQL Azure. Non è diverso per una connessione di Ricerca intelligenza artificiale di Azure alla macchina virtuale di SQL Azure.

I collegamenti seguenti forniscono istruzioni sulla configurazione del gruppo di sicurezza di rete per le distribuzioni VM. Usare queste istruzioni per aCL di un endpoint del servizio di ricerca in base al relativo indirizzo IP.

  1. Ottenere l'indirizzo IP del servizio di ricerca. Per istruzioni, vedere la sezione seguente.

  2. Aggiungere l'indirizzo IP di ricerca all'elenco di filtri IP del gruppo di sicurezza. Uno dei seguenti articoli illustra i passaggi seguenti:

L'indirizzamento IP può comportare alcune sfide che possono essere facilmente superate se si è a conoscenza del problema e delle possibili soluzioni alternative. Le sezioni rimanenti contengono suggerimenti per gestire i problemi correlati agli indirizzi IP nell'elenco di controllo di accesso.

È consigliabile limitare l'accesso all'indirizzo IP del servizio di ricerca e all'intervallo di indirizzi IP del tag di AzureCognitiveSearchservizio nell'elenco di controllo di accesso anziché rendere aperte le macchine virtuali di SQL Azure a tutte le richieste di connessione.

È possibile trovare l'indirizzo IP eseguendo il ping del nome di dominio completo (ad esempio, <your-search-service-name>.search.windows.net) del servizio di ricerca. Sebbene sia possibile modificare l'indirizzo IP del servizio di ricerca, è improbabile che cambierà. L'indirizzo IP tende a essere statico per la durata del servizio.

È possibile trovare l'intervallo di indirizzi IP del tag di AzureCognitiveSearchservizio usando i file JSON scaricabili o tramite l'API di individuazione tag del servizio. L'intervallo di indirizzi IP viene aggiornato settimanalmente.

Includere gli indirizzi IP del portale di Ricerca intelligenza artificiale di Azure

Se si usa il portale di Azure per creare un indicizzatore, è necessario concedere al portale l'accesso in ingresso alla macchina virtuale di SQL Azure. Per una regola in ingresso nel firewall è necessario specificare l'indirizzo IP del portale.

Per ottenere l'indirizzo IP del portale, ping stamp2.ext.search.windows.net, che è il dominio di Gestione traffico. Si verifica il timeout della richiesta, ma l'indirizzo IP sarà visibile nel messaggio di stato. Ad esempio, nel messaggio "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]", l'indirizzo IP è "52.252.175.48".

I cluster in aree diverse si connettono a gestori di traffico diversi. Indipendentemente dal nome di dominio, l'indirizzo IP restituito dal ping è quello corretto da usare quando si definisce una regola del firewall in ingresso per il portale di Azure nell'area.

Passaggi successivi

Con la configurazione out-of-way, è ora possibile specificare un'istanza di SQL Server in una macchina virtuale di Azure come origine dati per un indicizzatore di Ricerca intelligenza artificiale di Azure. Per altre informazioni, vedere Indicizzare i dati di Azure SQL.