Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ao executar uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL, você tem duas opções de rede principais. As opções são acesso privado (integração de rede virtual) e acesso público (endereços IP permitidos).
Com o acesso público, a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL é acessada por meio de um ponto de extremidade público. Por padrão, o firewall bloqueia todo o acesso ao servidor. Para especificar quais hosts IP podem acessar o servidor, crie regras de firewall no nível do servidor. As regras de firewall especificam intervalos de endereços IP públicos permitidos. O firewall concede acesso ao servidor com base no endereço IP de origem de cada solicitação. Com acesso privado, nenhum ponto de extremidade público está disponível e somente hosts localizados na mesma rede podem acessar a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.
Você pode criar regras de firewall usando o portal do Azure ou usando comandos da CLI do Azure. Você deve ser o proprietário da assinatura ou um colaborador de assinatura.
As regras de firewall no nível do servidor se aplicam a todos os bancos de dados na mesma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. As regras não afetam o acesso ao site do portal do Azure.
O diagrama a seguir mostra como as tentativas de conexão da Internet e do Azure devem passar pelo firewall antes que possam acessar os bancos de dados do Azure Database for PostgreSQL.
Conectar-se à Internet
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, ele será rejeitado.
Por exemplo, se seu aplicativo se conectar a um driver JDBC (Conectividade de Banco de Dados Java) para o Banco de Dados do Azure para PostgreSQL, você poderá encontrar esse erro porque o firewall está bloqueando a conexão:
- java.util.concurrent.ExecutionException: java.lang.RuntimeException:
- org.postgresql.util.PSQLException: FATAL: sem entrada pg_hba.conf para host "123.45.67.890", usuário "adminuser", banco de dados "postgresql", SSL
Observação
Para acessar a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL do computador local, verifique se o firewall na rede e no computador local permite a comunicação de saída na porta TCP 5432.
Conectar do Azure
Recomendamos que você encontre o endereço IP de saída de qualquer aplicativo ou serviço e permita explicitamente o acesso a esses intervalos ou endereços IP individuais. Por exemplo, você pode encontrar o endereço IP de saída de um aplicativo do Serviço de Aplicativo do Azure ou usar um endereço IP público vinculado a uma máquina virtual.
Se um endereço IP de saída fixa não estiver disponível para seu serviço do Azure, considere habilitar conexões de todos os endereços IP para datacenters do Azure:
No portal do Azure, no painel Rede, selecione a caixa de seleção Permitir acesso público de qualquer serviço do Azure dentro do Azure para este servidor.
Clique em Salvar.
Importante
A opção Permitir acesso público de qualquer serviço do Azure dentro do Azure para este servidor configura o firewall para permitir todas as conexões provenientes do Azure, incluindo conexões das assinaturas de outros clientes. Ao usar essa opção, verifique se suas permissões de entrada e de usuário limitam o acesso somente a usuários autorizados.
Gerenciar regras de firewall programaticamente
Além de usar o portal do Azure, você pode gerenciar regras de firewall programaticamente usando a CLI do Azure.
Na CLI do Azure, uma configuração de regra de firewall com um endereço inicial e final igual a 0.0.0.0 realiza o equivalente à opção Permitir acesso público de qualquer serviço do Azure dentro do Azure a este servidor no portal. Se as regras de firewall rejeitarem a tentativa de conexão, o aplicativo não alcançará a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL.
Solucionar problemas de firewall
Considere as seguintes possibilidades quando o acesso a uma instância do servidor flexível de Banco de Dados do Azure para PostgreSQL não se comportar como você espera:
As alterações na lista de permissões ainda não entraram em vigor: as alterações na configuração de firewall de uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL podem levar até cinco minutos.
A entrada não está autorizada ou uma senha incorreta foi usada: se uma entrada não tiver permissões na instância do servidor flexível do Banco de Dados do Azure para PostgreSQL ou a senha estiver incorreta, a conexão com o servidor será negada. A criação de uma configuração de firewall só oferece aos clientes a oportunidade de tentar se conectar ao servidor. Cada cliente ainda deve fornecer as credenciais de segurança necessárias.
Por exemplo, o seguinte erro poderá aparecer se a autenticação falhar para um cliente JDBC:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: falha na autenticação de senha para o usuário "yourusername"
O firewall não está permitindo endereços IP dinâmicos: se você tiver uma conexão com a Internet com endereçamento IP dinâmico e estiver tendo problemas para passar pelo firewall, experimente uma das seguintes soluções:
Peça ao provedor de serviços de Internet (ISP) o intervalo de endereços IP atribuído aos computadores cliente que acessam a instância de 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ços IP estáticos para seus computadores cliente e adicione os endereços IP estáticos como uma regra de firewall.
As regras de firewall não estão disponíveis para o formato IPv6: as regras de firewall devem estar no formato IPv4. Se você especificar regras de firewall no formato IPv6, receberá um erro de validação.