Configurar certificados SSL/TLS, Configurar certificados SSL/TLS, Configurar certificados SSL/TLS, Configurar certificados SSL/TLS

Esta página descreve como aplicar a criptografia SSL/TLS a uma instância para garantir que todas as conexões sejam criptografadas. Você também pode saber mais sobre como o Cloud SQL usa certificados SSL/TLS autogerenciados para se conectar a instâncias do Cloud SQL com segurança.

Visão geral

O Cloud SQL cria um certificado de servidor automaticamente quando você cria sua instância. Recomendamos que você imponha que todas as conexões usem SSL/TLS .

Para validar a identidade do cliente/servidor usando certificados SSL/TLS, você precisa criar um certificado de cliente e baixar os certificados para sua máquina host do cliente PostgreSQL.

Ao aplicar SSL a uma instância, ela não precisa ser reiniciada. No entanto, alterações nos certificados SSL/TLS podem resultar na reinicialização automática da instância e causar tempo de inatividade.

Uma alteração na configuração do modo SSL aplica-se apenas a novas conexões. Se você aplicar o SSL e sua instância tiver conexões não criptografadas, as conexões permanecerão conectadas e não criptografadas. Para fechar todas as conexões não criptografadas e aplicar o SSL em todas as conexões, reinicie sua instância.

Aplicar criptografia SSL/TLS

Você pode usar a configuração do modo SSL para impor a criptografia SSL das seguintes maneiras:

  • Permitir conexões não SSL/não TLS e SSL/TLS. O certificado do cliente não é verificado para conexões SSL/TLS. Este é o padrão.

  • Permitir apenas conexões criptografadas com SSL/TLS. O certificado do cliente não é verificado para conexões SSL.

  • Permitir somente conexões criptografadas com SSL/TLS e com certificados de cliente válidos.

Se você selecionar Permitir conexões não SSL/não TLS e SSL/TLS para sua instância do Cloud SQL, conexões SSL/TLS serão aceitas, bem como conexões não criptografadas e não seguras. Se você não exigir SSL/TLS para todas as conexões, as conexões não criptografadas ainda serão permitidas. Por esse motivo, se você estiver acessando sua instância usando um IP público, recomendamos fortemente que você aplique o SSL para todas as conexões.

Você pode se conectar diretamente às instâncias usando certificados SSL/TLS ou usando o Cloud SQL Auth Proxy ou os Cloud SQL Connectors . Se você se conectar usando o Cloud SQL Auth Proxy ou os Cloud SQL Connectors, as conexões serão criptografadas automaticamente com SSL/TLS. Com o Cloud SQL Auth Proxy e os Cloud SQL Connectors, as identidades do cliente e do servidor também são verificadas automaticamente, independentemente da configuração do modo SSL.

Para habilitar a exigência de SSL/TLS, faça o seguinte:

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. Clique em Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Selecione uma das seguintes opções:
    • Permitir tráfego de rede não criptografado (não recomendado)
    • Permitir apenas conexões SSL. Esta opção permite apenas conexões que usam criptografia SSL/TLS. Certificados não são validados.
    • Exigir certificados de cliente confiáveis. Esta opção permite conexões apenas de clientes que utilizam um certificado de cliente válido e são criptografados por SSL. Se um cliente ou usuário se conectar usando a autenticação de banco de dados do IAM , ele deverá usar o Cloud SQL Auth Proxy ou os Cloud SQL Connectors para aplicar a verificação de identidade do cliente.

gcloud

   gcloud sql instances patch INSTANCE_NAME \
   --ssl-mode=SSL_ENFORCEMENT_MODE
  

Substitua SSL_ENFORCEMENT_MODE por uma das seguintes opções:

  • ALLOW_UNENCRYPTED_AND_ENCRYPTED permite conexões não SSL/não TLS e SSL/TLS. Para conexões SSL, o certificado do cliente não é verificado. Este é o valor padrão.
  • ENCRYPTED_ONLY permite apenas conexões criptografadas com SSL/TLS. O certificado do cliente não é verificado para conexões SSL.
  • TRUSTED_CLIENT_CERTIFICATE_REQUIRED permite apenas conexões criptografadas com SSL/TLS e com certificados de cliente válidos. Se um cliente ou usuário se conectar usando a autenticação de banco de dados do IAM , ele deverá usar o Cloud SQL Auth Proxy ou os Cloud SQL Connectors para aplicar a verificação de identidade do cliente.
  • Para obter mais informações, consulte Configurações do Cloud SQL para PostgreSQL .

Terraform

Para impor a criptografia SSL/TLS, use um recurso do Terraform :

resource "google_sql_database_instance" "postgres_instance" {
  name             = "postgres-instance"
  region           = "asia-northeast1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      # The following SSL enforcement options only allow connections encrypted with SSL/TLS and with
      # valid client certificates. Please check the API reference for other SSL enforcement options:
      # https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/instances#ipconfiguration
      ssl_mode = "TRUSTED_CLIENT_CERTIFICATE_REQUIRED"
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Aplicar as alterações

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

Preparar o Cloud Shell

  1. Inicie o Cloud Shell .
  2. Defina o padrão Google Cloud projeto onde você deseja aplicar suas configurações do Terraform.

    Você só precisa executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    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 deve ter seu 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 deve ter a extensão .tf — por exemplo, main.tf Neste tutorial, o arquivo será chamado de main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver seguindo um tutorial, você pode copiar o código de exemplo em cada seção ou etapa.

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

    Opcionalmente, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução completa.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve suas 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

Aplicar as alterações

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

    Faça correções na configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e digitando yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Aplicação concluída!".

  3. Abra seu Google Cloud projeto para visualizar os resultados. No Google Cloud console, navegue até seus recursos na interface do usuário para garantir que o Terraform os criou ou atualizou.

Excluir as alterações

Para excluir suas alterações, faça o seguinte:

  1. Para desabilitar a proteção contra exclusão, no seu arquivo de configuração do Terraform defina o argumento deletion_protection como false .
    deletion_protection =  "false"
  2. Aplique a configuração atualizada do Terraform executando o seguinte comando e digitando yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com sua configuração do Terraform executando o seguinte comando e digitando yes no prompt:

    terraform destroy

REST v1

  1. Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

    • PROJECT_ID : O ID do projeto
    • SSL_ENFORCEMENT_MODE : Use uma das seguintes opções:
      • ALLOW_UNENCRYPTED_AND_ENCRYPTED : permite conexões não SSL/não TLS e SSL/TLS. Para conexões SSL, o certificado do cliente não é verificado. Este é o valor padrão.
      • ENCRYPTED_ONLY : permite somente conexões criptografadas com SSL/TLS.
      • TRUSTED_CLIENT_CERTIFICATE_REQUIRED : permite apenas conexões criptografadas com SSL/TLS e com certificados de cliente válidos. Se um cliente ou usuário se conectar usando a autenticação de banco de dados do IAM , ele deverá usar o Cloud SQL Auth Proxy ou os Cloud SQL Connectors para aplicar a verificação de identidade do cliente.
    • INSTANCE_ID : O ID da instância

    Método HTTP e URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

    Corpo JSON da solicitação:

    
    {
      "settings": {
        "ipConfiguration": {"sslMode": "SSL_ENFORCEMENT_MODE"}
      }
    }
    

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

    Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

  1. Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

    • PROJECT_ID : O ID do projeto
    • SSL_ENFORCEMENT_MODE : Use uma das seguintes opções:
      • ALLOW_UNENCRYPTED_AND_ENCRYPTED : permite conexões não SSL/não TLS e SSL/TLS. Para conexões SSL, o certificado do cliente não é verificado. Este é o valor padrão.
      • ENCRYPTED_ONLY : permite somente conexões criptografadas com SSL/TLS.
      • TRUSTED_CLIENT_CERTIFICATE_REQUIRED : permite apenas conexões criptografadas com SSL/TLS e com certificados de cliente válidos. Se um cliente ou usuário se conectar usando a autenticação de banco de dados do IAM , ele deverá usar o Cloud SQL Auth Proxy ou os Cloud SQL Connectors para aplicar a verificação de identidade do cliente.
    • INSTANCE_ID : O ID da instância

    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": {"sslMode": "SSL_ENFORCEMENT_MODE"}
      }
    }
    

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

    Você deve receber uma resposta JSON semelhante à seguinte:

Certificados de servidor

O Cloud SQL cria um certificado de servidor automaticamente quando você cria sua instância. Desde que o certificado de servidor seja válido, você não precisa gerenciá-lo ativamente. O Cloud SQL permite selecionar entre três hierarquias diferentes de autoridade de certificação (CA) . A hierarquia de CA selecionada se torna o modo de CA de servidor da instância. Se você estiver usando CA por instância como o modo de CA de servidor para sua instância, os certificados de servidor terão uma data de expiração de 10 anos. Se você estiver usando CA compartilhada ou CA gerenciada pelo cliente como o modo de CA de servidor da sua instância, o certificado de servidor terá uma data de expiração de 1 ano * . Após a data de expiração, o certificado de servidor não será mais válido e os clientes não poderão mais estabelecer uma conexão segura com sua instância usando esse certificado. Se um cliente estiver configurado para verificar a CA ou verificar o nome do host no certificado de servidor, as conexões desse cliente com instâncias do Cloud SQL com certificados de servidor expirados falharão. Para evitar a interrupção das conexões do cliente, gire o certificado de servidor antes que ele expire. Você será notificado periodicamente de que o certificado de servidor está próximo da expiração. As notificações são enviadas com o seguinte número de dias antes da data de expiração: 90, 30, 10, 2 e 1.

* Para CA gerenciada pelo cliente, a data de expiração do seu certificado de servidor pode ser menor que 1 ano se você selecionar uma data de expiração mais curta para o período de validade da sua CA.

Listar e criar certificados de servidor

Para visualizar os detalhes dos certificados do seu servidor no Google Cloud console, vá para a página Conexões e clique na aba Segurança .

Na tabela de certificados, você pode ver os seguintes detalhes:

  • Status do certificado : próximo, ativo ou anterior
    • Próximo : O certificado está disponível para uso, mas não está ativo. Para ativá-lo, use o procedimento de rotação.
    • Ativo : O certificado está em uso.
    • Anterior : O certificado não está mais em uso. Para ativá-lo, use o procedimento de reversão.
  • Criado : data e hora em que o certificado foi criado
  • Expira : a data e a hora em que o certificado expira

Antes que o certificado ativo expire, você pode criar um novo certificado manualmente.

Console

Para instâncias que usam certificados de servidor autoassinados (CA por instância) :

  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. Clique em Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Vá para a seção Gerenciar certificados de CA do servidor .
  6. Clique para expandir Gerenciar certificados .
  7. Clique em Criar novo certificado CA.

O novo certificado da CA do servidor aparece no slot "Próximos" . Se você quiser alternar para o novo certificado da CA do servidor imediatamente, prossiga com a rotação do certificado da CA do servidor atualizando seus clientes e concluindo a rotação.

Para instâncias que usam certificados de servidor emitidos por uma CA compartilhada :

  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. Clique em Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Vá para a seção Gerenciar certificados do servidor .
  6. Clique para expandir Gerenciar certificados .
  7. Clique em Criar certificado de servidor .

O novo certificado de servidor aparece no slot "Próximos" . Se você quiser usar o novo certificado de servidor imediatamente, prossiga com a rotação do certificado de servidor atualizando seus clientes e concluindo a rotação.

gcloud

Para instâncias que usam certificados de servidor autoassinados (CA por instância) :

  1. Para obter informações sobre o certificado do servidor, use o comando sql ssl server-ca-certs list :
    gcloud sql ssl server-ca-certs list \
    --instance=INSTANCE_NAME
  2. Para criar um certificado de servidor, use o comando sql ssl server-ca-certs create :
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
  3. Baixe as informações do certificado para um arquivo PEM local:
    gcloud sql ssl server-ca-certs list \
    --format="value(cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/FILE_NAME.pem
  4. Atualize todos os seus clientes para usar as novas informações copiando o arquivo baixado para as máquinas host do cliente, substituindo os arquivos server-ca.pem existentes.

Para instâncias que usam certificados de servidor emitidos por uma CA compartilhada :

  1. Para obter informações sobre o certificado do servidor, use o comando sql ssl server-certs list :
    gcloud sql ssl server-certs list \
       --instance=INSTANCE_NAME
  2. Para criar um certificado de servidor, use o comando sql ssl server-certs create :
    gcloud sql ssl server-certs create \
       --instance=INSTANCE_NAME
  3. Baixe as informações do certificado para um arquivo PEM local:
    gcloud sql ssl server-certs list \
       --format="value(ca_cert.cert)" \
       --instance=INSTANCE_NAME > \
       FILE_PATH/FILE_NAME.pem
  4. Atualize todos os seus clientes para usar as novas informações copiando o arquivo baixado para as máquinas host do cliente, substituindo os arquivos server-ca.pem existentes.

Terraform

Para fornecer informações de certificado de servidor como uma saída, use uma fonte de dados do Terraform :

  1. Adicione o seguinte ao seu arquivo de configuração do Terraform:
       data "google_sql_ca_certs" "ca_certs" {
         instance = google_sql_database_instance.default.name
       }
    
       locals {
         furthest_expiration_time = reverse(sort([for k, v in data.google_sql_ca_certs.ca_certs.certs : v.expiration_time]))[0]
         latest_ca_cert           = [for v in data.google_sql_ca_certs.ca_certs.certs : v.cert if v.expiration_time == local.furthest_expiration_time]
       }
    
       output "db_latest_ca_cert" {
         description = "Latest CA certificate used by the primary database server"
         value       = local.latest_ca_cert
         sensitive   = true
       }
       
  2. Para criar o arquivo server-ca.pem , execute o seguinte comando:
       terraform output db_latest_ca_cert > server-ca.pem
       

Certificados de cliente

Criar um novo certificado de cliente

Você pode criar até 10 certificados de cliente para cada instância. Para criar certificados de cliente, você precisa ter a função de Cloud SQL Admin .

Aqui estão algumas coisas importantes que você precisa saber sobre certificados de cliente:

  • Se você perder a chave privada de um certificado, deverá criar uma nova; a chave privada não pode ser recuperada.
  • Por padrão, o certificado do cliente tem uma data de validade de 10 anos.
  • Você não é notificado quando os certificados do cliente estão próximos de expirar.
  • Sua instância do Cloud SQL deve estar em execução para criar um certificado SSL.

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. Clique em Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Clique em Criar certificado de cliente .
  6. Na caixa de diálogo Criar um certificado de cliente , adicione um nome exclusivo.
  7. Clique em Criar .
  8. Na primeira seção da caixa de diálogo Novo certificado SSL criado , clique em Baixar client-key.pem para baixar a chave privada para um arquivo chamado client-key.pem .
  9. Na segunda seção, clique em Baixar client-cert.pem para baixar o certificado do cliente para um arquivo chamado client-cert.pem .
  10. Na terceira seção, clique em Baixar server-ca.pem para baixar o certificado do servidor para um arquivo chamado server-ca.pem .
  11. Clique em Fechar .

gcloud

  1. Crie um certificado de cliente usando o comando ssl client-certs create :

    gcloud sql ssl client-certs create CERT_NAME client-key.pem \
    --instance=INSTANCE_NAME
  2. Recupere a chave pública do certificado que você acabou de criar e copie-a para o arquivo client-cert.pem com o comando ssl client-certs describe :

    gcloud sql ssl client-certs describe CERT_NAME \
    --instance=INSTANCE_NAME \
    --format="value(cert)" > client-cert.pem
  3. Copie o certificado do servidor para o arquivo server-ca.pem usando o comando instances describe :

    gcloud sql instances describe INSTANCE_NAME \
    --format="value(serverCaCert.cert)" > server-ca.pem

Terraform

Para criar um certificado de cliente, use um recurso do Terraform :

resource "google_sql_ssl_cert" "postgres_client_cert" {
  common_name = "postgres_common_name"
  instance    = google_sql_database_instance.postgres_instance.name
}

REST v1

  1. Crie um certificado SSL/TLS, dando a ele um nome exclusivo para esta instância:

    Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

    • project-id : O ID do projeto
    • instance-id : O ID da instância
    • client-cert-name : O nome do certificado do cliente

    Método HTTP e URL:

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

    Corpo JSON da solicitação:

    {
      "commonName" : "client-cert-name"
    }
    

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Copie todo o conteúdo do certificado entre aspas (mas não as aspas em si) da resposta para os arquivos locais da seguinte maneira:
    1. Copie serverCaCert.cert para server-ca.pem .
    2. Copie clientCert.cert para client-cert.pem .
    3. Copie certPrivateKey para client-key.pem .

REST v1beta4

  1. Crie um certificado SSL/TLS, dando a ele um nome exclusivo para esta instância:

    Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

    • project-id : O ID do projeto
    • instance-id : O ID da instância
    • client-cert-name : O nome do certificado do cliente

    Método HTTP e URL:

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

    Corpo JSON da solicitação:

    {
      "commonName" : "client-cert-name"
    }
    

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Copie todo o conteúdo do certificado entre aspas (mas não as aspas em si) da resposta para os arquivos locais da seguinte maneira:
    1. Copie serverCaCert.cert para server-ca.pem .
    2. Copie clientCert.cert para client-cert.pem .
    3. Copie certPrivateKey para client-key.pem .

Neste ponto, você tem:

  • Um certificado de servidor salvo como server-ca.pem .
  • Um certificado de chave pública do cliente salvo como client-cert.pem .
  • Uma chave privada do cliente salva como client-key.pem .
Dependendo da ferramenta usada para se conectar, esses três itens são especificados de maneiras diferentes. Por exemplo, ao conectar usando o cliente de linha de comando psql, esses três arquivos são os valores para os parâmetros sslrootcert , sslcert e sslkey na string de conexão psql. Para um exemplo de conexão usando o cliente psql e SSL/TLS, consulte Conectando com o cliente psql .

Verificação de identidade do servidor

A verificação de identidade do servidor depende da configuração da hierarquia da autoridade de certificação (CA) do servidor da sua instância do Cloud SQL.

Para instâncias que usam uma CA por instância, a verificação da CA também verifica a identidade do servidor, já que cada instância possui uma CA exclusiva. Para instâncias que usam uma CA compartilhada, a verificação do nome do host, juntamente com a verificação da CA, é necessária para a verificação da identidade do servidor, já que as CAs do servidor são compartilhadas entre as instâncias.

Se você tiver uma CA por instância, poderá executar a verificação de identidade do servidor baseada em nome DNS apenas para instâncias configuradas com o Private Service Connect. Se você tiver uma CA compartilhada, poderá executar a verificação de identidade do servidor baseada em nome DNS para todos os tipos de instâncias, ou seja, Private Service Connect , Private Service Access e instâncias com IP público.

Se estiver usando uma CA gerenciada pelo cliente, você poderá verificar a cadeia de confiança da CA e executar a verificação de identidade do servidor baseada em nome DNS para qualquer tipo de instância que use uma CA gerenciada pelo cliente para seu serverCAmode .

Ao selecionar a opção de CA gerenciada pelo cliente para sua instância, você pode inserir nomes DNS personalizados no campo SAN do certificado do servidor. Para obter mais informações, consulte Editar um campo SAN personalizado .

Você pode visualizar qual hierarquia de CA está configurada para uma instância do Cloud SQL visualizando os detalhes da instância. Para obter mais informações, consulte Exibir informações da instância .

Habilitar verificação de identidade do servidor

Se você selecionar CA compartilhada como o modo de CA do servidor da sua instância do Cloud SQL ou se configurar nomes DNS personalizados usando valores SAN personalizados , recomendamos que você também habilite a verificação de identidade do servidor.

Instâncias que usam CA compartilhada como modo de CA do servidor contêm o nome DNS da instância no campo Nome Alternativo da Entidade (SAN) do certificado do servidor. Você pode obter esse nome DNS usando a API de pesquisa de instância e a resposta como um nome de host para verificação de identidade do servidor. Você precisa configurar a resolução DNS para o nome DNS.

Para habilitar a verificação de identidade do servidor para uma instância que usa uma CA compartilhada, conclua as seguintes etapas:

  1. Recupere o nome DNS.

    1. Para visualizar informações resumidas sobre uma instância do Cloud SQL, incluindo o nome DNS da instância, use o comando gcloud sql instances describe :

      gcloud sql instances describe INSTANCE_NAME \
        --project=PROJECT_ID

      Faça as seguintes substituições:

      • INSTANCE_NAME : o nome da instância do Cloud SQL
      • PROJECT_ID : o ID ou número do projeto do Google Cloud projeto que contém a instância
    2. Na resposta, procure o campo dnsNames: Este campo pode retornar vários nomes DNS, que têm os seguintes formatos:

      Configuração de rede Formato de nome DNS Nível de nome
      Conexão de serviço privado ou endereço IP público INSTANCE_UID . PROJECT_DNS_LABEL . REGION_NAME .sql.goog.

      Exemplo :
      1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.
      Exemplo
      Acesso a serviços privados INSTANCE_UID . PROJECT_DNS_LABEL . REGION_NAME .sql-psa.goog.

      Exemplo :
      1a23b4cd5e67.1a2b345c6d27.us-central1.sql-psa.goog.
      Exemplo
  2. Crie o registro DNS em uma zona DNS . Se você estiver se conectando de forma privada, crie o registro DNS em uma zona DNS privada na rede de Nuvem Privada Virtual (VPC) correspondente.

  3. Ao se conectar à instância do Cloud SQL para PostgreSQL, configure o nome DNS como nome do host. Em seguida, ative a verificação de identidade do servidor no seu cliente.

    Por exemplo, ao usar o cliente psql , especifique o sinalizador sslmode=verify-full . Outros drivers de cliente PostgreSQL têm sinalizadores de configuração semelhantes.

O que vem a seguir