Criar e gerenciar regras de firewall do Banco de Dados do Azure para PostgreSQL – Servidor Flexível usando a CLI do Azure/

APLICA-SE A: Banco de Dados do Azure para PostgreSQL – Servidor Flexível

O servidor flexível do Banco de Dados do Azure para PostgreSQL oferece suporte a dois tipos de métodos de conectividade de rede mutuamente exclusivos para se conectar à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. As duas opções são:

  • Acesso público (endereços IP permitidos). Esse método pode ser ainda mais protegido usando a rede baseada em Link Privado com o Banco de Dados do Azure para servidor flexível PostgreSQL na Visualização.
  • Acesso privado (Integração VNet)

Este artigo se concentra na criação de uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público (endereços IP permitidos) usando a CLI do Azure e fornece uma visão geral sobre os comandos da CLI do Azure que você pode usar para criar, atualizar, excluir, listar e mostrar regras de firewall após a criação do servidor. Com o acesso público (endereços IP permitidos), as conexões com a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL são restritas apenas a endereços IP permitidos. Os endereços IP do cliente precisam ser permitidos nas regras de firewall. Para saber mais sobre isso, consulte acesso público (endereços IP permitidos). As funções de firewall podem ser definidas no momento da criação do servidor (recomendado), mas também podem ser adicionadas posteriormente.

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Você também pode abrir o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com/bash. Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e selecione Enter para executá-lo.

Caso prefira instalar e usar a CLI localmente, este início rápido exigirá a CLI do Azure versão 2.0 ou posterior. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

Pré-requisitos

Você precisará entrar na sua conta usando o comando az login. Observe a propriedade ID que se refere à ID da Assinatura da sua conta do Azure.

az login

Selecione a assinatura específica em sua conta usando o comando az account set. Anote o valor da ID da saída az login para usar como valor para o argumento subscription no comando. Se tiver várias assinaturas, escolha a que for adequada para cobrança do recurso. Para obter todas as suas assinaturas, use az account list.

az account set --subscription <subscription id>

Criar regra de firewall durante a criação de instância de servidor flexível do Banco de Dados do Azure para PostgreSQL usando a CLI do Azure

Você pode usar o az postgres flexible-server --public access comando para criar a instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público (endereços IP permitidos) e configurar as regras de firewall durante a criação da instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Você pode usar a opção --Public-Access para fornecer os endereços IP permitidos que serão capazes de se conectar ao servidor. Você pode fornecer um simples ou intervalo de endereços IP a serem incluídos na lista de IPs permitidos. O intervalo de endereços IP deve ser separado por um traço e não conter espaços. Há várias opções para criar um Banco de Dados do Azure para instância de servidor flexível do PostgreSQL usando a CLI, conforme mostrado nos exemplos a seguir.

Consulte a documentação de referência da CLI do Azure para obter a lista completa de parâmetros configuráveis da CLI. Por exemplo, nos comandos abaixo, é possível, como opção, especificar o grupo de recursos.

  • Crie uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público e adicione o endereço IP do cliente para ter acesso ao servidor:

    az postgres flexible-server create --public-access <my_client_ip>
    
  • Crie uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público e adicione o intervalo de endereço IP para ter acesso a este servidor:

    az postgres flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • Crie uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público e permita que aplicativos de endereços IP do Azure se conectem à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL:

    az postgres flexible-server create --public-access 0.0.0.0
    

    Importante

    Esta opção configura o firewall para permitir todas as conexões do Azure incluindo as conexões das assinaturas de outros clientes. Ao selecionar essa opção, verifique se as permissões de logon e de usuário limitam o acesso somente a usuários autorizados.

    • Crie uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público e permita todos os endereços IP:
      az postgres flexible-server create --public-access all
      

      Observação

      O comando anterior cria uma regra de firewall com endereço IP inicial = 0.0.0.0, endereço IP final = 255.255.255.255 e nenhum endereço IP é bloqueado. Qualquer host na internet pode acessar este servidor. É altamente recomendável usar essa regra apenas temporariamente e somente em servidores de teste que não contenham dados confidenciais.

  • Crie uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL com acesso público e sem endereço IP:

    az postgres flexible-server create --public-access none
    

    Observação

    Não recomendamos a criação de um servidor sem regras de firewall. Se você não adicionar nenhuma regra de firewall, nenhum cliente poderá se conectar ao servidor.

Criar e gerenciar a função do firewall após a criação do servidor

O comando az postgres flexible-server firewall-ruleé usado na CLI do Azure para criar, excluir, listar, exibir e atualizar funções do firewall.

Comandos:

  • create: Crie uma regra de firewall de servidor flexível do Banco de Dados do Azure para PostgreSQL.
  • list: Liste as regras de firewall do servidor flexível do Banco de Dados do Azure para PostgreSQL.
  • update: atualize uma regra de firewall de servidor flexível do Banco de Dados do Azure para PostgreSQL.
  • show: mostra os detalhes de uma regra de firewall de servidor flexível do Banco de Dados do Azure para PostgreSQL.
  • delete: exclua uma regra de firewall de servidor flexível do Banco de Dados do Azure para PostgreSQL.

Consulte a documentação de referência da CLI do Azure para obter a lista completa de parâmetros configuráveis da CLI. Por exemplo, nos comandos a seguir, você pode opcionalmente especificar o grupo de recursos.

Criar uma regra de firewall

Use o az postgres flexible-server firewall-rule create comando para criar uma nova regra de firewall no servidor de rede. Para permitir o acesso a um intervalo de endereço IP, forneça como endereço IP Inicial e endereço IP Final, como neste exemplo. Esse comando também espera o nome do grupo de recursos do Azure em que o servidor está localizado como um parâmetro.

az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.15

Para permitir o acesso de um endereço IP único, apenas forneça o endereço IP, como neste exemplo.

az postgres flexible-server firewall-rule create --name mydemoserver  --resource-group testGroup  --start-ip-address 1.1.1.1

Para permitir que aplicativos de endereços IP do Azure se conectem à sua instância de servidor flexível do Banco de Dados do Azure para PostgreSQL, forneça o endereço IP 0.0.0.0 como o IP inicial, como neste exemplo.

az postgres flexible-server firewall-rule create --name mydemoserver --resource-group testGroup --start-ip-address 0.0.0.0

Importante

Esta opção configura o firewall para permitir todas as conexões do Azure incluindo as conexões das assinaturas de outros clientes. Ao selecionar essa opção, verifique se as permissões de logon e de usuário limitam o acesso somente a usuários autorizados.

Após o êxito, cada saída de comando create lista os detalhes da regra de firewall que você criou, no formato JSON (por padrão). Se houver uma falha, a saída mostrará o texto da mensagem de erro em vez disso.

Listar regras de firewall

Use oaz postgres flexible-server firewall-rule listcomando para listar as funções do firewall do servidor existentes no servidor. Observe que o atributo de nome do servidor é especificado na opção --opção interruptor.

az postgres flexible-server firewall-rule list --name mydemoserver --resource-group testGroup

A saída listará as regras, se houver, no formato JSON (por padrão). É possível usar a opção--output table para gerar os resultados em um formato de tabela mais legível.

az postgres flexible-server firewall-rule list --name mydemoserver --resource-group testGroup --output table

Atualizar uma regra de firewall

Use o az postgres flexible-server firewall-rule updatecomando para atualizar uma função do firewall existente no servidor. Forneça o nome da regra de firewall existente como entrada, bem como os atributos de endereço IP inicial e IP final a serem atualizados.

az postgres flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

Após êxito, a saída do comando lista os detalhes da regra de firewall que você atualizou, no formato JSON (por padrão). Se houver uma falha, a saída mostrará o texto da mensagem de erro em vez disso.

Observação

Se a regra de firewall não existir, ela será criada pelo comando update.

Mostrar detalhes da regra de firewall

Use o az postgres flexible-server firewall-rule showcomando para mostrar os detalhes da função do firewall existente do servidor. Forneça o nome da regra de firewall existente como entrada.

az postgres flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup

Após o êxito, a saída do comando listará os detalhes da regra de firewall especificado, em formato JSON (por padrão). Se houver uma falha, a saída mostrará o texto da mensagem de erro em vez disso.

Excluir uma regra de firewall

Use o az postgres flexible-server firewall-rule delete comando para excluir uma regra de firewall existente no servidor. Forneça o nome da regra de firewall existente.

az postgres flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1 --resource-group testGroup

Após o êxito, não haverá saída. Em caso de falha, o texto da mensagem de erro será exibido.

Próximas etapas