Como gerenciar certificados SSL/TLS

Nesta página, você verá como gerenciar os certificados do cliente e servidor.

Como gerenciar certificados do cliente

Como recuperar um certificado do cliente

É possível recuperar a parte da chave pública de um certificado do cliente. No entanto, não é possível recuperar a chave privada. Se você perdeu a chave privada, precisa criar um novo certificado.

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique no nome da instância para abrir a página Detalhes da instância.
  3. Clique no link Conexões no painel de navegação à esquerda.
  4. Role para baixo até a seção Configurar certificados do cliente SSL.
  5. Clique no nome de um certificado. A caixa de diálogo Certificado de cliente SSL é aberta e mostra o certificado do cliente (client-cert.pem).

gcloud

Recupere a chave pública do certificado do cliente com o comando ssl client-certs describe:

gcloud sql ssl client-certs describe [CERT_NAME] --instance=[INSTANCE_NAME] --format="value(cert)" > client-cert.pem

REST

  1. Liste os certificados na instância para receber a impressão digital do certificado que você quer recuperar:

    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

    Método HTTP e URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

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

    Você receberá uma resposta JSON semelhante a esta:

    Registre o campo sha1Fingerprint do certificado que você quer recuperar. Não inclua as aspas.

  2. Recupere o certificado:

    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
    • sha1FingerPrint: o sha1FingerPrint do certificado

    Método HTTP e URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

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

    Você receberá uma resposta JSON semelhante a esta:

  3. Copie todos os dados de certificado entre aspas para um arquivo. Por exemplo, client-cert.pem. Não copie as aspas.

Exclusão de certificado do cliente

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique no nome da instância para abrir a página Detalhes da instância.
  3. Clique no link Conexões no painel de navegação à esquerda.
  4. Role para baixo até a seção Configurar certificados do cliente SSL.
  5. Localize o certificado a ser excluído e clique em Excluir..
  6. Na caixa de diálogo Excluir certificado do cliente, clique em OK.

gcloud

Exclua o certificado do cliente usando o comando ssl client-certs delete:

gcloud sql ssl client-certs delete [CERT_NAME] --instance=[INSTANCE_NAME]

REST

  1. Liste os certificados na instância para receber a impressão digital do certificado a ser excluído:

    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

    Método HTTP e URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

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

    Você receberá uma resposta JSON semelhante a esta:

    Registre o campo sha1Fingerprint do certificado que você quer excluir. Não inclua as aspas.

  2. Exclua o certificado:

    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
    • sha1FingerPrint: o sha1FingerPrint do certificado

    Método HTTP e URL:

    DELETE https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts/sha1FingerPrint

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

    Você receberá uma resposta JSON semelhante a esta:

Como gerenciar certificados do servidor

Como alternar os certificados do servidor

Se você tiver recebido um aviso sobre seus certificados que estão para expirar ou se tiver iniciado uma rotação, siga as etapas a seguir para concluí-la:

  1. Faça o download das informações do novo certificado do servidor.
  2. Atualize seus clientes para usarem as novas informações do certificado do servidor.
  3. Conclua a rotação. Ela move o certificado ativo atual para o slot "anterior" e atualiza o recém-adicionado para que seja o certificado ativo.

Console

Faça o download das informações do novo certificado do servidor:

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.
    Acessar a página "Instâncias" do Cloud SQL
  2. Clique no nome da instância para abrir a página Detalhes da instância.
  3. Clique no link Conexões no painel de navegação à esquerda.
  4. Role para baixo até a seção Configurar certificados do servidor SSL.
  5. Clique em Criar novo certificado.
  6. Role para baixo até a seção Download de certificados do servidor SSL.
  7. Clique em Fazer download.

As informações do certificado do servidor, codificadas como um arquivo PEM, são exibidas e podem ser transferidas por download para o ambiente local:

  • Atualize todos os clientes do PostgreSQL para usar as novas informações copiando o arquivo transferido para as máquinas host do cliente, substituindo o arquivo server-ca.pem atual.

Depois de atualizar os clientes, conclua a rotação:

  1. Volte para a seção Configurar certificados do servidor SSL.
  2. Clique em Girar certificado.
  3. Confirme se os clientes estão se conectando corretamente.
  4. Se algum cliente não conseguir se conectar usando o certificado recém-alternado, clique em Reverter certificado para reverter à configuração anterior.

gcloud

  1. Faça o download das informações do certificado para um arquivo PEM local:
    gcloud beta sql ssl server-ca-certs list --format="value(cert)" \
    --instance=[INSTANCE_NAME] > [FILE_PATH]/[FILE_NAME].pem
  2. Atualize todos os clientes para usar as novas informações. Basta copiar o arquivo transferido por download para as máquinas host do cliente, substituindo os arquivos "server-ca.pem" atuais.
  3. Depois de atualizar os clientes, conclua a rotação:
            gcloud beta sql ssl server-ca-certs rotate --instance=[INSTANCE_NAME]
          
  4. Confirme se os clientes estão se conectando corretamente.

    Se algum cliente não estiver se conectando com o certificado recém-alternado, será possível reverter à configuração anterior.

REST

  1. Faça o download de seus certificados do servidor:

    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

    Método HTTP e URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

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

    Você receberá uma resposta JSON semelhante a esta:

  2. Complete a rotação:

    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

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

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

    Você receberá uma resposta JSON semelhante a esta:

Como reverter uma operação de rotação de certificado

Depois da conclusão da rotação, é necessário que todos os seus clientes usem o novo certificado para se conectar à sua instância do Cloud SQL. Se os clientes não forem atualizados de maneira correta para usar as novas informações de certificado, eles não poderão se conectar à sua instância usando SSL/TLS. Se isso acontecer, você poderá fazer rollback para a configuração anterior.

Uma operação de rollback move o certificado ativo no momento para o "próximo" slot, substituindo qualquer certificado marcado como "próximo". O certificado "anterior" se torna o ativo, retornando sua configuração ao estado em que estava antes de você concluir a rotação.

Para fazer rollback para a configuração do certificado anterior:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.
    Acessar a página "Instâncias" do Cloud SQL
  2. Clique no nome da instância para abrir a página Detalhes da instância.
  3. Clique no link Conexões no painel de navegação à esquerda.
  4. Role para baixo até a seção Configurar certificados do servidor SSL.
  5. Clique em Girar certificado. A ação demora alguns segundos para ser concluída.
  6. Clique em Reverter certificado.

gcloud

gcloud beta sql ssl server-ca-certs rollback --instance=[INSTANCE_NAME]
   

REST

  1. Faça o download de seus certificados do servidor:

    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

    Método HTTP e URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

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

    Você receberá uma resposta JSON semelhante a esta:

  2. Copie o campo sha1Fingerprint da versão que você quer reverter.

    Procure a versão com um valor createTime imediatamente anterior à versão com sha1Fingerprint mostrado como activeVersion.

  3. Reverta a rotação:

    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

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Corpo JSON da solicitação:

    {
      "rotateServerCaContext": {"nextVersion": "sha1Fingerprint"}
    }
    

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

    Você receberá uma resposta JSON semelhante a esta:

Como iniciar uma rotação

Você não precisa esperar o e-mail do Cloud SQL para iniciar uma rotação. Você pode fazer isso a qualquer momento. Ao iniciar uma rotação, um novo certificado é criado e colocado no "próximo" slot. Caso esse certificado já esteja no "próximo" slot, ele será excluído. Pode haver somente um "próximo" certificado.

Para iniciar uma rotação:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.
    Acessar a página "Instâncias" do Cloud SQL
  2. Clique no nome da instância para abrir a página Detalhes da instância.
  3. Clique no link Conexões no painel de navegação à esquerda.
  4. Role para baixo até a seção Configurar certificados do servidor SSL.
  5. Clique em Criar novo certificado.
  6. Conclua a alternância conforme descrito em Como alternar os certificados do servidor.

gcloud

  1. Inicie a rotação:
         gcloud beta sql ssl server-ca-certs create --instance=[INSTANCE_NAME]
         
  2. Conclua a alternância conforme descrito em Como alternar os certificados do servidor.

REST

  1. 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

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

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

    Você receberá uma resposta JSON semelhante a esta:

  2. Conclua a alternância conforme descrito em Como alternar os certificados do servidor.

Como conseguir informações sobre um certificado do servidor

Você pode receber informações sobre o certificado do servidor, como a data de validade ou o nível de criptografia que ele oferece.

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique no nome da instância para abrir a página Detalhes da instância.
  3. Clique no link Conexões no painel de navegação à esquerda.
  4. Role para baixo até a seção Configurar certificados do servidor SSL.

    Veja a data de validade do certificado do servidor na tabela.

    Para ver o tipo de certificado, use o comando gcloud beta sql ssl server-ca-certs list --instance=[INSTANCE_NAME].

gcloud

gcloud beta sql ssl server-ca-certs list --instance=[INSTANCE_NAME]

REST

Você pode ver detalhes do certificado de servidor ao descrever a instância:

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

Método HTTP e URL:

GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=serverCaCert

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

Você receberá uma resposta JSON semelhante a esta:

Como redefinir a configuração SSL/TLS

É possível redefinir completamente a configuração SSL/TLS.

gcloud

  1. Atualize o certificado:

    gcloud sql instances reset-ssl-config [INSTANCE_NAME]
    
  2. Crie novos certificados do cliente.

REST

  1. Atualize o certificado:

    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

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/resetSslConfig

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

    Você receberá uma resposta JSON semelhante a esta:

  2. Crie novos certificados do cliente.

A seguir