Compartilhar via


Gerenciar regras de firewall para Banco de Dados do Azure para MySQL – Servidor Flexível usando a CLI do Azure

O servidor flexível do Banco de Dados do Azure para MySQL dá suporte a dois métodos de conectividade de rede mutuamente exclusivos para se conectar ao servidor flexível. As duas opções são:

  • Acesso público (endereços IP permitidos)
  • Acesso privado (Integração VNet)

Neste artigo, nosso foco será a criação de uma instância do servidor flexível do Banco de Dados do Azure para MySQL com o Acesso privado (endereços IP permitidos) usando a CLI do Azure. Este artigo fornece uma visão geral dos comandos da CLI do Azure que você pode usar para criar, atualizar, excluir, listar e mostrar as regras de firewall depois de criar um servidor. Com Acesso público (endereços IP permitidos), as conexões à instância de servidor flexível do Banco de Dados do Azure para MySQL são restritas somente 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 na conta usando o comando az account set. Use o valor da ID da saída de az login para usá-lo como o 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 uma regra de firewall durante a criação do servidor flexível usando a CLI do Azure

Use o comando az mysql flexible-server --public access para criar a instância do servidor flexível do Banco de Dados do Azure para MySQL com Acesso público (endereços IP permitidos) e configure as regras de firewall durante a criação do servidor. Você pode usar a opção -public-access para fornecer os endereços IP permitidos que podem 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 precisa ser separado por um traço e não deve conter nenhum espaço. Há várias opções para criar uma instância de servidor flexível do Banco de Dados do Azure para MySQL usando a CLI do Azure, 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, opcionalmente, você pode especificar o grupo de recursos nos comandos abaixo.

  • Criar uma instância do servidor flexível Banco de Dados do Azure para MySQL com o acesso público e adicionar o endereço IP do cliente para ter acesso ao servidor.

    az mysql flexible-server create --public-access <my_client_ip>
    
  • Criar uma instância do servidor flexível do Banco de Dados do Azure para MySQL com o acesso público e adicionar o intervalo de endereços IP para ter acesso ao servidor.

    az mysql flexible-server create --public-access <start_ip_address-end_ip_address>
    
  • Criar uma instância do servidor flexível do Banco de Dados do Azure para MySQL com acesso público e permitir que os aplicativos de endereços IP do Azure se conectem ao seu servidor.

    az mysql 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 dos recursos do Azure no Azure a esse servidor, 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 aos usuários autorizados.

  • Criar uma instância do servidor flexível Banco de Dados do Azure para MySQL com o acesso público e permitir todos os endereços IP.

    az mysql flexible-server create --public-access all
    

    Observação

    O comando acima cria uma regra de firewall com o endereço IP inicial = 0.0.0.0, o endereço IP final = 255.255.255.255, e nenhum endereço IP é bloqueado. Nenhum hospedeiro na Internet pode acessar este servidor. É extremamente recomendado usar essa regra apenas temporariamente e somente em servidores de teste que não contenham dados confidenciais.

  • Criar uma instância do servidor flexível Banco de Dados do Azure para MySQL com o acesso público sem nenhum endereço IP.

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

    Observação

    Não recomendamos a criação de um servidor sem nenhuma regra 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 mysql server firewall-ruleé usado na CLI do Azure para criar, excluir, listar, exibir e atualizar funções do firewall.

Comandos:

  • create: criar uma regra de firewall do servidor flexível do Banco de Dados do Azure para MySQL.
  • list: Listar as regras de firewall do servidor flexível do Banco de Dados do Azure para MySQL.
  • update: atualizar uma regra de firewall do servidor flexível do Banco de Dados do Azure para MySQL.
  • show: mostrar os detalhes de uma regra de firewall do servidor flexível do Banco de Dados do Azure para MySQL.
  • delete: excluir uma regra de firewall do servidor flexível do Banco de Dados do Azure para MySQL.

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 mysql 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 o endereço IP como os endereços IP Inicial e Final, como neste exemplo.

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

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

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

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

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

Importante

Esta opção configura o firewall para permitir o acesso público dos serviços e dos recursos do Azure no Azure a esse servidor, 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 sucesso, cada saída de comando de criação listará os detalhes da regra de firewall que você criou no formato JSON (por padrão). Se houver uma falha, o resultado mostrará um texto de mensagem de erro.

Listar regras de firewall

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

az mysql flexible-server firewall-rule list --name mydemoserver

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

az mysql flexible-server firewall-rule list --name mydemoserver --output table

Atualizar uma regra de firewall

Use o az mysql 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 de endereço IP final a serem atualizados.

az mysql flexible-server firewall-rule update --name mydemoserver --rule-name FirewallRule1 --start-ip-address 13.83.152.0 --end-ip-address 13.83.152.1

Após o sucesso, a saída do comando listará os detalhes da regra de firewall atualizada no formato JSON (por padrão). Se houver uma falha, a saída mostrará um texto de mensagem de erro.

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 mysql 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 mysql flexible-server firewall-rule show --name mydemoserver --rule-name FirewallRule1

Após o sucesso, a saída do comando listará os detalhes da regra de firewall especificada no formato JSON (por padrão). Se houver uma falha, a saída mostrará um texto de mensagem de erro.

Excluir uma regra de firewall

Use o az mysql 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 mysql flexible-server firewall-rule delete --name mydemoserver --rule-name FirewallRule1

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