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.
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Em Gerenciar certificados do cliente, clique no nome de um certificado.
- 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.
Recupere a chave pública do certificado do cliente com o comando ssl client-certs describe
:
gcloud sql ssl client-certs describeCERT_NAME \ --instance=INSTANCE_NAME \ --format="value(cert)" > client-cert.pem
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 /sslCertsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#sslCertsList", "items": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint " "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ", "createTime": "2020-02-13T00:10:20.595Z", "expirationTime": "2030-02-10T00:11:20.595Z" } ] }Registre o campo
sha1Fingerprint
do certificado que você quer recuperar. Não inclua as aspas.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:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint " "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ", "createTime": "2020-02-13T00:10:20.595Z", "expirationTime": "2030-02-10T00:11:20.595Z" }-
Copie todos os dados de certificado entre aspas
para um arquivo. Por exemplo,
client-cert.pem
. Não copie as aspas.
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 /sslCertsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#sslCertsList", "items": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint " "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ", "createTime": "2020-02-13T00:10:20.595Z", "expirationTime": "2030-02-10T00:11:20.595Z" } ] }Registre o campo
sha1Fingerprint
do certificado que você quer recuperar. Não inclua as aspas.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:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint " "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ", "createTime": "2020-02-13T00:10:20.595Z", "expirationTime": "2030-02-10T00:11:20.595Z" }-
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.
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Em Gerenciar certificados do cliente, encontre o certificado que você
quer excluir e clique em
.
- No painel Excluir certificado do cliente, clique em Ok.
Exclua o certificado do cliente usando o ssl client-certs delete:
gcloud sql ssl client-certs deleteCERT_NAME \ --instance=INSTANCE_NAME
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 /sslCertsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#sslCertsList", "items": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint " "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ", "createTime": "2020-02-13T00:10:20.595Z", "expirationTime": "2030-02-10T00:11:20.595Z" } ] }Registre o campo
sha1Fingerprint
do certificado que você quer excluir. Não inclua as aspas.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:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }
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 /sslCertsPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#sslCertsList", "items": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint " "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint ", "createTime": "2020-02-13T00:10:20.595Z", "expirationTime": "2030-02-10T00:11:20.595Z" } ] }Registre o campo
sha1Fingerprint
do certificado que você quer excluir. Não inclua as aspas.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:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint "PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint " | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }
Gerenciar certificados de CA do servidor (CA por instância)
Nesta seção, descrevemos como gerenciar certificados de CA do servidor criados internamente pelo Cloud SQL. Esse é o modo padrão de CA do servidor no Cloud SQL. Nessa hierarquia de autoridade de certificação, o Cloud SQL cria uma CA de 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 quer iniciar uma rotação, siga estas etapas para concluir a rotação. Antes de iniciar a rotação, você precisa ter uma nova CA do servidor na instância. Se uma nova CA do servidor já tiver sido criada, pule a primeira etapa no procedimento a seguir.
- Crie uma nova CA do servidor.
- Faça o download das informações do novo certificado de CA do servidor.
- Atualize seus clientes para usarem as informações do novo certificado de CA do servidor.
- 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.
Faça o download do novo certificado de CA do servidor, codificado como um arquivo PEM, para o ambiente local:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- Selecione Alternar certificado de CA.
Se não houver certificados qualificados, a opção de rotação não estará disponível. É necessário criar um novo certificado de CA do servidor.
- Clique em Fazer o download dos certificados.
Atualize todos os clientes do PostgreSQL para usar as novas informações copiando o arquivo transferido por download para as máquinas host do cliente e substituindo o arquivo server-ca.pem
atual.
Depois de atualizar os clientes, conclua a rotação:
- Volte para a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- Selecione Alternar certificado de CA.
- 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.
- Crie um certificado de CA do servidor:
gcloud sql ssl server-ca-certs create \ --instance=
INSTANCE - 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 - 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.
- Depois de atualizar os clientes, conclua a rotação:
gcloud sql ssl server-ca-certs rotate \ --instance=
INSTANCE_NAME - 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.
- 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 /listServerCasPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "certs": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2020-02-10T17:18:54.935Z", "expirationTime": "2030-02-07T17:19:54.935Z" }, { "kind": "sql#sslCert", certSerialNumber": "cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2019-11-14T22:43:56.458Z", "expirationTime": "2029-11-11T22:44:56.458Z" } ], "activeVersion": "active-version ", "kind": "sql#instancesListServerCas" } - 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 /rotateServerCaPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }
- 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 /listServerCasPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "certs": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2020-02-10T17:18:54.935Z", "expirationTime": "2030-02-07T17:19:54.935Z" }, { "kind": "sql#sslCert", certSerialNumber": "cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2019-11-14T22:43:56.458Z", "expirationTime": "2029-11-11T22:44:56.458Z" } ], "activeVersion": "active-version ", "kind": "sql#instancesListServerCas" } - 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 /rotateServerCaPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }
Se você receber um erro ao tentar fazer a rotação de um certificado que diz
No upcoming/previous Server CA Certificate exists
, verifique se
você está executando o comando em uma instância que usa a hierarquia de CA por instância.
Para conferir qual hierarquia de CA está configurada para uma instância do Cloud SQL, use o comando gcloud sql instances describe
.
Para mais informações, consulte Acessar informações da instância.
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:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- 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 sql ssl server-ca-certs rollback \ --instance=INSTANCE_NAME
- 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 /listServerCasPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "certs": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2020-02-10T17:18:54.935Z", "expirationTime": "2030-02-07T17:19:54.935Z" }, { "kind": "sql#sslCert", certSerialNumber": "cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2019-11-14T22:43:56.458Z", "expirationTime": "2029-11-11T22:44:56.458Z" } ], "activeVersion": "active-version ", "kind": "sql#instancesListServerCas" } - 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
. - 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 /rotateServerCaCorpo JSON da solicitação:
{ "rotateServerCaContext": {"nextVersion": "
sha1Fingerprint "} }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }
- 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 /listServerCasPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "certs": [ { "kind": "sql#sslCert", "certSerialNumber": "
cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2020-02-10T17:18:54.935Z", "expirationTime": "2030-02-07T17:19:54.935Z" }, { "kind": "sql#sslCert", certSerialNumber": "cert-serial-number ", "cert": "cert-value ", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2019-11-14T22:43:56.458Z", "expirationTime": "2029-11-11T22:44:56.458Z" } ], "activeVersion": "active-version ", "kind": "sql#instancesListServerCas" } - 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
. - 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 /rotateServerCaCorpo JSON da solicitação:
{ "rotateServerCaContext": {"nextVersion": "
sha1Fingerprint "} }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }
Se você receber um erro ao tentar fazer o rollback de uma rotação de CA de certificado que diz
No upcoming/previous Server CA Certificate exists
, verifique se
você está executando o comando em uma instância que usa a hierarquia de CA por instância.
Para conferir qual hierarquia de CA está configurada para uma instância do Cloud SQL, use o comando gcloud sql instances describe
.
Para mais informações, consulte Acessar informações da instância.
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:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- Clique em Criar certificado de CA.
- Selecione Alternar certificado de CA.
Se não houver certificados qualificados, a opção de rotação não estará disponível.
- Conclua a rotação conforme descrito em Alternar certificados de AC do servidor.
- Inicie a rotação:
gcloud sql ssl server-ca-certs create \ --instance=
INSTANCE_NAME - Conclua a rotação conforme descrito em Alternar certificados 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:
POST https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /rotateServerCaPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Conclua a rotação conforme descrito em Alternar certificados 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:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /rotateServerCaPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - 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.
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- 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 sql ssl server-ca-certs list \ --instance=INSTANCE_NAME
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:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=serverCaCert"
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=serverCaCert" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{ "serverCaCert": { "kind": "sql#sslCert", "certSerialNumber": "cert-serial-number ", "cert": "cert-value -", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2020-02-10T17:18:54.935Z", "expirationTime": "2030-02-07T17:19:54.935Z" } }
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:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=serverCaCert"
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=serverCaCert" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Resposta
{ "serverCaCert": { "kind": "sql#sslCert", "certSerialNumber": "cert-serial-number ", "cert": "cert-value -", "commonName": "ca-server-name ", "sha1Fingerprint": "sha1Fingerprint ", "instance": "instance-id ", "createTime": "2020-02-10T17:18:54.935Z", "expirationTime": "2030-02-07T17:19:54.935Z" } }
Ver o conteúdo dos certificados de CA
Use openssl storeutl
para ver o conteúdo dos certificados da CA.
Ao executar o comando sql ssl server-ca-certs list, você pode receber vários certificados de CA de operações anteriores relacionadas à rotação.
- Execute este comando:
gcloud sql ssl server-ca-certs list \ --instance=
INSTANCE_NAME \ --format='value(cert)' > temp_cert.pemSubstitua INSTANCE_NAME pelo nome da instância.
- Use
openssl
para examinar o conteúdo dos certificados da AC.
openssl storeutl -noout -text temp_cert.pem
Ver o conteúdo de um certificado do servidor
Useopenssl s_client
para ver o conteúdo dos certificados do servidor.
Para conferir o conteúdo do certificado do servidor, execute o seguinte comando:
openssl s_client -starttls postgres -connectINSTANCE_IP_ADDRESS :5432
Substitua INSTANCE_IP_ADDRESS pelo endereço IP da instância.
Notificação de vencimento do SSL do servidor externo
- Se o certificado de CA do servidor externo estiver expirando, faça a rotação dos certificados SSL, incluindo o certificado de CA do servidor na instância local. Essa etapa depende de como a instância local é gerenciada. As etapas podem variar se, por exemplo, você estiver usando um certificado de CA do servidor RDS, um certificado de CA do servidor do Cloud SQL ou um certificado de CA do servidor genérico de banco de dados.
- Se o certificado do cliente estiver expirando, gere um novo certificado e uma nova chave. Isso se aplica a certificados SSL gerenciados por Google Cloude autoassinados.
- Atualize a instância de representação de origem do Cloud SQL com os novos certificados SSL.
Gerenciar certificados do servidor (CA compartilhada)
Esta seção descreve como gerenciar certificados do servidor em instâncias que usam CAs compartilhadas ou gerenciadas pelo cliente.
É possível ativar o uso de CAs compartilhadas como o modo de CA do servidor para sua instância especificando GOOGLE_MANAGED_CAS_CA
na configuração serverCaMode
(API Cloud SQL Admin) ou na flag --server-ca-mode
(gcloud CLI) ao criar a instância.
Para usar uma AC gerenciada pelo cliente como o modo de AC do servidor da sua instância, especifique CUSTOMER_MANAGED_CAS_CA
na configuração serverCaMode
(API Cloud SQL Admin) ou na flag --server-ca-mode
(gcloud CLI) ao criar a instância. Além disso, você precisa ter um pool e uma AC válidos. Para mais informações, consulte
Usar uma CA gerenciada pelo cliente.
Alternar certificados do servidor
Se você recebeu um aviso sobre a expiração dos certificados do servidor ou quer iniciar uma rotação, siga estas etapas 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, pule a primeira etapa no procedimento a seguir.
Para fazer a rotação do certificado do servidor na sua instância, siga estas etapas:
Se você precisar de um novo certificado de servidor, crie um.
Se os clientes já confiarem na CA raiz, esta etapa será opcional. No entanto, se você precisar atualizar seus clientes com informações da CA do servidor, faça o seguinte:
- Faça o download das informações mais recentes da CA do servidor.
- Atualize seus clientes para usar as informações mais recentes da CA do servidor.
Conclua a rotação movendo o certificado ativo para o slot anterior e atualizando o novo certificado para que seja o ativo.
Faça o download das informações do certificado de CA do servidor, codificadas como um arquivo PEM, para o ambiente local:
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- Confirme se a opção Fazer rotação do certificado do servidor aparece como disponível, mas não a selecione ainda.
Se não houver certificados qualificados, a opção de rotação não estará disponível. Você precisa criar um novo certificado de servidor.
- Clique em Fazer o download dos certificados.
Atualize todos os clientes do PostgreSQL para usar as novas informações copiando o arquivo transferido por download para as máquinas host do cliente e substituindo o
arquivo server-ca.pem
atual.
Depois de atualizar os clientes, conclua a rotação:
- Volte para a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- Selecione Rotação do certificado.
- Na caixa de diálogo Confirmar rotação de certificado, clique em Girar.
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 para reverter à configuração anterior.
- Para criar um certificado de servidor, use o seguinte comando:
gcloud sql ssl server-certs create \ --instance=
INSTANCE
Substitua INSTANCE pelo nome da instância.
- Verifique se você está usando o pacote de CA mais recente.
Se você 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.pemOu 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 CA do servidor. Basta copiar o arquivo transferido para as máquinas host do cliente, substituindo os arquivos
server-ca.pem
. - Depois de atualizar todos os clientes (se necessário),
conclua a rotação:
gcloud sql ssl server-certs rotate \ --instance=
INSTANCE_NAME Confirme se os clientes estão se conectando corretamente.
Se algum cliente não conseguir se conectar usando o certificado do servidor recém-alternado, reverta para a configuração anterior.
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 /addServerCertificatePara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2024-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }Se você precisar baixar informações do certificado de CA do servidor, use o seguinte comando.
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 /listServerCertificatesPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "caCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "
CERT_SERIAL_NUMBER_CA_CERT_ONE ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-10T17:18:54.935Z", "expirationTime": "2034-07-10T17:19:54.935Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-14T22:43:56.458Z", "expirationTime": "2034-11-11T22:44:56.458Z" } ], "serverCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-16T18:11:39Z", "expirationTime": "2025-09-16T18:11:38Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-10T20:56:06Z", "expirationTime": "2025-09-10T20:56:05Z" } ], "activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ", "kind": "sql#instancesListServerCertificates" }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 /rotateServerCertificatePara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2024-09-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/operation-id ", "targetProject": "PROJECT_ID " }
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 /addServerCertificatePara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2024-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }Se você precisar baixar informações do certificado de CA do servidor, use o seguinte comando.
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 /listServerCertificatesPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "caCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "
CERT_SERIAL_NUMBER_CA_CERT_ONE ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-10T17:18:54.935Z", "expirationTime": "2034-07-10T17:19:54.935Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-14T22:43:56.458Z", "expirationTime": "2034-11-11T22:44:56.458Z" } ], "serverCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-16T18:11:39Z", "expirationTime": "2025-09-16T18:11:38Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-10T20:56:06Z", "expirationTime": "2025-09-10T20:56:05Z" } ], "activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ", "kind": "sql#instancesListServerCertificates" }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 /rotateServerCertificatePara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2024-09-20T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
Reverter uma rotação de certificado
Depois de concluir uma rotação de 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 marcado como "próximo". O certificado "anterior" se torna o ativo e retorna sua configuração ao estado anterior à rotação.
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Selecione a guia Segurança.
- Clique para expandir a opção Gerenciar certificados.
- Selecione Reverter certificado do servidor.
Se não houver certificados qualificados, a opção de reversão não estará disponível.
- Na caixa de diálogo Confirmar reversão do certificado, selecione Reverter.
A reversão pode levar alguns segundos para ser concluída.
gcloud sql ssl server-certs rollback \ --instance=INSTANCE_NAME
Liste os 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 /listServerCertificatesPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "caCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "
CERT_SERIAL_NUMBER_CA_CERT_ONE ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-10T17:18:54.935Z", "expirationTime": "2034-07-10T17:19:54.935Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-14T22:43:56.458Z", "expirationTime": "2034-11-11T22:44:56.458Z" } ], "serverCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-16T18:11:39Z", "expirationTime": "2025-09-16T18:11:38Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-10T20:56:06Z", "expirationTime": "2025-09-10T20:56:05Z" } ], "activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ", "kind": "sql#instancesListServerCertificates" }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 valorsha1Fingerprint
mostrado comoactiveVersion
.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 /rotateServerCertificateCorpo JSON da solicitação:
{ "rotateServerCertificateContext": {"nextVersion": "
sha1Fingerprint "} }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
Liste os 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 /listServerCertificatesPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "caCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "
CERT_SERIAL_NUMBER_CA_CERT_ONE ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-10T17:18:54.935Z", "expirationTime": "2034-07-10T17:19:54.935Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_CA_CERT_TWO ", "cert": "CERT_VALUE ", "commonName": "CA_SERVER_NAME ", "sha1Fingerprint": "sha1Fingerprint_CA_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-07-14T22:43:56.458Z", "expirationTime": "2034-11-11T22:44:56.458Z" } ], "serverCerts": [ { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_ONE ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_ONE ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-16T18:11:39Z", "expirationTime": "2025-09-16T18:11:38Z" }, { "kind": "sql#sslCert", "certSerialNumber": "CERT_SERIAL_NUMBER_SERVER_CERT_TWO ", "cert": "CERT_VALUE " "commonName": "SUBJECT_VALUE ", "sha1Fingerprint": "sha1Fingerprint_SERVER_CERT_TWO ", "instance": "INSTANCE_NAME ", "createTime": "2024-09-10T20:56:06Z", "expirationTime": "2025-09-10T20:56:05Z" } ], "activeVersion": "sha1Fingerprint_SERVER_CERT_TWO ", "kind": "sql#instancesListServerCertificates" }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 valorsha1Fingerprint
mostrado comoactiveVersion
.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 /rotateServerCertificateCorpo JSON da solicitação:
{ "rotateServerCertificateContext": {"nextVersion": "
sha1Fingerprint "} }Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate"PowerShell (Windows)
Salve o corpo da solicitação em um arquivo com o nome
request.json
e execute o comando a seguir:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " }
Ver o conteúdo dos certificados de CA
Use o utilitário openssl storeutl
para ver o conteúdo dos certificados da CA.
Ao executar o comando sql ssl server-certs list, você sempre recebe vários certificados de CA devido à cadeia de confiança. Você também pode receber vários certificados de CA de operações anteriores relacionadas à rotação.
- Execute este comando:
gcloud sql ssl server-certs list \ --instance=
INSTANCE_NAME \ --format='value(cert)' > temp_cert.pemSubstitua INSTANCE_NAME pelo nome da instância.
- Use
openssl
para examinar o conteúdo dos certificados da AC.
openssl storeutl -noout -text temp_cert.pem
Ver o conteúdo de um certificado do servidor
É possível usar os utilitários openssl
e o comando sql ssl server-certs list
para conferir o conteúdo de um certificado do servidor.
Ao executar o comando da CLI gcloud, você sempre recebe vários certificados de CA devido à cadeia de confiança. Você também pode receber vários certificados de CA de operações anteriores relacionadas à rotação.
Usando apenas o openssl s_client
:
openssl s_client -starttls postgres -connectINSTANCE_IP_ADDRESS :5432
Substitua INSTANCE_IP_ADDRESS pelo endereço IP da instância.
Usando o gcloud CLI
e o openssl storeutl
:
- Execute este comando:
gcloud sql ssl server-certs list \ --instance=
INSTANCE_NAME \ --format='value(ssl_cert.cert)' > temp_cert.pemSubstitua INSTANCE_NAME pelo nome da instância.
- Use
openssl
para examinar o conteúdo dos certificados do servidor.
openssl storeutl -noout -text temp_cert.pem
Fazer o download de pacotes de certificados de CA raiz e regional para uma CA compartilhada
Se você estiver usando uma configuração de CA compartilhada gerenciada pelo Google, faça o download dos pacotes de certificados de CA raiz e regional na tabela a seguir.
Esses pacotes de certificados não se aplicam a instâncias que usam as opções de CA por instância ou gerenciadas pelo cliente.
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-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 |
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.
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Conexões no menu de navegação do SQL.
- Acesse a seção Redefinir configuração SSL.
- Clique em Redefinir configuração SSL.
Atualize o certificado:
gcloud sql instances reset-ssl-config
INSTANCE_NAME - Crie novos certificados do cliente.
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 /resetSslConfigPara enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /resetSslConfig"PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /resetSslConfig" | Select-Object -Expand ContentVocê receberá uma resposta JSON semelhante a esta:
Resposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-20T21:30:35.667Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }- Crie novos certificados do cliente.
A seguir
- Saiba mais sobre SSL/TLS no Cloud SQL.
- Configure o SSL/TLS na instância do Cloud SQL.
- Use o SSL/TLS para se conectar à instância do Cloud SQL.
- Saiba mais sobre como o PostgreSQL usa SSL/TLS.
- Confira todos os serviços doGoogle Cloud disponíveis em locais do mundo todo.