Link Privado do Azure para o Banco de Dados SQL do Azure e o Azure Synapse Analytics

Aplica-se a: Banco de Dados SQL do Azure Azure Synapse Analytics (somente o pool de SQL dedicado, ou seja, o antigo SQL DW)

O Link Privado permite que você se conecte a vários serviços de PaaS no Azure por meio de um ponto de extremidade privado. Para obter uma lista dos serviços de PaaS que dão suporte à funcionalidade de Link Privado, acesse a página Documentação do Link Privado. Um ponto de extremidade privado é um endereço IP privado em uma VNet e sub-rede específicas.

Importante

Este artigo se aplica ao Banco de Dados SQL do Azure e ao pool de SQL dedicado (anteriormente, SQL DW) no Azure Synapse Analytics. Essas configurações se aplicam a todos os Bancos de Dados SQL e ao pool dedicado de SQL (antigo SQL DW) associados ao servidor. Para simplificar, o termo "banco de dados" se refere aos bancos de dados no Banco de Dados SQL do Azure e no Azure Synapse Analytics. Da mesma forma, as menções a 'servidor' se referem ao servidor lógico que hospeda o Banco de Dados SQL do Azure e o pool de SQL dedicado (anteriormente, SQL DW) no Azure Synapse Analytics. Este artigo não se aplica à Instância Gerenciada de SQL do Azure nem a pools de SQL dedicados em workspaces do Azure Synapse Analytics.

Processo de criação

Os pontos de extremidade privados podem ser criados usando o portal do Azure, o PowerShell ou a CLI do Azure:

Processo de aprovação

Depois que o administrador de rede cria o PE (ponto de extremidade privado), o administrador do SQL pode gerenciar a PEC (conexão de ponto de extremidade privado) com o Banco de Dados SQL.

  1. Navegue até o recurso do servidor na portal do Azure de acordo com as etapas mostradas na captura de tela a seguir

    • (1) Selecione as conexões de ponto de extremidade privado no painel esquerdo
    • (2) Mostra uma lista de todas as PECs (conexões de ponto de extremidade privado)
    • (3) O PE (ponto de extremidade privado) correspondente criou a

    Captura de tela de todos os PECs.

  2. Selecione uma PEC individual na lista selecionando-a.

    Captura de tela do PEC selecionado.

  3. O administrador do SQL pode optar por aprovar ou rejeitar uma PEC e, opcionalmente, adicionar uma resposta de texto curto.

    Captura de tela da aprovação do PEC.

  4. Após a aprovação ou a rejeição, a lista refletirá o estado apropriado junto com o texto de resposta.

    Captura de tela de todos os PECs após a aprovação.

  5. Por fim, selecionar o nome do ponto de extremidade privado Captura de tela dos detalhes do PEC.

    leva aos detalhes do Adaptador de Rede Captura de tela dos detalhes da NIC.

    e, por fim, leva ao endereço IP do ponto de extremidade privado Captura de tela do IP privado.

Importante

Quando você adiciona uma conexão de ponto de extremidade privado, o roteamento público para o servidor lógico não é bloqueado por padrão. No painel Firewall e redes virtuais, a configuração Negar acesso à rede pública não é selecionada por padrão. Para desabilitar o acesso à rede pública, selecione Negar acesso à rede pública.

Desabilitar o acesso público ao servidor lógico

Neste cenário, suponha que você queira desabilitar todo o acesso público ao servidor lógico e permitir apenas conexões de sua rede virtual.

Primeiramente, verifique se as conexões de ponto de extremidade privado estão habilitadas e configuradas. Em seguida, para desabilitar o acesso público ao servidor lógico:

  1. Acesse a página Rede do servidor lógico.

  2. Marque a caixa de seleção Negar acesso à rede pública.

    Captura de tela que mostra a seleção da opção “Negar acesso à rede pública”.

Testar a conectividade com o Banco de Dados SQL em uma VM do Azure na mesma rede virtual

Para esse cenário, suponha que você tenha criado uma VM (Máquina Virtual) do Azure executando uma versão recente do Windows na mesma rede virtual do ponto de extremidade privado.

  1. Inicie uma sessão RDP (Área de Trabalho Remota) e conecte-se à máquina virtual.

  2. Em seguida, você pode fazer algumas verificações de conectividade básicas para garantir que a VM esteja se conectando ao Banco de Dados SQL por meio do ponto de extremidade privado usando as seguintes ferramentas:

    1. Telnet
    2. Psping
    3. Nmap
    4. SQL Server Management Studio (SSMS)

Verificar a conectividade usando o Telnet

O Cliente Telnet é um recurso do Windows que pode ser usado para testar a conectividade. Dependendo da versão do sistema operacional Windows, talvez seja necessário habilitar esse recurso explicitamente.

Abra uma janela do prompt de comando depois de instalar o Telnet. Execute o comando do Telnet e especifique o endereço IP e o ponto de extremidade privado do banco de dados no Banco de Dados SQL.

>telnet 10.9.0.4 1433

Quando o Telnet se conectar com êxito, você verá uma tela em branco na janela Comando, como a imagem abaixo:

Diagrama do Telnet.

Usar o comando do PowerShell para verificar a conectividade

Test-NetConnection -computer myserver.database.windows.net -port 1433

Verificar a conectividade usando o Psping

O Psping pode ser usado, conforme mostrado a seguir, para verificar se o ponto de extremidade privado está escutando as conexões na porta 1433.

Execute o psping da seguinte maneira, fornecendo o FQDN do servidor SQL lógico e a porta 1433:

>psping.exe mysqldbsrvr.database.windows.net:1433
...
TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

A saída mostra que o Psping pode executar ping no endereço IP privado associado ao ponto de extremidade privado.

Verificar a conectividade usando o Nmap

O Nmap (Mapeador de Rede) é uma ferramenta gratuita e open-source usada para a descoberta de rede e auditoria de segurança. Para obter mais informações e o link de download, visite https://nmap.org. Use essa ferramenta para garantir que o ponto de extremidade privado esteja escutando conexões na porta 1433.

Execute o Nmap como mostrado a seguir, fornecendo o intervalo de endereços da sub-rede que hospeda o ponto de extremidade privado.

>nmap -n -sP 10.9.0.0/24
...
Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

O resultado mostra que um endereço IP está ativo, que corresponde ao endereço IP do ponto de extremidade privado.

Verificar a conectividade usando o SSMS (SQL Server Management Studio)

Observação

Use o FQDN (nome de domínio totalmente qualificado) do servidor nas cadeias de conexão dos clientes (<server>.database.windows.net). As tentativas de logon feitas diretamente no endereço IP ou usando o FQDN do link privado (<server>.privatelink.database.windows.net) deverão falhar. Esse comportamento ocorre por design, pois o ponto de extremidade privado roteia o tráfego para o gateway do SQL na região, e o FQDN correto precisa ser especificado para que os logons tenham êxito.

Siga as etapas fornecidas aqui para usar o SSMS para se conectar ao Banco de Dados SQL. Depois que você se conectar ao Banco de Dados SQL usando o SSMS, a seguinte consulta deverá refletir um client_net_address que corresponda ao endereço IP privado da VM do Azure da qual você está se conectando:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

Limitações

As conexões com o ponto de extremidade privado só dão suporte ao Proxy como a política de conexão

Conectividade local no emparelhamento privado

Quando os clientes se conectam ao ponto de extremidade público em computadores locais, seus endereços IP precisam ser adicionados ao firewall baseado em IP usando uma Regra de firewall no nível de servidor. Embora esse modelo funcione bem para permitir o acesso a computadores individuais para cargas de trabalho de desenvolvimento ou teste, é difícil gerenciá-lo em um ambiente de produção.

Com o Link Privado, os clientes podem habilitar o acesso entre instalações ao ponto de extremidade privado usando o ExpressRoute, o emparelhamento privado ou o túnel de VPN. Os clientes podem então desabilitar todo o acesso por meio do ponto de extremidade público e não usar o firewall baseado em IP para permitir qualquer endereço IP.

Os clientes podem se conectar ao ponto de extremidade privado da mesma rede virtual, rede virtual emparelhada na mesma região ou via rede virtual para conexão de rede virtual entre regiões. Além disso, os clientes podem se conectar localmente usando o ExpressRoute, o emparelhamento privado ou o túnel de VPN. Veja abaixo um diagrama simplificado que mostra os casos de uso comuns.

Diagrama da opção de conectividade.

Além disso, os serviços que não estão sendo executados diretamente na rede virtual, mas estão integrados a ela (por exemplo, aplicativos Web do Serviço de Aplicativo ou o Functions) também podem obter conectividade privada com o banco de dados. Para obter mais informações sobre esse caso de uso específico, confira o cenário de arquitetura Aplicativo Web com conectividade privada com o banco de dados SQL do Azure.

Como se conectar por meio de uma VM do Azure na Rede Virtual emparelhada

Configure emparelhamento de rede virtual para estabelecer conectividade com o Banco de Dados SQL de uma VM do Azure em uma rede virtual emparelhada.

Como conectar-se de uma VM do Azure em um ambiente de rede virtual a rede virtual

Configure a conexão do gateway da VPN de rede virtual para rede virtual para estabelecer a conectividade com um banco de dados no Banco de Dados SQL de uma VM do Azure em uma região ou assinatura diferente.

Como se conectar por meio de um ambiente local pela VPN

Para estabelecer a conectividade de um ambiente local com o banco de dados no Banco de Dados SQL, escolha e implemente uma das opções:

Considere também os cenários de configuração DNS, pois o FQDN do serviço pode ser resolvido para o endereço IP público.

Conectar-se do Azure Synapse Analytics para o Armazenamento do Azure usando o Polybase e a instrução COPY

O PolyBase e a instrução COPY costumam a ser usados para carregar dados no Azure Synapse Analytics de contas de Armazenamento do Azure. Se a conta de Armazenamento do Azure da qual você está carregando dados limitar o acesso somente a um conjunto de sub-redes da rede virtual por meio de Pontos de Extremidade Privados, Pontos de Extremidade de Serviço ou firewalls baseados em IP, a conectividade do PolyBase e da instrução COPY com a conta será interrompida. Para habilitar os cenários de importação e de exportação com o Azure Synapse Analytics conectando-se ao Armazenamento do Microsoft Azure protegido com uma rede virtual, siga as etapas fornecidas aqui.

Prevenção contra exportação de dados

A exfiltração dos dados no Banco de Dados SQL do Azure ocorre quando um usuário, como um administrador de banco de dados, pode extrair dados de um sistema e movê-los para outra localização ou outro sistema fora da organização. Por exemplo, o usuário move os dados para uma conta de armazenamento pertencente a terceiros.

Considere um cenário com um usuário que executa o SSMS (SQL Server Management Studio) em uma máquina virtual do Azure que se conecta a um banco de dados no Banco de Dados SQL. Esse banco de dados está no data center do Oeste dos EUA. O exemplo abaixo mostra como limitar o acesso com pontos de extremidade públicos no Banco de Dados SQL usando controles de acesso à rede.

  1. Desabilite todo o tráfego de serviço do Azure para o Banco de Dados SQL por meio do ponto de extremidade público configurando Permitir Serviços do Azure como DESATIVADO. Verifique se nenhum endereço IP é permitido nas regras de firewall no nível de servidor e de banco de dados. Para obter mais informações, confira Controles de acesso à rede do Banco de Dados SQL do Azure e do Azure Synapse Analytics.
  2. Só permita o tráfego para o banco de dados no Banco de Dados SQL usando o endereço IP privado da VM. Para obter mais informações, confira os artigos sobre o ponto de extremidade de serviço e as regras de firewall da rede virtual.
  3. Na VM do Azure, restrinja o escopo da conexão de saída usando NSGs (grupos de segurança de rede) e Marcas de Serviço, conforme mostrado a seguir
    • Especifique uma regra NSG para permitir o tráfego para a Tag de Serviço = SQL.WestUs – só permitindo a conexão com o Banco de Dados SQL no Oeste dos EUA
    • Especifique uma regra NSG (com uma prioridade mais alta) para negar o tráfego para a Tag de Serviço = SQL – negando as conexões com o Banco de Dados SQL em todas as regiões

Ao final desta configuração, a VM do Azure só poderá se conectar a um banco de dados no Banco de Dados SQL na região Oeste dos EUA. No entanto, a conectividade não é restrita a um banco de dados individual no Banco de Dados SQL. A VM ainda pode se conectar a qualquer banco de dados na região Oeste dos EUA, incluindo os bancos de dados que não fazem parte da assinatura. Embora tenhamos reduzido o escopo da exportação de dados no cenário acima a uma região específica, não o eliminamos por completo.

Com o Link Privado, os clientes agora podem configurar controles de acesso à rede como NSGs para restringir o acesso ao ponto de extremidade privado. Os recursos de PaaS individuais do Azure são então mapeados para pontos de extremidade privados específicos. Um usuário interno mal-intencionado só pode acessar o recurso de PaaS mapeado (por exemplo, um banco de dados no Banco de Dados SQL) e nenhum outro recurso.

Próximas etapas