Esta página describe cómo administrar los certificados CA de su cliente y servidor.
Administrar certificados de cliente Utilice los siguientes procedimientos para administrar certificados de cliente en Cloud SQL.
Recuperar un certificado de cliente Puede recuperar la clave pública de un certificado de cliente. Sin embargo, no puede recuperar la clave privada. Si ha perdido su clave privada, deberá crear un nuevo certificado.
Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . En Administrar certificados de cliente , haga clic en el nombre de un certificado. Se abre la página del Certificado de cliente SSL y muestra el certificado de cliente ( client-cert.pem
) con un enlace para descargarlo. nube g Recupere la clave pública del certificado de cliente con el comando ssl client-certs describe
:
gcloud sql ssl client-certs describe CERT_NAME \
--instance= INSTANCE_NAME \
--format= "value(cert)" > client-cert.pem REST versión 1 Enumere los certificados en la instancia para obtener la huella digital del certificado que desea recuperar:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
del certificado que desea recuperar. No incluya las comillas.
Recuperar el certificado:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia sha1FingerPrint : La huella digital sha1 del certificado Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 los datos del certificado entre comillas a un archivo, por ejemplo, client-cert.pem
. No copie las comillas. REST v1beta4 Enumere los certificados en la instancia para obtener la huella digital del certificado que desea recuperar:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
del certificado que desea recuperar. No incluya las comillas.
Recuperar el certificado:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia sha1FingerPrint : La huella digital sha1 del certificado Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 los datos del certificado entre comillas a un archivo, por ejemplo, client-cert.pem
. No copie las comillas. Eliminar un certificado de cliente Cuando se elimina un certificado de cliente, el servidor de base de datos se actualiza y no es necesario reiniciarlo.
Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . En Administrar certificados de cliente , busque el certificado que desea eliminar y haga clic en . En el panel Eliminar certificado de cliente , haga clic en Aceptar . nube g Elimine el certificado de cliente mediante el comando ssl client-certs delete :
gcloud sql ssl client-certs delete CERT_NAME \
--instance= INSTANCE_NAME REST versión 1 Enumere los certificados en la instancia para obtener la huella digital del certificado que desea eliminar:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
del certificado que desea eliminar. No incluya las comillas.
Eliminar el certificado:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia sha1FingerPrint : La huella digital sha1 del certificado Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 Enumere los certificados en la instancia para obtener la huella digital del certificado que desea eliminar:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
del certificado que desea eliminar. No incluya las comillas.
Eliminar el certificado:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia sha1FingerPrint : La huella digital sha1 del certificado Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /sslCerts/sha1FingerPrint Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Administrar certificados de CA del servidor (CA por instancia) En esta sección se describe cómo administrar los certificados de CA de servidor creados internamente por Cloud SQL. Este es el modo predeterminado de CA de servidor en Cloud SQL. En esta jerarquía de autoridades de certificación, Cloud SQL crea una CA de servidor para cada instancia.
Rotar certificados de CA del servidor Si ha recibido un aviso sobre la expiración de sus certificados o desea iniciar una rotación, siga estos pasos para completarla. Antes de iniciarla, debe tener una nueva CA de servidor en la instancia. Si ya se ha creado una nueva CA de servidor, puede omitir el primer paso del siguiente procedimiento.
Crear una nueva CA de servidor. Descargue la nueva información del certificado CA del servidor. Actualice a sus clientes para utilizar la nueva información del certificado CA del servidor. Complete la rotación, que mueve el certificado activo a la ranura "anterior" y actualiza el certificado recién agregado para que sea el certificado activo. Después de rotar el certificado SSL, las conexiones de App Engine y Cloud SQL Auth Proxy recibirán automáticamente un nuevo certificado cuando se conecten. Consola Descargue el nuevo certificado CA del servidor, codificado como un archivo PEM, a su entorno local:
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . Haga clic para expandir Administrar certificados . Seleccione Rotar certificado de CA. Si no hay certificados válidos, la opción de rotación no estará disponible. Debe crear un nuevo certificado de CA de servidor .
Haga clic en Descargar certificados . Actualice todos sus clientes MySQL para usar la nueva información copiando el archivo descargado a sus máquinas host cliente y reemplazando el archivo server-ca.pem
existente.
Después de haber actualizado a sus clientes, complete la rotación:
Regresar a la pestaña Seguridad . Haga clic para expandir Administrar certificados . Seleccione Rotar certificado de CA. Confirme que sus clientes se estén conectando correctamente. Si algún cliente no se conecta usando el certificado recientemente rotado, puede seleccionar Revertir certificado de CA para volver a la configuración anterior.
nube g Crear un certificado CA de servidor:
gcloud sql ssl server-ca-certs create \
--instance=INSTANCE Descargue la información del certificado a un archivo PEM local:
gcloud sql ssl server-ca-certs list \
--format="value(cert)" \
--instance=INSTANCE_NAME > \
FILE_PATH /FILE_NAME .pem Actualice todos sus clientes para usar la nueva información copiando el archivo descargado a las máquinas host de sus clientes y reemplazando los archivos server-ca.pem existentes. Después de haber actualizado a sus clientes, complete la rotación:
gcloud sql ssl server-ca-certs rotate \
--instance=INSTANCE_NAME
Confirme que sus clientes se estén conectando correctamente. Si algún cliente no se conecta utilizando el certificado recién rotado, puede volver a la configuración anterior.
REST versión 1 Descargue los certificados CA de su servidor: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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"
}
Completa la rotación: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 Descargue los certificados CA de su servidor: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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"
}
Completa la rotación: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Si recibe un error al intentar rotar un certificado que indica que No upcoming/previous Server CA Certificate exists
, verifique que esté ejecutando el comando en una instancia que use la jerarquía de CA por instancia. Puede ver qué jerarquía de CA está configurada para una instancia de Cloud SQL con el comando gcloud sql instances describe
. Para obtener más información, consulte Ver información de la instancia .
Revertir una operación de rotación de certificados Tras completar la rotación de certificados, todos sus clientes deben usar el nuevo certificado para conectarse a su instancia de Cloud SQL. Si los clientes no se actualizan correctamente para usar la información del nuevo certificado, no podrán conectarse a su instancia mediante SSL/TLS. En tal caso, puede volver a la configuración anterior del certificado.
Una operación de reversión mueve el certificado activo a la ranura "próxima" (reemplazando cualquier certificado "próximo"). El certificado "anterior" se convierte en el certificado activo, devolviendo la configuración de su certificado al estado en que se encontraba antes de completar la rotación.
Nota: La reversión del certificado solo está disponible hasta que caduque el certificado antiguo. Para volver a la configuración anterior del certificado:
Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . Haga clic para expandir Administrar certificados . Seleccione Revertir certificado de CA. Si no hay certificados válidos, la opción de reversión no estará disponible. De lo contrario, la reversión se completará en unos segundos.
nube g
gcloud sql ssl server-ca-certs rollback \
--instance=INSTANCE_NAME
REST versión 1 Descargue los certificados CA de su servidor: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /listServerCas Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
correspondiente a la versión a la que desea volver. Busque la versión con un valor createTime inmediatamente anterior a la versión con el valor sha1Fingerprint mostrado como activeVersion
.
Retroceder la rotación: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa Cuerpo JSON de la solicitud:
{
"rotateServerCaContext": {"nextVersion": "sha1Fingerprint "}
}
Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
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) Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
$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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 Descargue los certificados CA de su servidor: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /listServerCas Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
correspondiente a la versión a la que desea volver. Busque la versión con un valor createTime inmediatamente anterior a la versión con el valor sha1Fingerprint mostrado como activeVersion
.
Retroceder la rotación: Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa Cuerpo JSON de la solicitud:
{
"rotateServerCaContext": {"nextVersion": "sha1Fingerprint "}
}
Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
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) Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
$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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Si recibe un error al intentar revertir la rotación de una CA de certificado que indica que No upcoming/previous Server CA Certificate exists
, verifique que esté ejecutando el comando en una instancia que use la jerarquía de CA por instancia. Puede ver qué jerarquía de CA está configurada para una instancia de Cloud SQL con el comando gcloud sql instances describe
. Para obtener más información, consulte Ver información de la instancia .
Iniciar una rotación No necesita esperar el correo electrónico de Cloud SQL para iniciar una rotación. Puede iniciarla en cualquier momento. Al iniciar una rotación, se crea un nuevo certificado y se coloca en la ranura "próxima". Si ya hay un certificado en la ranura "próxima" al momento de su solicitud, se eliminará. Solo puede haber un certificado próximo.
Para iniciar una rotación:
Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . Haga clic para expandir Administrar certificados . Haga clic en Crear nuevo certificado CA. Seleccione Rotar certificado de CA. Si no hay certificados elegibles, la opción de rotación no estará disponible.
Complete la rotación como se describe en Rotar certificados de CA del servidor . REST versión 1 Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /rotateServerCa Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Complete la rotación como se describe en Rotar certificados de CA del servidor . REST v1beta4 Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /rotateServerCa Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Complete la rotación como se describe en Rotar certificados de CA del servidor . Obtener información sobre un certificado de CA de servidor Puede obtener información sobre el certificado CA de su servidor, como cuándo vence o qué nivel de cifrado proporciona.
Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . En Administrar certificados de CA del servidor , puede ver la fecha de vencimiento de su certificado de CA del servidor en la tabla.
Para ver el tipo de certificado, utilice el comando gcloud sql ssl server-ca-certs list --instance= INSTANCE_NAME
.
nube g
gcloud sql ssl server-ca-certs list \
--instance= INSTANCE_NAME REST versión 1 Al describir su instancia, podrá ver detalles sobre el certificado CA del servidor:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=serverCaCert Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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"
}
}
REST v1beta4 Al describir su instancia, podrá ver detalles sobre el certificado CA del servidor:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=serverCaCert Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el contenido de los certificados de CA Puede utilizar openssl storeutl
para ver el contenido de los certificados de CA.
Cuando ejecuta el comando sql ssl server-ca-certs list , es posible que obtenga varios certificados de CA de operaciones anteriores relacionadas con la rotación.
nube g Ejecute el siguiente comando:
gcloud sql ssl server-ca-certs list \
--instance= INSTANCE_NAME \
--format= 'value(cert)' > temp_cert.pem Reemplace INSTANCE_NAME con el nombre de la instancia.
Utilice openssl
para examinar el contenido de los certificados de CA.
openssl storeutl -noout -text temp_cert.pem
Ver el contenido de un certificado de servidor Puede utilizar
openssl s_client
para ver el contenido de los certificados del servidor.
nube g Para ver el contenido del certificado del servidor, ejecute el siguiente comando:
openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS :3306 Reemplace INSTANCE_IP_ADDRESS con la dirección IP de la instancia.
Administrar certificados de servidor (CA compartida) En esta sección se describe cómo administrar certificados de servidor en instancias que utilizan CA compartidas o CA administradas por el cliente.
Puede optar por usar CA compartidas como modo de CA de servidor para su instancia especificando GOOGLE_MANAGED_CAS_CA
para la configuración serverCaMode
(API de administración de Cloud SQL) o el indicador --server-ca-mode
( CLI de gcloud ) cuando crea su instancia .
Para usar una CA administrada por el cliente como modo de CA de servidor para su instancia, debe especificar CUSTOMER_MANAGED_CAS_CA
en la configuración serverCaMode
(API de administración de Cloud SQL) o el indicador --server-ca-mode
( CLI de gcloud ) al crear la instancia . Además, debe tener un grupo de CA y una CA válidos. Para obtener más información, consulte Usar una CA administrada por el cliente .
Rotar certificados de servidor Si ha recibido un aviso sobre la expiración de sus certificados de servidor o desea iniciar una rotación, siga estos pasos para completarla. Antes de iniciar la rotación, debe crear un nuevo certificado de servidor para la próxima rotación. Si ya se ha creado un nuevo certificado de servidor para la próxima rotación, puede omitir el primer paso del siguiente procedimiento.
Para rotar el certificado del servidor en su instancia, realice los siguientes pasos:
Si necesita un nuevo certificado de servidor, cree uno .
Si sus clientes ya confían en la CA raíz, este paso es opcional. Sin embargo, si necesita actualizar la información de la CA del servidor a sus clientes, siga estos pasos:
Descargue la información más reciente de CA del servidor. Actualice a sus clientes para utilizar la información más reciente de CA del servidor. Complete la rotación moviendo el certificado activo a la ranura anterior y actualizando el nuevo certificado para que sea el certificado activo.
Consola Descargue la información del certificado CA del servidor, codificada como un archivo PEM, a su entorno local:
En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . Haga clic para expandir Administrar certificados . Confirme que la opción Rotar certificado de servidor aparezca como una opción disponible; sin embargo, no la seleccione todavía. Si no hay certificados válidos, la opción de rotación no estará disponible. Debe crear un nuevo certificado de servidor .
Haga clic en Descargar certificados . Actualice todos sus clientes MySQL para usar la nueva información copiando el archivo descargado a sus máquinas host cliente y reemplazando el archivo server-ca.pem
existente.
Después de haber actualizado a sus clientes, complete la rotación:
Regresar a la pestaña Seguridad . Haga clic para expandir Administrar certificados . Seleccione Rotar certificado . En el cuadro de diálogo Confirmar rotación de certificado , haga clic en Rotar . Confirme que sus clientes se estén conectando correctamente.
Si algún cliente no se conecta utilizando el certificado recientemente rotado, puede seleccionar Revertir certificado para volver a la configuración anterior.
nube g Para crear un certificado de servidor, utilice el siguiente comando:
gcloud sql ssl server-certs create \
--instance=INSTANCE Reemplace INSTANCE con el nombre de la instancia. Asegúrese de usar el paquete de CA más reciente . Si no lo usa, ejecute el siguiente comando para descargar la información más reciente de la CA del servidor de la instancia a un archivo PEM local:
gcloud sql ssl server-certs list \
--format="value(ca_cert.cert)" \
--instance=INSTANCE_NAME > \
FILE_PATH /server-ca.pem O descargue los paquetes de CA de la tabla de paquetes de certificados de CA raíz y regionales en esta página.
Luego actualice todos sus clientes para usar la nueva información de CA del servidor copiando el archivo descargado a las máquinas host de su cliente y reemplazando los archivos server-ca.pem
existentes.
Después de actualizar todos sus clientes (si se requieren actualizaciones de clientes), complete la rotación:
gcloud sql ssl server-certs rotate \
--instance=INSTANCE_NAME
Confirme que sus clientes se estén conectando correctamente.
Si algún cliente no se conecta utilizando el certificado de servidor recientemente rotado, vuelva a la configuración anterior.
REST versión 1 Crear un certificado de servidor.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "[email protected] ",
"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 "
}
Si necesita descargar información del certificado CA del servidor, puede utilizar el siguiente comando.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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"
}
Completa la rotación.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : El ID del proyecto INSTANCE_ID : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "[email protected] ",
"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 "
}
REST v1beta4 Crear un certificado de servidor.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /addServerCertificate Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "[email protected] ",
"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 "
}
Si necesita descargar información del certificado CA del servidor, puede utilizar el siguiente comando.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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"
}
Completa la rotación.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "[email protected] ",
"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 "
}
Revertir una rotación de certificados Tras completar la rotación del certificado del servidor, todos sus clientes deben usar el nuevo certificado para conectarse a su instancia de Cloud SQL. Si los clientes no se actualizan correctamente para usar la información del nuevo certificado, no podrán conectarse a su instancia mediante SSL/TLS. En tal caso, puede volver a la configuración anterior del certificado.
Una operación de reversión mueve el certificado activo a la ranura "próxima", que reemplaza cualquier certificado "próximo". El certificado "anterior" se convierte en el certificado activo y restaura la configuración de su certificado a su estado anterior a la rotación.
Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Seleccione la pestaña Seguridad . Haga clic para expandir Administrar certificados . Seleccione Revertir certificado de servidor . Si no hay certificados elegibles, la opción de reversión no estará disponible.
En el cuadro de diálogo Confirmar reversión del certificado , seleccione Revertir . La reversión puede tardar unos segundos en completarse.
nube g
gcloud sql ssl server-certs rollback \
--instance=INSTANCE_NAME
REST versión 1 Enumere sus certificados de servidor.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
correspondiente a la versión a la que desea volver.
Busque la versión con un valor createTime
inmediatamente anterior a la versión con el valor sha1Fingerprint
mostrado como activeVersion
.
Retroceder la rotación.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate Cuerpo JSON de la solicitud:
{
"rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint "}
}
Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
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) Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
$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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 Enumere sus certificados de servidor.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /listServerCertificates Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 el campo sha1Fingerprint
correspondiente a la versión a la que desea volver.
Busque la versión con un valor createTime
inmediatamente anterior a la versión con el valor sha1Fingerprint
mostrado como activeVersion
.
Retroceder la rotación.
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
PROJECT_ID : el ID del proyecto INSTANCE_ID : el ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /rotateServerCertificate Cuerpo JSON de la solicitud:
{
"rotateServerCertificateContext": {"nextVersion": "sha1Fingerprint "}
}
Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
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) Guarde el cuerpo de la solicitud en un archivo llamado request.json
y ejecute el siguiente comando:
$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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Ver el contenido de los certificados de CA Puede utilizar la utilidad openssl storeutl
para ver el contenido de los certificados de CA.
Al ejecutar el comando sql ssl server-certs list , siempre se obtienen varios certificados de CA debido a la cadena de confianza. También es posible que se obtengan varios certificados de CA de operaciones anteriores relacionadas con la rotación.
nube g Ejecute el siguiente comando:
gcloud sql ssl server-certs list \
--instance= INSTANCE_NAME \
--format= 'value(cert)' > temp_cert.pem Reemplace INSTANCE_NAME con el nombre de la instancia.
Utilice openssl
para examinar el contenido de los certificados de CA.
openssl storeutl -noout -text temp_cert.pem
Ver el contenido de un certificado de servidor Puede utilizar las utilidades openssl
y el comando sql ssl server-certs list para ver el contenido de un certificado de servidor.
Al ejecutar el comando CLI de gcloud , siempre se obtienen varios certificados de CA debido a la cadena de confianza. También es posible que se obtengan varios certificados de CA de operaciones anteriores relacionadas con la rotación.
nube g Usando solo openssl s_client
:
openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS :3306 Reemplace INSTANCE_IP_ADDRESS con la dirección IP de la instancia.
Usando la gcloud CLI
y openssl storeutl
:
Ejecute el siguiente comando:
gcloud sql ssl server-certs list \
--instance= INSTANCE_NAME \
--format= 'value(ssl_cert.cert)' > temp_cert.pem Reemplace INSTANCE_NAME con el nombre de la instancia.
Utilice openssl
para examinar el contenido de los certificados del servidor.
openssl storeutl -noout -text temp_cert.pem
Descargue paquetes de certificados CA raíz y regionales para una CA compartida Si utiliza una configuración de CA compartida administrada por Google, puede descargar los paquetes de certificados de CA raíz y regionales de la siguiente tabla.
Estos paquetes de certificados no se aplican a instancias que utilizan las opciones de CA administradas por el cliente o por instancia.
Restablecer la configuración SSL/TLS Puede restablecer completamente su configuración SSL/TLS.
Precaución: al realizar esta acción se elimina la posibilidad de conectarse a su instancia mediante SSL/TLS hasta que cree nuevos certificados de cliente para reemplazar los que estaban en uso anteriormente. Consola En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia. Seleccione Conexiones en el menú de navegación de SQL. Vaya a la sección Restablecer configuración SSL . Haga clic en Restablecer configuración SSL . REST v1beta4 Actualizar el certificado:
Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:
project-id : El ID del proyecto instance-id : El ID de la instancia Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /resetSslConfig Para enviar su solicitud, expanda una de estas opciones:
curl (Linux, macOS o Cloud Shell) Nota: El siguiente comando asume que ha iniciado sesión en la CLI gcloud
con su cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o usando Cloud Shell , que inicia sesión automáticamente en la CLI gcloud
. Puede consultar la cuenta activa ejecutando gcloud auth list
. Ejecute el siguiente 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) Ejecute el siguiente 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 Content Debería recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Crear nuevos certificados de cliente . ¿Qué sigue?