Compartilhar via


Conexões do indexador ao 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 extras são necessárias para conexões seguras.

Uma conexão da IA do Azure Search com uma instância do SQL Server em uma máquina virtual é uma conexão de Internet pública. Para que as conexões seguras tenham êxito, execute as seguintes etapas:

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

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

Observação

Atualmente, não há suporte para colunas Always Encrypted pelos indexadores do Azure AI Search.

Habilitar conexões criptografadas

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

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

    Você pode usar uma ferramenta como CertUtils ou o snap-in de certificados para exibir as propriedades. Você pode obter o FQDN na seção Essentials da página de serviço de VM, no campo de 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 geralmente usado para essa tarefa, você não pode usá-lo para esse cenário. Ele não localizará o certificado importado porque o FQDN da VM no Azure não corresponde ao FQDN determinado pela VM (ele identifica o domínio como o computador local ou o domínio de rede ao qual está associado). 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 parte [MSSQL13.MSSQLSERVER] varia conforme o nome de da instância e da versão.

    2. Defina o valor da chave do Certificado para a chave thumbprint (sem espaço) do certificado TLS/SSL que você importou para a VM.

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

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

    Verifique se a conta de serviço do SQL Server recebeu 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 o CertUtils para essa tarefa.

  4. Reinicie o serviço SQL Server.

Conecte-se ao SQL Server

Depois de configurar a conexão criptografada exigida pela Pesquisa de IA do Azure, conecte-se à instância por meio de seu ponto de extremidade público. O seguinte artigo explica os requisitos e a sintaxe de conexão:

Configure o grupo de segurança de rede

É uma melhor prática configurar o grupo de segurança de rede (NSG) 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 para permitir que a lógica do seu próprio aplicativo se conecte à VM do SQL Azure. Não é diferente para uma conexão da IA do Azure Search com sua VM do SQL Azure.

As etapas e os links a seguir fornecem instruções sobre a configuração do NSG para implantações de VM. Use estas instruções para ACL de um terminal de serviço de pesquisa com base no seu endereço de IP.

  1. Obtenha o endereço IP do servidor de pesquisa. Confira a seção a seguir para obter instruções.

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

O endereçamento IP pode apresentar alguns desafios que são superados facilmente quando você está ciente do problema e conhece as 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 que você restrinja o acesso ao endereço IP do serviço de pesquisa e o intervalo de endereços IP da AzureCognitiveSearch marca de serviço na ACL em vez de tornar as suas VMs do SQL do Azure abertas para todas as solicitações de conexão.

Você pode descobrir facilmente o endereço IP executando o ping do 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 seja alterado, isso é improvável. 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 AzureCognitiveSearch marca de serviço usando arquivos JSON que podem ser baixados ou por meio da API de descoberta de marca de serviço. O intervalo de endereços IP é atualizado semanalmente.

Incluir os endereços IP do portal do Azure

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

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

Os clusters em regiões diferentes se conectam a diferentes gerenciadores 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.

Complementar a segurança de rede com autenticação de token

Firewalls e segurança de rede são uma primeira etapa para impedir o acesso não autorizado a dados e operações. A autorização deve ser a sua próxima etapa.

Recomendamos o acesso baseado em função, em que os usuários e grupos do Microsoft Entra ID são atribuídos a funções que determinam o acesso de leitura e gravação ao seu serviço. Veja Conectar-se à Pesquisa de IA do Azure usando controles de acesso baseados em função para obter uma descrição de funções internas e instruções para criar funções personalizadas.

Se não precisar de autenticação baseada em chave, recomendamos que desative as chaves API e utilize exclusivamente atribuições de funções.

Próximas etapas

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 da IA do Azure Search. Para obter mais informações, confira Dados de índice do SQL do Azure.