Gerenciar certificados SSL/TLS

Esta página descreve como gerenciar seus certificados de CA de cliente e servidor.

Gerenciar certificados de cliente

Use os procedimentos a seguir para gerenciar certificados de cliente no Cloud SQL.

Recuperar um certificado de cliente

Você pode recuperar a parte da chave pública de um certificado de cliente. No entanto, não é possível recuperar a chave privada. Se você perdeu sua chave privada, precisará criar um novo certificado.

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. Selecione Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Em Gerenciar certificados de cliente , clique em um nome de certificado.
  6. A página Certificado do Cliente SSL é aberta e mostra o certificado do cliente ( client-cert.pem ) com um link para baixar o 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 obter a impressão digital do certificado que você deseja recuperar:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

    Registre o campo sha1Fingerprint do certificado que deseja recuperar. Não inclua aspas.

  2. Recuperar o certificado:

    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
    • 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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

  3. Copie todos os dados do certificado entre aspas para um arquivo, por exemplo, client-cert.pem . Não copie as aspas em si.

REST v1beta4

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

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

    Registre o campo sha1Fingerprint do certificado que deseja recuperar. Não inclua aspas.

  2. Recuperar o certificado:

    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
    • 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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

  3. Copie todos os dados do certificado entre aspas para um arquivo, por exemplo, client-cert.pem . Não copie as aspas em si.

Excluir um certificado de cliente

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

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. Selecione Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Em Gerenciar certificados de cliente , encontre o certificado que deseja excluir e clique emExcluir. .
  6. No painel 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 v1

  1. Liste os certificados na instância para obter a impressão digital do certificado que você deseja excluir:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

    Registre o campo sha1Fingerprint do certificado que deseja excluir. Não inclua aspas.

  2. Excluir o certificado:

    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
    • 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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

  1. Liste os certificados na instância para obter a impressão digital do certificado que você deseja excluir:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

    Registre o campo sha1Fingerprint do certificado que deseja excluir. Não inclua aspas.

  2. Excluir o certificado:

    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
    • 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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

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

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

Girar certificados de CA do servidor

Se você recebeu um aviso sobre a expiração dos seus certificados ou deseja iniciar uma rotação, siga as etapas a seguir para concluir a rotação. Antes de iniciar a rotação, você precisa ter uma nova CA de servidor na instância. Se uma nova CA de servidor já tiver sido criada, você pode pular a primeira etapa do procedimento a seguir.

  1. Crie uma nova CA de servidor.
  2. Baixe as novas informações do certificado da CA do servidor.
  3. Atualize seus clientes para usar as novas informações do certificado da CA do servidor.
  4. Conclua a rotação, que move o certificado ativo para o slot "anterior" e atualiza o certificado recém-adicionado para ser o certificado ativo.

Console

Baixe o novo certificado da CA do servidor, codificado como um arquivo PEM, para o seu ambiente local:

  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. Selecione Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Clique para expandir Gerenciar certificados .
  6. Selecione Alternar certificado CA.

    Se não houver certificados qualificados, a opção de rotação não estará disponível. Você deverá criar um novo certificado de CA do servidor .

  7. Clique em Baixar certificados .

Atualize todos os seus clientes MySQL para usar as novas informações copiando o arquivo baixado para as máquinas host do cliente, substituindo o arquivo server-ca.pem existente.

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

  1. Retorne para a aba Segurança .
  2. Clique para expandir Gerenciar certificados .
  3. Selecione Alternar certificado CA.
  4. Confirme se seus clientes estão se conectando corretamente.
  5. Se algum cliente não estiver se conectando usando o certificado recém-rotulado, você poderá selecionar Reverter certificado CA para retornar à configuração anterior.

gcloud

  1. Crie um certificado de CA do servidor:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. 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
  3. 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.
  4. Depois de atualizar seus clientes, conclua a rotação:
    gcloud sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Confirme se seus clientes estão se conectando corretamente.
  6. Se algum cliente não estiver se conectando usando o certificado recém-rotacionado, você poderá reverter para a configuração anterior.

REST v1

  1. Baixe os certificados da CA do seu servidor:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Complete a rotação:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

  1. Baixe os certificados da CA do seu servidor:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Complete a rotação:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

Se você receber um erro ao tentar rotacionar um certificado que diz No upcoming/previous Server CA Certificate exists , verifique se está executando o comando em uma instância que usa a hierarquia de CA por instância. Você pode visualizar qual hierarquia de CA está configurada para uma instância do Cloud SQL usando o comando gcloud sql instances describe . Para obter mais informações, consulte Exibir informações da instância .

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

Após concluir a rotação de certificados, todos os seus clientes deverão usar o novo certificado para se conectar à sua instância do Cloud SQL. Se os clientes não forem atualizados corretamente para usar as novas informações do certificado, eles não poderão se conectar à sua instância via SSL/TLS. Se isso acontecer, você poderá reverter para a configuração anterior do certificado.

Uma operação de reversão move o certificado ativo para o slot "próximo" (substituindo qualquer certificado "próximo"). O certificado "anterior" se torna o certificado ativo, retornando a configuração do seu certificado ao estado em que estava antes da conclusão da rotação.

Para retornar à configuração anterior do certificado:

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. Selecione Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Clique para expandir Gerenciar certificados .
  6. Selecione Reverter certificado 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. Baixe os certificados da CA do seu servidor:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Copie o campo sha1Fingerprint para a versão para a qual você deseja reverter.

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

  3. Reverter a rotação:

    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

    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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

  1. Baixe os certificados da CA do seu servidor:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Copie o campo sha1Fingerprint para a versão para a qual você deseja reverter.

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

  3. Reverter a rotação:

    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

    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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

Se você receber um erro ao tentar reverter uma rotação de CA de certificado informando " No upcoming/previous Server CA Certificate exists , verifique se está executando o comando em uma instância que usa a hierarquia de CA por instância. Você pode visualizar qual hierarquia de CA está configurada para uma instância do Cloud SQL usando o comando gcloud sql instances describe . Para obter mais informações, consulte Exibir informações da instância .

Iniciar uma rotação

Não é necessário aguardar o e-mail do Cloud SQL para iniciar uma rotação. Você pode iniciar uma 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 sua solicitação, ele será excluído. Só pode haver um certificado em breve.

Para iniciar uma rotação:

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

gcloud

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

REST v1

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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Conclua a rotação conforme descrito em Rotacionar certificados de CA do servidor .

REST v1beta4

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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Conclua a rotação conforme descrito em Rotacionar certificados de CA do servidor .

Obter informações sobre um certificado de CA do servidor

Você pode obter informações sobre o certificado da CA do seu servidor, como quando ele expira ou qual nível de criptografia ele fornece.

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. Selecione Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .

    Em Gerenciar certificados de CA do servidor , você pode ver a data de expiração do seu certificado de CA do servidor na tabela.

    Para ver 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 sua instância, você pode ver detalhes sobre o certificado da CA do servidor:

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

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=serverCaCert

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

Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

Ao descrever sua instância, você pode ver detalhes sobre o certificado da CA do servidor:

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

Método HTTP e URL:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

Visualizar o conteúdo dos certificados da CA

Você pode usar openssl storeutl para visualizar o conteúdo dos certificados da CA.

Ao executar o comando sql ssl server-ca-certs list , você pode obter vários certificados CA de operações anteriores relacionadas à rotação.

gcloud

  1. Execute o seguinte comando:
    gcloud 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 da CA.
  3. openssl storeutl -noout -text temp_cert.pem
       

Visualizar o conteúdo de um certificado de servidor

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

gcloud

Para visualizar 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 de servidor (CA compartilhada)

Esta seção descreve como gerenciar certificados de servidor em instâncias que usam CAs compartilhadas ou CAs gerenciadas pelo cliente.

Você pode optar por usar CAs compartilhadas como o modo de CA do servidor para sua instância especificando GOOGLE_MANAGED_CAS_CA para a configuração serverCaMode (API de administração do Cloud SQL) ou o sinalizador --server-ca-mode ( gcloud CLI ) ao criar sua instância .

Para usar a CA gerenciada pelo cliente como o modo de CA do servidor para sua instância, você deve especificar CUSTOMER_MANAGED_CAS_CA para a configuração serverCaMode (API de administração do Cloud SQL) ou o sinalizador --server-ca-mode ( CLI do gcloud ) ao criar sua instância . Além disso, você deve ter um pool de CAs e uma CA válidos. Para obter mais informações, consulte Usar CA gerenciada pelo cliente .

Girar certificados de servidor

Se você recebeu um aviso sobre a expiração dos seus certificados de servidor ou deseja iniciar uma rotação, siga as etapas a seguir para concluir a rotação. Antes de iniciar a rotação, é necessário criar um novo certificado de servidor para a próxima rotação. Se já houver um novo certificado de servidor criado para a próxima rotação, você pode pular a primeira etapa do procedimento a seguir.

Para rotacionar o certificado do servidor na sua instância, execute as seguintes etapas:

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

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

    1. Baixe as informações mais recentes da autoridade de certificação do servidor.
    2. Atualize seus clientes para usar as informações mais recentes da autoridade de certificação do servidor.
  3. Conclua a rotação movendo o certificado ativo para o slot anterior e atualizando o novo certificado para ser o certificado ativo.

Console

Baixe as informações do certificado da CA do servidor, codificadas como um arquivo PEM, para o seu ambiente local:

  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. Selecione Conexões no menu de navegação SQL.
  4. Selecione a aba Segurança .
  5. Clique para expandir Gerenciar certificados .
  6. Confirme se a opção Girar certificado do servidor aparece como uma opção disponível; no entanto, não a selecione ainda.

    Se não houver certificados qualificados, a opção de rotação não estará disponível. Você deverá criar um novo certificado de servidor .

  7. Clique em Baixar certificados .

Atualize todos os seus clientes MySQL para usar as novas informações copiando o arquivo baixado para as máquinas host do cliente, substituindo o arquivo server-ca.pem existente.

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

  1. Retorne para a aba Segurança .
  2. Clique para expandir Gerenciar certificados .
  3. Selecione Girar certificado .
  4. Na caixa de diálogo Confirmar rotação do certificado , clique em Girar .
  5. Confirme se seus clientes estão se conectando corretamente.

    Se algum cliente não estiver se conectando usando o certificado recém-rotulado, você pode selecionar Reverter certificado para retornar à configuração anterior.

gcloud

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

    Ou baixe os pacotes de CA da tabela de pacotes de certificados de CA raiz e regionais nesta página.

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

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

    Se algum cliente não estiver se conectando usando o certificado de servidor recém-rotulado, volte para a configuração anterior.

REST v1

  1. Crie um certificado de servidor.

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Se precisar baixar informações do certificado da CA do servidor, você pode usar o seguinte comando.

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  3. Complete a rotação.

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

  1. Crie um certificado de servidor.

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Se precisar baixar informações do certificado da CA do servidor, você pode usar o seguinte comando.

    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

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  3. Complete a rotação.

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

Reverter uma rotação de certificado

Após concluir a rotação do certificado do servidor, todos os seus clientes deverão usar o novo certificado para se conectar à sua instância do Cloud SQL. Se os clientes não forem atualizados corretamente para usar as novas informações do certificado, eles não poderão se conectar à sua instância via SSL/TLS. Se isso acontecer, você poderá reverter para a configuração anterior do certificado.

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 certificado ativo e retorna a configuração do seu certificado ao estado anterior à conclusão da rotação.

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

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

  7. Na caixa de diálogo Confirmar reversão de certificado , selecione Reversão .

    A reversão pode levar alguns segundos para ser concluída.

gcloud

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

REST v1

  1. Liste seus certificados de servidor.

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Copie o campo sha1Fingerprint para a versão para a qual você deseja 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 qualquer um dos dados solicitados, 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/rotateServerCertificate

    Corpo JSON da solicitação:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

  1. Liste seus certificados de servidor.

    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

    Método HTTP e URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Copie o campo sha1Fingerprint para a versão para a qual você deseja 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 qualquer um dos dados solicitados, 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/rotateServerCertificate

    Corpo JSON da solicitação:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

Visualizar o conteúdo dos certificados da CA

Você pode usar o utilitário openssl storeutl para visualizar o conteúdo dos certificados CA.

Ao executar o comando sql ssl server-certs list , você sempre obtém vários certificados de CA devido à cadeia de confiança. Você também pode obter vários certificados de CA de operações anteriores relacionadas à rotação.

gcloud

  1. Execute o seguinte comando:
    gcloud 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 da CA.
  3. openssl storeutl -noout -text temp_cert.pem
       

Visualizar o conteúdo de um certificado de servidor

Você pode usar os utilitários openssl e o comando sql ssl server-certs list para visualizar o conteúdo de um certificado de servidor.

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

gcloud

Usando somente openssl s_client :

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

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

Usando o gcloud CLI e openssl storeutl :

  1. Execute o seguinte comando:
    gcloud 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
       

Baixe pacotes de certificados de CA raiz e regionais para uma CA compartilhada

Se estiver usando uma configuração de CA compartilhada gerenciada pelo Google, você poderá baixar os pacotes de certificados de CA raiz e regionais na tabela a seguir.

Esses pacotes de certificados não se aplicam a instâncias que usam as opções de CA gerenciadas pelo cliente ou por instância.

Nome da região Localização Pacote de certificados
Global
CA 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 Bombaim asia-south1.pem
asia-south2 Délhi asia-south2.pem
asia-southeast1 Cingapura asia-southeast1.pem
asia-southeast2 Jacarta asia-southeast2.pem
África
africa-south1 Joanesburgo africa-south1.pem
Austrália
australia-southeast1 Sidney 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-north2 Estocolmo europe-north2.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 Holanda 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
Médio Oriente
me-central1 Doha me-central1.pem
me-central2 Dammam 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 Virgínia do Norte us-east4.pem
us-east5 Colombo us-east5.pem
us-south1 Dallas us-south1.pem
us-west1 Oregon us-west1.pem
us-west2 Los Angeles us-west2.pem
us-west3 Cidade do Lago Salgado us-west3.pem
us-west4 Las Vegas us-west4.pem
Ámérica do Sul
southamerica-east1 São Paulo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

Redefinir a configuração SSL/TLS

Você pode redefinir completamente sua configuração SSL/TLS.

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. Selecione Conexões no menu de navegação SQL.
  4. Vá para a seção Redefinir configuração SSL .
  5. Clique em Redefinir configuração SSL .

gcloud

  1. Atualizar o certificado:

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

REST v1beta4

  1. Atualizar o certificado:

    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

    Método HTTP e URL:

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

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

    Você deve receber uma resposta JSON semelhante à seguinte:

  2. Crie novos certificados de cliente .

O que vem a seguir