Criar e gerir regras de firewall da Base de Dados do Azure para PostgreSQL - Servidor Flexível com 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 dá 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 o servidor flexível PostgreSQL na Visualização.
  • Acesso privado (Integração de 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 dos 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 flexível do servidor flexível do Banco de Dados do Azure para PostgreSQL são restritas apenas aos 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 regras 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 interativo gratuito que você pode usar para executar as etapas neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a 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 acessando .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.

Se você preferir instalar e usar a CLI localmente, este início rápido requer a CLI do Azure versão 2.0 ou posterior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Pré-requisitos

Você precisa 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 de ID da saída az login para usar como o valor para o argumento de assinatura no comando. Se tiver várias subscrições, escolha a subscrição adequada na qual o recurso deve ser cobrado. Para obter toda a sua assinatura, use a lista de contas az.

az account set --subscription <subscription id>

Criar regra de firewall durante o Banco de Dados do Azure para criação de instância de servidor flexível do 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 poderão se conectar ao servidor. Você pode fornecer um único ou um intervalo de endereços IP a serem incluídos na lista de IPs permitidos. O intervalo de endereços IP deve ser separado por traço e não contém espaços. Há várias opções para criar uma instância de servidor flexível do Banco de Dados do Azure para 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, você pode, opcionalmente, 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ços 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 o acesso público dos serviços e recursos do Azure no Azure a este servidor, incluindo conexões das assinaturas de outros clientes. Quando selecionar esta opção, certifique-se de que as suas permissões de início de sessão e de utilizador limitam o acesso apenas a utilizadores 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
      

      Nota

      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
    

    Nota

    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 regra de 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, mostrar e atualizar regras de firewall.

Comandos:

  • create: crie uma regra de firewall de servidor flexível do Banco de Dados do Azure para PostgreSQL.
  • list: Liste o Banco de Dados do Azure para regras flexíveis de firewall de servidor PostgreSQL.
  • update: atualize uma regra de firewall de servidor flexível do Banco de Dados do Azure para PostgreSQL.
  • show: Mostrar 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 especificar opcionalmente 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. Para permitir o acesso a um intervalo de endereços IP, forneça o endereço IP como o endereço IP inicial e o endereço IP final, como neste exemplo. Este comando também espera o nome do grupo de recursos do Azure onde 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 a um único endereço IP, basta fornecer um único 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 o acesso público dos serviços e recursos do Azure no Azure a este servidor, incluindo conexões das assinaturas de outros clientes. Quando selecionar esta opção, certifique-se de que as suas permissões de início de sessão e de utilizador limitam o acesso apenas a utilizadores autorizados.

Após o sucesso, 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 mostra o texto da mensagem de erro.

Listar regras de firewall

Use o az postgres flexible-server firewall-rule list comando para listar as regras de firewall do servidor existentes no servidor. Observe que o atributo server name é especificado na opção --name .

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

A saída lista as regras, se houver, no formato JSON (por padrão). Você pode usar a opção --output table** para produzir 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 update comando para atualizar uma regra de 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 endereço 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 o ê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 mostra o texto da mensagem de erro.

Nota

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

Mostrar detalhes da regra de firewall

Use o az postgres flexible-server firewall-rule show comando para mostrar os detalhes da regra de firewall existente no 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 lista os detalhes da regra de firewall que você especificou, no formato JSON (por padrão). Se houver uma falha, a saída mostra o texto da mensagem de erro.

Eliminar uma regra de firewall

Use o az postgres flexible-server firewall-rule delete comando para excluir uma regra de firewall existente do 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 sucesso, não há saída. Em caso de falha, o texto da mensagem de erro é exibido.

Próximos passos