Gerenciar certificados SSL/TLS

Nesta página, descrevemos como gerenciar certificados de CA do cliente e do servidor.

Gerenciar certificados do cliente

Siga estes procedimentos para gerenciar certificados do cliente no Cloud SQL.

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. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Selecione a guia Segurança.
  5. Em Gerenciar certificados do cliente, clique no nome de um certificado.
  6. A página Certificado do cliente SSL é aberta e mostra o certificado do cliente (client-cert.pem) com um link para fazer o download do certificado.

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 v1

  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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/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, faça as seguintes substituições:

    • 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://sqladmin.googleapis.com/v1/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.

REST v1beta4

  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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.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, faça as seguintes substituições:

    • 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://sqladmin.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.

Excluir um certificado do cliente

Quando você exclui um certificado do cliente, o servidor do banco de dados é atualizado e não precisa ser reiniciado.

Console

  1. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Selecione a guia Segurança.
  5. Em Gerenciar certificados do cliente, encontre o certificado que você quer excluir e clique em Excluir..
  6. No painel Excluir certificado do cliente, clique em Ok.

gcloud

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

gcloud sql ssl client-certs delete CERT_NAME \
--instance=INSTANCE_NAME

REST v1

  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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/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, faça as seguintes substituições:

    • 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://sqladmin.googleapis.com/v1/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:

REST v1beta4

  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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.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, faça as seguintes substituições:

    • 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://sqladmin.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:

Gerenciar certificados de AC do servidor (por AC de instância)

Esta seção descreve como gerenciar certificados de CA do servidor criados internamente pelo Cloud SQL. Esse é o modo de CA do servidor padrão no Cloud SQL. Nessa hierarquia de autoridades certificadoras, o Cloud SQL cria uma AC do servidor para cada instância.

Alternar certificados de CA do servidor

Se você recebeu um aviso sobre seus certificados que estão para expirar ou se quiser iniciar uma rotação, siga estas etapas para concluí-la. Antes de iniciar a rotação, você precisa ter uma nova AC do servidor na instância. Se uma nova AC do servidor já tiver sido criada, pule a primeira etapa do procedimento a seguir.

  1. Crie uma nova AC do servidor.
  2. Faça o download das informações do novo certificado de CA do servidor.
  3. Atualize seus clientes para usarem as informações do novo certificado de CA do servidor.
  4. Conclua a rotação. Ela move o certificado ativo 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 de CA do servidor:

  1. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Selecione a guia Segurança.
  5. Clique para expandir a opção Gerenciar certificados.
  6. Selecione Alternar certificado de CA.

    Se não houver certificados qualificados, a opção de rotação não estará disponível.

  7. Clique em Fazer o download dos certificados.

As informações do certificado de CA do servidor, codificadas como um arquivo PEM, são transferidas por download ao ambiente local:

  • Atualize todos os clientes do MySQL para usar as novas informações. Basta copiar 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 guia Segurança.
  2. Clique para expandir a opção Gerenciar certificados.
  3. Selecione Alternar certificado de CA.
  4. Confirme se os clientes estão se conectando corretamente.

    Se algum cliente não conseguir se conectar usando o certificado recém-alternado, selecione Reverter certificado de CA para reverter para a configuração anterior.

gcloud

  1. Crie um certificado de CA do servidor:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. Faça o download das 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
  3. 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.
  4. Depois de atualizar os clientes, conclua a rotação:
    gcloud sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Confirme se os clientes estão se conectando corretamente.

    Se algum cliente não conseguir se conectar com o certificado recém- alternado, reverta para a configuração anterior.

REST v1

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

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

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/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:

REST v1beta4

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

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

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.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:

Reverter uma operação de rotação de certificado

Depois da rotação, todos os clientes devem usar o novo certificado para se conectar à instância do Cloud SQL. Se os clientes não forem atualizados de modo correto para usar as informações do novo certificado, eles não poderão se conectar à instância usando SSL/TLS. Se isso acontecer, reverta para a configuração anterior.

Uma operação de reversão move o certificado ativo para o slot "próximo", substituindo qualquer certificado marcado como "próximo". O certificado "anterior" se torna o ativo, retornando sua configuração ao estado em que estava antes da rotação.

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

Console

  1. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Selecione a guia Segurança.
  5. Clique para expandir a opção Gerenciar certificados.
  6. Selecione Reverter certificado de CA.

    Se não houver certificados qualificados, a opção de reversão não estará disponível. Caso contrário, a ação de reversão será concluída após alguns segundos.

gcloud

gcloud sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
   

REST v1

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

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

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/v1/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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/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:

REST v1beta4

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

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

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    GET https://sqladmin.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, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.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:

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 slot "próximo". Se um certificado já estiver presente no slot "próximo" no momento da solicitação, ele será excluído. Só pode haver um certificado "próximo".

Para iniciar uma rotação:

Console

  1. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Selecione a guia Segurança.
  5. Clique em Criar certificado de CA.
  6. Clique para expandir a opção Gerenciar certificados.
  7. Selecione Alternar certificado de CA.

    Se não houver certificados qualificados, a opção de rotação não estará disponível.

  8. Conclua a rotação conforme descrito em Alternar certificados de AC do servidor.

gcloud

  1. Inicie a rotação:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Conclua a rotação conforme descrito em Alternar certificados de AC do servidor.

REST v1

  1. Antes de usar os dados da solicitação, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/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 rotação conforme descrito em Alternar certificados de AC do servidor.

REST v1beta4

  1. Antes de usar os dados da solicitação, faça as seguintes substituições:

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.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 rotação conforme descrito em Alternar certificados de AC do servidor.

Receber informações sobre o certificado de CA de um servidor

É possível receber informações sobre o certificado de CA do servidor, como a data de validade ou o nível de criptografia oferecido.

Console

  1. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Selecione a guia Segurança.

    Em Gerenciar certificados de CA do servidor, a data de validade do certificado de CA do servidor aparece na tabela.

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

gcloud

gcloud sql ssl server-ca-certs list \
--instance=INSTANCE_NAME

REST v1

Ao descrever a instância, é possível conferir detalhes sobre o certificado de CA do servidor:

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

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1/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:

REST v1beta4

Ao descrever a instância, é possível conferir detalhes sobre o certificado de AC do servidor:

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

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

GET https://sqladmin.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:

Conferir o conteúdo dos certificados de AC

É possível usar openssl storeutl para conferir o conteúdo dos certificados de AC.

Quando você executa o comando beta sql ssl server-ca-certs list, é possível receber vários certificados de AC de operações anteriores relacionadas à rotação.

gcloud

  1. Execute este comando:
    gcloud beta sql ssl server-ca-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Substitua INSTANCE_NAME pelo nome da instância.

  2. Use openssl para examinar o conteúdo dos certificados de AC.
  3. openssl storeutl -noout -text temp_cert.pem
       

Conferir o conteúdo de um certificado do servidor

Você pode usar openssl s_client para conferir o conteúdo dos certificados do servidor.

gcloud

Para conferir o conteúdo do certificado do servidor, execute o seguinte comando:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Substitua INSTANCE_IP_ADDRESS pelo endereço IP da instância.

Gerenciar certificados do servidor (CA compartilhada)

Esta seção descreve como gerenciar certificados do servidor em instâncias que usam ACs compartilhadas. Você pode ativar o uso de ACs compartilhadas como o modo de AC do servidor para sua instância especificando GOOGLE_MANAGED_CAS_CA para a configuração serverCaMode (API Cloud SQL Admin) ou a flag --server-ca-mode (gcloud CLI) ao criar a instância.

Alternar certificados do servidor

Se você recebeu um aviso sobre seus certificados que estão para expirar ou se quiser iniciar uma rotação, siga as etapas abaixo para concluir a rotação. Antes de iniciar a rotação, é necessário criar um novo certificado do servidor para a próxima rotação. Se já houver um novo certificado de servidor criado para a próxima rotação, pule a primeira etapa do procedimento a seguir.

Para fazer a rotação do certificado do servidor na sua instância, siga estas etapas:

  1. Se você precisar de um novo certificado do servidor, crie um.

  2. Se os clientes já confiam na AC raiz, essa etapa é opcional. No entanto, se você precisar atualizar seus clientes com informações de CA do servidor, faça o seguinte:

    1. Faça o download das informações mais recentes da CA do servidor.
    2. Atualize seus clientes para usar as informações mais recentes da AC do servidor.
  3. Conclua a rotação movendo o certificado ativo para o slot anterior e atualizando o novo certificado para que seja o ativo.

Console

Não é possível usar o console do Google Cloud para girar certificados do servidor em instâncias que usam o serviço de AC durante a pré-visualização. Use o comando gcloud beta sql ssl server-certs rotate ou os comandos da API Cloud SQL Admin.

gcloud

  1. Para criar um certificado do servidor, use o seguinte comando:
    gcloud beta sql ssl server-certs create \
    --instance=INSTANCE
  2. Substitua INSTANCE pelo nome da instância.
  3. Verifique se você está usando o pacote de AC mais recente. Se você não estiver usando o pacote de AC mais recente, execute o comando abaixo para fazer o download das informações de AC do servidor mais recentes para a instância em um arquivo PEM local:
    gcloud beta sql ssl server-certs list \
    --format="value(ca_cert.cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/server-ca.pem

    Ou faça o download dos pacotes de CA na tabela de pacotes de certificados de CA raiz e regional nesta página.

    Em seguida, atualize todos os clientes para usar as novas informações da AC do servidor, copiando o arquivo transferido para as máquinas host do cliente, substituindo os arquivos server-ca.pem atuais.

  4. Depois de atualizar todos os clientes (se for necessário), conclua a rotação:
    gcloud beta sql ssl server-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Confirme se os clientes estão se conectando corretamente.

    Se algum cliente não conseguir se conectar usando o certificado do servidor recém-alterado, reverter para a configuração anterior.

REST v1

  1. Crie um certificado 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:

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

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

    Você receberá uma resposta JSON semelhante a esta:

  2. Se você precisar fazer o download das informações do certificado de CA do servidor, use o comando a seguir.

    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://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

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

    Você receberá uma resposta JSON semelhante a esta:

  3. Conclua 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

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

    Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

  1. Crie um certificado 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:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/addServerCertificate

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

    Você receberá uma resposta JSON semelhante a esta:

  2. Se você precisar fazer o download das informações do certificado de CA do servidor, use o comando a seguir.

    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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

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

    Você receberá uma resposta JSON semelhante a esta:

  3. Conclua 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

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

    Você receberá uma resposta JSON semelhante a esta:

Reverter uma rotação de certificado

Depois de concluir a rotação do certificado do servidor, todos os clientes precisam usar o novo certificado para se conectar à instância do Cloud SQL. Se os clientes não forem atualizados de modo correto para usar as informações do novo certificado, eles não poderão se conectar à instância usando SSL/TLS. Se isso acontecer, reverta para a configuração anterior.

Uma operação de reversão move o certificado ativo para o slot "próximo", que substitui qualquer certificado "próximo". O certificado "anterior" se torna o ativo e retorna a configuração ao estado anterior antes de você concluir a rotação.

Console

Não é possível usar o console do Google Cloud para reverter certificados do servidor em instâncias que usam o serviço de CA durante a pré-visualização. Use o comando gcloud beta sql ssl server-certs rollback ou os comandos da API Cloud SQL Admin.

gcloud

gcloud beta sql ssl server-certs rollback \
--instance=INSTANCE_NAME
   

REST v1

  1. Liste 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    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 o valor 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://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Corpo JSON da solicitação:

    {
      "rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint"}
    }
    

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

    Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

  1. Liste 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    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 o valor 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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/rotateServerCertificate

    Corpo JSON da solicitação:

    {
      "rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint"}
    }
    

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

    Você receberá uma resposta JSON semelhante a esta:

Conferir o conteúdo dos certificados de AC

É possível usar o utilitário openssl storeutl para conferir o conteúdo dos certificados de AC.

Quando você executa o comando beta sql ssl server-certs list, sempre recebe vários certificados de AC devido à cadeia de confiança. Você também pode receber vários certificados de AC de operações anteriores relacionadas à rotação.

gcloud

  1. Execute este comando:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Substitua INSTANCE_NAME pelo nome da instância.

  2. Use openssl para examinar o conteúdo dos certificados de AC.
  3. openssl storeutl -noout -text temp_cert.pem
       

Conferir o conteúdo de um certificado do servidor

É possível usar os utilitários openssl e o comando beta sql ssl server-certs list para conferir o conteúdo de um certificado do servidor.

Ao executar o comando gcloud CLI, você sempre recebe vários certificados de AC devido à cadeia de confiança. Você também pode receber vários certificados de AC de operações anteriores relacionadas à rotação.

gcloud

Como usar apenas o openssl s_client:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Substitua INSTANCE_IP_ADDRESS pelo endereço IP da instância.

Como usar gcloud CLI e openssl storeutl:

  1. Execute este comando:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(ssl_cert.cert)' > temp_cert.pem

    Substitua INSTANCE_NAME pelo nome da instância.

  2. Use openssl para examinar o conteúdo dos certificados do servidor.
  3. openssl storeutl -noout -text temp_cert.pem
       

Fazer o download de pacotes de certificados de AC raiz e regionais

É possível fazer o download dos pacotes de certificados de AC raiz e regional na tabela a seguir.

Nome da região Local Pacote de certificados
Global
AC para todas as regiões Todos os locais global.pem
Ásia
asia-east1 Taiwan asia-east1.pem
asia-east2 Hong Kong asia-east2.pem
asia-northeast1 Tóquio asia-northeast1.pem
asia-northeast2 Osaka asia-northeast2.pem
asia-northeast3 Seul asia-northeast3.pem
asia-south1 Mumbai asia-south1.pem
asia-south2 Délhi asia-south2.pem
asia-southeast1 Singapura asia-southeast1.pem
asia-southeast2 Jacarta asia-southeast2.pem
África
africa-south1 Johannesburgo africa-south1.pem
Austrália
australia-southeast1 Sydney australia-southeast1.pem
australia-southeast2 Melbourne australia-southeast2.pem
Europa
europe-central2 Varsóvia europe-central2.pem
europe-north1 Finlândia europe-north1.pem
europe-southwest1 Madri europe-southwest1.pem
europe-west1 Bélgica europe-west1.pem
europe-west2 Londres europe-west2.pem
europe-west3 Frankfurt europe-west3.pem
europe-west4 Países Baixos europe-west4.pem
europe-west6 Zurique europe-west6.pem
europe-west8 Milão europe-west8.pem
europe-west9 Paris europe-west9.pem
europe-west10 Berlim europe-west10.pem
europe-west12 Turim europe-west12.pem
Oriente Médio
me-central1 Doha me-central1.pem
me-central2 Damã me-central2.pem
me-west1 Tel Aviv me-west1.pem
América do Norte
northamerica-northeast1 Montreal northamerica-northeast1.pem
northamerica-northeast2 Toronto northamerica-northeast2.pem
northamerica-south1 México northamerica-south1.pem
us-central1 Iowa us-central1.pem
us-east1 Carolina do Sul us-east1.pem
us-east4 Norte da Virgínia us-east4.pem
us-east5 Columbus us-east5.pem
us-south1 Dallas us-south1.pem
us-west1 Oregon us-west1.pem
us-west2 Los Angeles us-west2.pem
us-west3 Salt Lake City us-west3.pem
us-west4 Las Vegas us-west4.pem
América do Sul
southamerica-east1 São Paulo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

Redefinir a configuração SSL/TLS

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

Console

  1. No console do Google Cloud, 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. Selecione Conexões no menu de navegação do SQL.
  4. Acesse a seção Redefinir configuração SSL.
  5. Clique em Redefinir configuração SSL.

gcloud

  1. Atualize o certificado:

    gcloud sql instances reset-ssl-config INSTANCE_NAME
  2. gcloud sql instances restart INSTANCE_NAME
  3. Crie novos certificados do cliente.

REST v1beta4

  1. Atualize o certificado:

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

    • project-id: o ID do projeto
    • instance-id: o ID da instância

    Método HTTP e URL:

    POST https://sqladmin.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