Conexões do indexador com uma instância do SQL Server em uma máquina virtual do Azure

Ao configurar um indexador SQL do Azure para extrair conteúdo de um banco de dados em uma máquina virtual do Azure, etapas adicionais são necessárias para conexões seguras.

Uma conexão da Pesquisa de IA do Azure com a instância do SQL Server em uma máquina virtual é uma conexão pública com a Internet. Para que as conexões seguras sejam bem-sucedidas, você precisará atender aos seguintes requisitos:

  • Obtenha um certificado de um provedor de Autoridade de Certificação para o nome de domínio totalmente qualificado da instância do SQL Server na máquina virtual.

  • Instale o certificado na máquina virtual.

Depois de instalar o certificado em sua VM, você estará pronto para concluir as etapas a seguir neste artigo.

Nota

Atualmente, as colunas Sempre Criptografadas não são suportadas pelos indexadores do Azure AI Search.

Habilitar conexões criptografadas

O Azure AI Search requer um canal criptografado para todas as solicitações de indexador em uma conexão pública com a Internet. Esta seção lista as etapas para fazer isso funcionar.

  1. Verifique as propriedades do certificado para verificar se o nome do assunto é o FQDN (nome de domínio totalmente qualificado) da VM do Azure.

    Você pode usar uma ferramenta como CertUtils ou o snap-in Certificados para exibir as propriedades. Você pode obter o FQDN na seção Essentials da folha de serviço VM, no campo Endereço IP público/rótulo de nome DNS, no portal do Azure.

    O FQDN é normalmente formatado como <your-VM-name>.<region>.cloudapp.azure.com

  2. Configure o SQL Server para usar o certificado usando o Editor do Registro (regedit).

    Embora o SQL Server Configuration Manager seja usado com frequência para essa tarefa, você não pode usá-lo para esse cenário. Ele não encontrará o certificado importado porque o FQDN da VM no Azure não corresponde ao FQDN conforme determinado pela VM (ele identifica o domínio como o computador local ou o domínio de rede ao qual ele ingressou). Quando os nomes não corresponderem, use regedit para especificar o certificado.

    1. No regedit, navegue até esta chave do Registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\[MSSQL13.MSSQLSERVER]\MSSQLServer\SuperSocketNetLib\Certificate.

      A [MSSQL13.MSSQLSERVER] parte varia de acordo com a versão e o nome da instância.

    2. Defina o valor da chave de certificado para a impressão digital (sem espaços) do certificado TLS/SSL importado para a VM.

    Existem várias maneiras de obter a impressão digital, algumas melhores do que outras. Se você copiá-lo do snap-in Certificados no MMC, provavelmente pegará um caractere principal invisível conforme descrito neste artigo de suporte, o que resulta em um erro ao tentar uma conexão. Existem várias soluções alternativas para corrigir esse problema. O mais fácil é retroceder e, em seguida, redigitar o primeiro caractere da impressão digital para remover o caractere principal no campo de valor da chave no regedit. Como alternativa, você pode usar uma ferramenta diferente para copiar a impressão digital.

  3. Conceda permissões à conta de serviço.

    Verifique se a conta de serviço do SQL Server recebeu a permissão apropriada na chave privada do certificado TLS/SSL. Se você ignorar esta etapa, o SQL Server não será iniciado. Você pode usar o snap-in Certificados ou CertUtils para esta tarefa.

  4. Reinicie o serviço do SQL Server.

Ligar ao SQL Server

Depois de configurar a conexão criptografada exigida pelo Azure AI Search, você se conectará à instância por meio de seu ponto de extremidade público. O artigo a seguir explica os requisitos de conexão e a sintaxe:

Configurar o grupo de segurança de rede

Não é incomum configurar o grupo de segurança de rede e o ponto de extremidade do Azure correspondente ou a Lista de Controle de Acesso (ACL) para tornar sua VM do Azure acessível a outras partes. É provável que você já tenha feito isso antes para permitir que sua própria lógica de aplicativo se conecte à sua VM do SQL Azure. Não é diferente para uma conexão do Azure AI Search com sua VM do SQL Azure.

Os links abaixo fornecem instruções sobre a configuração do NSG para implantações de VM. Use estas instruções para ACL um ponto de extremidade de serviço de pesquisa com base em seu endereço IP.

  1. Obtenha o endereço IP do seu serviço de pesquisa. Consulte a secção seguinte para obter instruções.

  2. Adicione o endereço IP de pesquisa à lista de filtros IP do grupo de segurança. Um dos seguintes artigos explica as etapas:

O endereçamento IP pode representar alguns desafios que são facilmente superados se você estiver ciente do problema e das possíveis soluções alternativas. As seções restantes fornecem recomendações para lidar com problemas relacionados a endereços IP na ACL.

É altamente recomendável restringir o acesso ao endereço IP do seu serviço de pesquisa e ao intervalo de endereços IP da marca de serviço na ACL em vez de tornar suas VMs do SQL Azure abertas a todas as solicitações de AzureCognitiveSearchconexão.

Você pode descobrir o endereço IP fazendo ping no FQDN (por exemplo, <your-search-service-name>.search.windows.net) do seu serviço de pesquisa. Embora seja possível que o endereço IP do serviço de pesquisa mude, é improvável que ele mude. O endereço IP tende a ser estático durante o tempo de vida do serviço.

Você pode descobrir o intervalo de endereços IP da etiqueta de serviço usando arquivos JSON para download ou por meio da API de descoberta de marca de AzureCognitiveSearchserviço. O intervalo de endereços IP é atualizado semanalmente.

Incluir os endereços IP do portal Azure AI Search

Se você estiver usando o portal do Azure para criar um indexador, deverá conceder ao portal acesso de entrada à sua máquina virtual do SQL Azure. Uma regra de entrada no firewall exige que você forneça o endereço IP do portal.

Para obter o endereço IP do portal, ping stamp2.ext.search.windows.net, que é o domínio do gerenciador de tráfego. A solicitação expirará, mas o endereço IP ficará visível na mensagem de status. Por exemplo, na mensagem "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]", o endereço IP é "52.252.175.48".

Clusters em diferentes regiões se conectam a diferentes gerentes de tráfego. Independentemente do nome de domínio, o endereço IP retornado do ping é o correto a ser usado ao definir uma regra de firewall de entrada para o portal do Azure em sua região.

Próximos passos

Com a configuração fora do caminho, agora você pode especificar um SQL Server na VM do Azure como a fonte de dados para um indexador do Azure AI Search. Para obter mais informações, consulte Dados de índice do Azure SQL.