Autorizar com redes autorizadas

Nesta página, você verá como usar as configurações de redes autorizadas para se conectar a instâncias do Cloud SQL que usam endereços IP.

Configurar redes autorizadas

O endereço IP ou o intervalo de endereços do aplicativo cliente precisa ser configurado como authorized networks para as seguintes condições:

  • O aplicativo cliente está se conectando diretamente a uma instância do Cloud SQL no endereço IP público.
  • O aplicativo cliente está se conectando diretamente a uma instância do Cloud SQL no endereço IP particular, e o endereço IP do cliente é um endereço não RFC 1918.

O endereço IP pode ser um único endpoint ou consistir em um intervalo na notação CIDR.

Console

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. No menu de navegação SQL, selecione Conexões.
  4. Clique na guia Rede.
  5. Marque a caixa de seleção IP público.
  6. Clique em adicionar uma rede.
  7. No campo Nome, insira um nome para Nova rede.
  8. No campo Rede*, insira o endereço IPv4 público ou o intervalo de endereços do qual quer permitir conexões.

    Para o intervalo de endereços, use uma notação CIDR válida (por exemplo, 10.10.10.0/24).

  9. Clique em Concluído.
  10. Clique em Salvar.

gcloud

A configuração de redes autorizadas substitui a lista atual de redes autorizadas.

gcloud sql instances patch INSTANCE_ID \
--authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
    

Terraform

Para configurar redes autorizadas, use um recurso do Terraform.

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance-with-authorized-network"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      authorized_networks {
        name            = "Network Name"
        value           = "192.0.2.0/24"
        expiration_time = "3021-11-15T16:19:00.094Z"
      }
    }
  }
}

Aplique as alterações

Para aplicar a configuração do Terraform a um projeto do Google Cloud , siga as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.

    Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.

Preparar o diretório

Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.

  1. No Cloud Shell, crie um diretório e um novo arquivo dentro dele. O nome do arquivo precisa ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o arquivo é chamado de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.

    Copie o exemplo de código no main.tf recém-criado.

    Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Revise a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expectativas:
    terraform plan

    Faça as correções necessárias na configuração.

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra o projeto Google Cloud para conferir os resultados. No console Google Cloud , navegue até seus recursos na interface para verificar se foram criados ou atualizados pelo Terraform.

Excluir as alterações

Para excluir as mudanças, faça o seguinte:

  1. Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes no prompt:

    terraform destroy

REST v1

A configuração de redes autorizadas substitui a lista atual de redes autorizadas.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • network_range_1: um intervalo ou endereço IP autorizado
  • network_range_2: outro intervalo ou endereço IP autorizado

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": "network_range_2"}]
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

A configuração de redes autorizadas substitui a lista atual de redes autorizadas.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • network_range_1: um intervalo ou endereço IP autorizado
  • network_range_2: outro intervalo ou endereço IP autorizado

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "settings":
  {
    "ipConfiguration":
    {
      "authorizedNetworks":
        [{"value": "network_range_1"}, {"value": "network_range_2"}]
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Limitações

Alguns intervalos de endereços IP não podem ser adicionados como redes autorizadas.

Intervalo de endereços Observações
10.0.0.0/8 Intervalo de endereços do RFC 1918. Elas são incluídas automática e implicitamente nas redes autorizadas pelo Cloud SQL
172.16.0.0/12 Intervalo de endereços do RFC 1918. Elas são incluídas automática e implicitamente nas redes autorizadas pelo Cloud SQL
192.168.0.0/16 Intervalo de endereços do RFC 1918. Elas são incluídas automática e implicitamente nas redes autorizadas pelo Cloud SQL

A seguir