Visão geral de rede do Banco de Dados do Azure para PostgreSQL – Servidor Flexível com acesso público (endereços IP permitidos)
APLICA-SE A: Banco de Dados do Azure para PostgreSQL – Servidor Flexível
Este artigo descreve os conceitos de conectividade e rede para o Banco de Dados do Azure para PostgreSQL - Servidor flexível.
Ao criar um servidor flexível do Banco de Dados do Azure para PostgreSQL, escolha uma das seguintes opções de sistema de rede:
- Acesso privado (integração de rede virtual)
- Acesso público (endereços IP permitidos) e ponto de extremidade privado
As seguintes características se aplicam se você escolher usar o acesso privado ou a opção de acesso público:
- As conexões de endereços IP permitidos precisam ser autenticadas no servidor flexível do Banco de Dados do Azure para PostgreSQL com credenciais válidas.
- A criptografia de conexão está imposta ao tráfego da sua rede.
- O servidor tem um FQDN (nome de domínio totalmente qualificado). Para a propriedade
hostname
em cadeias de conexão, é recomendável usar o FQDN em vez de um endereço IP. - As duas opções controlam o acesso no nível do servidor, não no nível do banco de dados ou da tabela. Você usaria as Propriedades de Função do PostgreSQL para controlar o Acesso ao Banco de Dados, Tabela e outros Objetos.
Observação
Como o Banco de Dados do Azure para PostgreSQL - Servidor Flexível é um serviço de banco de dados gerenciado, os usuários não têm acesso ao host ou ao sistema operacional para visualizar ou modificar arquivos de configuração, como pg_hba.conf
. O conteúdo dos arquivos é atualizado automaticamente com base nas configurações de rede.
Use a rede de acesso público com o Banco de Dados do Azure para PostgreSQL - Servidor Flexível
Quando você escolhe o método de acesso público, o servidor flexível do Banco de Dados do Azure para PostgreSQL é acessado por meio de um ponto de extremidade público na Internet. O ponto de extremidade público é um endereço DNS que poderia ser resolvido publicamente. A frase endereços IP permitidos refere-se a um intervalo de IPs que você escolhe para conceder permissão de acesso ao seu servidor. Essas permissões são chamadas regras de firewall.
Escolha esta opção de rede se você deseja ter as seguintes funcionalidades:
- Conectar-se a partir de recursos do Azure que não têm suporte a redes virtuais.
- Conectar de Recursos fora do Azure que não estão conectados por VPN ou Azure ExpressRoute.
- Certifique-se de que o servidor flexível do Banco de Dados do Azure para PostgreSQL tenha um Ponto de Extremidade público acessível pela Internet.
As características do método de acesso público incluem:
- Somente os Endereços IP que você permitir têm Permissão para acessar seu servidor flexível do Banco de Dados do Azure para PostgreSQL. Por padrão, nenhum endereço IP está permitido. Você pode adicionar endereços IP durante a criação do servidor ou posteriormente.
- Seu servidor flexível do Banco de Dados do Azure para PostgreSQL tem um Nome DNS publicamente resolvível.
- Seu servidor flexível do Banco de Dados do Azure para PostgreSQL não está em uma de suas Redes Virtuais do Azure.
- O tráfego de rede no servidor não passa por uma rede privada. O tráfego usa os caminhos gerais da Internet.
Regras de firewall
As Regras de Firewall em nível de Servidor se aplicam a todos os Bancos de Dados no mesmo servidor flexível do Banco de Dados do Azure para PostgreSQL. Se o endereço IP de origem da solicitação estiver dentro de um dos intervalos especificados nas regras de firewall no nível do servidor, a conexão será concedida. Caso contrário, será rejeitada. Por exemplo, se seu Aplicativo se conectar com o Driver JDBC para PostgreSQL, você poderá encontrar este Erro ao tentar conectar quando o Firewall estiver bloqueando a Conexão.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL
Observação
Para acessar o servidor flexível do Banco de Dados do Azure para PostgreSQL do seu computador local, certifique-se de que o firewall na sua rede e no computador local permita comunicação de saída na Porta TCP 5432.
Regras de firewall gerenciadas programaticamente
Além de usar o portal do Azure, você pode gerenciar regras de firewall programaticamente usando a CLI do Azure. Para obter mais informações, confira Criar e gerenciar regras de rirewall do servidor flexível do Banco de Dados do Azure para PostgreSQL usando a CLI do Azure.
Permitir todos os endereços IP do Azure
É recomendável que você encontre o endereço IP de saída de um aplicativo ou serviço e permita explicitamente o acesso a esses endereços IP ou intervalos individuais. Se um endereço IP de saída fixo não estiver disponível para o serviço do Azure, você pode pensar em habilitar conexões de todos os endereços IP para os datacenters do Azure.
Para habilitar essa Configuração no portal do Azure, no Sistema de Rede, selecione a caixa de seleção Permitir acesso público de qualquer Serviço do Azure dentro do Azure a esse Servidor e, em seguida, selecione Salvar.
Importante
A opção permitir acesso público dos serviços e recursos do Azure no Azure configura o firewall para permitir todas as conexões do Azure, incluindo conexões das assinaturas de outros clientes. Se selecionar essa opção, verifique se as permissões de logon e de usuário limitam o acesso somente a usuários autorizados.
Solução de problemas de acesso público
Considere os seguintes pontos quando o Acesso ao Banco de Dados do Azure para PostgreSQL – Servidor Flexível não se comportar como esperado:
As alterações à lista de permissões ainda não entraram em vigor. Pode haver um Atraso de até cinco Minutos para que as Alterações na Configuração do Firewall do servidor flexível do Banco de Dados do Azure para PostgreSQL tenham efeito.
Falha na autenticação. Se um Usuário não tiver Permissões no servidor flexível do Banco de Dados do Azure para PostgreSQL ou a Senha estiver incorreta, a Conexão com o servidor flexível do Banco de Dados do Azure para PostgreSQL será negada. A criação de uma configuração de firewall apenas oferece aos clientes a oportunidade de tentarem se conectar ao seu servidor. O cliente ainda deve fornecer as credenciais de segurança necessárias.
O endereço IP dinâmico do cliente está impedindo o acesso. Se você tiver uma conexão com a Internet com endereçamento IP dinâmico e estiver tendo problemas para acessar o firewall, tente uma das seguintes soluções:
- Pergunte ao seu Provedor de Serviços de Internet (ISP) pelo Intervalo de Endereços IP atribuído aos seus Computadores Cliente que acessam o servidor flexível do Banco de Dados do Azure para PostgreSQL. Em seguida, adicione o intervalo de endereços IP como uma regra de firewall.
- Obtenha endereçamento IP estático para os computadores cliente. Em seguida, adicione o Endereço IP estático como uma regra de firewall.
A regra de firewall não está disponível para o formato IPv6. As regras de firewall devem estar no formato IPv4. Se você especificar regras de firewall no formato IPv6, você receberá um erro de validação.
Nome do host
Independentemente da opção de rede que você escolher, recomendamos que você sempre use um FQDN como nome de host ao conectar-se ao seu servidor flexível do Banco de Dados do Azure para PostgreSQL. Não há garantia de que o endereço IP do servidor permanecerá estático. Usar o FQDN ajudará você a evitar fazer alterações na cadeia de conexão.
Um exemplo que usa um FQDN como nome de host é hostname = servername.postgres.database.azure.com
. Sempre que possível, evite usar hostname = 10.0.0.4
(um endereço privado) ou hostname = 40.2.45.67
(um endereço público).
Conteúdo relacionado
- Saiba como criar um servidor flexível do Banco de Dados do Azure para PostgreSQL usando a opção Acesso público (Endereços IP permitidos) no portal do Azure ou na CLI do Azure.