Gerenciar certificados SSL/TLS
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta página, descrevemos como gerenciar certificados de autoridade certificadora (AC) do cliente e do servidor.
Gerenciar certificados do cliente
Siga estes procedimentos para gerenciar certificados do cliente no Cloud SQL.
Recuperar um certificado do cliente
É possível recuperar a parte da chave pública de um certificado do cliente. No entanto, não é possível recuperar a chave privada. Se você perdeu a chave privada, precisa criar um novo certificado.
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "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.
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
Liste os certificados na instância para receber a impressão digital do certificado que você quer recuperar:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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.
REST v1beta4
Liste os certificados na instância para receber a impressão digital do certificado que você quer recuperar:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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.
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "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 .
gcloud
Exclua o certificado do cliente usando o
ssl client-certs delete :
gcloud sql ssl client-certs delete CERT_NAME \
--instance= INSTANCE_NAME
REST v1
Liste os certificados na instância para receber a impressão digital do certificado a ser excluído:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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": "[email protected] ",
"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 "
}
REST v1beta4
Liste os certificados na instância para receber a impressão digital do certificado a ser excluído:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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": "[email protected] ",
"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 de AC do servidor padrão no
Cloud SQL. Nessa hierarquia de autoridade certificadora, o Cloud SQL cria uma AC do servidor para cada instância.
Alternar certificados de CA do servidor
Se você recebeu um aviso sobre seus certificados que estão para expirar ou 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 de servidor já tiver sido
criada, pule a primeira etapa no procedimento a seguir.
Crie uma nova AC 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.
Após a alternância do certificado SSL, suas conexões do App Engine e do
proxy de autenticação do Cloud SQL receberão automaticamente um novo certificado
quando se conectarem.
Console
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 .
Acesse "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 MySQL para usar as novas informações. Basta copiar o arquivo transferido para as máquinas host do cliente, substituindo o arquivo server-ca.pem
atual.
Depois de atualizar os clientes, conclua a rotação:
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.
gcloud
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.
REST v1
Faça o download dos certificados de CA do servidor:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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 /rotateServerCa
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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": "[email protected] ",
"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 "
}
REST v1beta4
Faça o download dos certificados de CA do servidor:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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 /rotateServerCa
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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": "[email protected] ",
"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 AC 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.
Observação: a operação de reversão do certificado só está disponível até a data de validade do antigo.
Para fazer rollback para a configuração do certificado anterior:
Console
No console Google Cloud , acesse a página Instâncias do Cloud SQL .
Acesse "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
gcloud sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
REST v1
Faça o download dos certificados de CA do servidor:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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 /rotateServerCa
Corpo JSON da solicitação:
{
"rotateServerCaContext": {"nextVersion": "sha1Fingerprint "}
}
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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": "[email protected] ",
"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 "
}
REST v1beta4
Faça o download dos certificados de CA do servidor:
Antes de usar os dados da solicitação,
faça as seguintes substituições:
project-id : o ID do projeto
instance-id : o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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 Content
Você 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 /rotateServerCa
Corpo JSON da solicitação:
{
"rotateServerCaContext": {"nextVersion": "sha1Fingerprint "}
}
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
Observação:
o comando a seguir pressupõe que você tenha feito login na CLI do gcloud
com sua conta de usuário executando
gcloud init
ou
gcloud auth login
,
ou usando o
Cloud Shell ,
que faz login automaticamente na CLI gcloud
.
.
Para saber qual é a conta ativa no momento, execute o comando gcloud auth list
.
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)
Observação:
o comando a seguir pressupõe que você tenha feito login na
CLI gcloud
com sua conta de usuário executando