Administrar certificados SSL/TLS

En esta página, se describe cómo administrar certificados de cliente y de servidor.

Administra certificados de cliente

Recupera un certificado de cliente

Puedes recuperar la parte de la clave pública de un certificado de cliente. Sin embargo, no puedes recuperar la clave privada. Si perdiste tu clave privada, tendrás que crear un certificado nuevo.

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la pestaña Seguridad.
  5. Debajo de Administrar certificados de clientes, haz clic en el nombre del certificado.
  6. Se abrirá el cuadro de diálogo Certificado de cliente SSL, en el que se mostrará el certificado de cliente (client-cert.pem) con un vínculo para descargar el certificado.

gcloud

Recupera 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 v1

  1. Enumera los certificados en la instancia para obtener la huella digital del certificado que deseas recuperar:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    Registra el campo sha1Fingerprint del certificado que deseas recuperar. No incluyas las comillas.

  2. Recupera el certificado:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: el ID del proyecto
    • instance-id: El ID de la instancia
    • sha1FingerPrint: El sha1FingerPrint del certificado

    Método HTTP y URL:

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

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  3. Copia todos los datos del certificado que están entre comillas en un archivo, por ejemplo, client-cert.pem. No copies las comillas.

REST v1beta4

  1. Enumera los certificados en la instancia para obtener la huella digital del certificado que deseas recuperar:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    Registra el campo sha1Fingerprint del certificado que deseas recuperar. No incluyas las comillas.

  2. Recupera el certificado:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: el ID del proyecto
    • instance-id: El ID de la instancia
    • sha1FingerPrint: El sha1FingerPrint del certificado

    Método HTTP y URL:

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

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  3. Copia todos los datos del certificado que están entre comillas en un archivo, por ejemplo, client-cert.pem. No copies las comillas.

Borra un certificado de cliente

Cuando borras un certificado de cliente, el servidor de la base de datos se actualiza y no es necesario reiniciarlo.

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la pestaña Seguridad.
  5. En Administrar certificados de cliente, busca el certificado que deseas borrar y haz clic en Borrar.
  6. En el cuadro de diálogo Borrar certificado de cliente, haz clic en Aceptar.

gcloud

Borra el certificado de cliente mediante el comando ssl client-certs delete:

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

REST v1

  1. Enumera los certificados en la instancia para obtener la huella digital del certificado que deseas borrar:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    Registra el campo sha1Fingerprint del certificado que deseas borrar. No incluyas las comillas.

  2. Borra el certificado:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: el ID del proyecto
    • instance-id: El ID de la instancia
    • sha1FingerPrint: El sha1FingerPrint del certificado

    Método HTTP y URL:

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

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

  1. Enumera los certificados en la instancia para obtener la huella digital del certificado que deseas borrar:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    Registra el campo sha1Fingerprint del certificado que deseas borrar. No incluyas las comillas.

  2. Borra el certificado:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: el ID del proyecto
    • instance-id: El ID de la instancia
    • sha1FingerPrint: El sha1FingerPrint del certificado

    Método HTTP y URL:

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

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Administra certificados de servidor

Rota certificados de servidor

Si recibiste una notificación sobre el vencimiento de los certificados o iniciaste una rotación, tendrás que seguir los pasos que se describen a continuación para completar la rotación:

  1. Descarga la información del nuevo certificado de servidor.
  2. Actualiza los clientes que usan la información del nuevo certificado de servidor.
  3. Completa la rotación, que traslada el certificado activo a la ranura “anterior” y actualiza el certificado que se agregó recientemente para que sea el certificado activo.

Consola

Descarga la información del nuevo certificado de servidor:

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la pestaña Seguridad.
  5. Haz clic para expandir Administrar certificados.
  6. Selecciona Rotar certificado.

    La opción de rotación aparecerá inhabilitada si no hay certificados aptos.

  7. Haz clic en Descargar certificados.

La información del certificado de servidor, codificada como un archivo PEM, se descarga en tu entorno local:

  • Actualiza todos los clientes de MySQL a fin de usar la información nueva. Para ello, copia el archivo descargado en las máquinas anfitrionas de cliente y reemplaza el archivo server-ca.pem existente.

Una vez que actualizaste los clientes, completa la rotación.

  1. Regresa a la pestaña Seguridad.
  2. Haz clic para expandir Administrar certificados.
  3. Selecciona Rotar certificado.
  4. Confirma que tus clientes se conectan correctamente.
  5. Si alguno de los clientes no se conecta mediante el certificado que se acaba de rotar, puedes hacer clic en Revertir certificado para revertirlo a la configuración anterior.

gcloud

  1. Crea un certificado de servidor:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE
    
  2. Descarga la información del certificado a un archivo PEM local:
    gcloud beta sql ssl server-ca-certs list \
    --format="value(cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/FILE_NAME.pem
    
  3. Actualiza todos los clientes a fin de usar la información nueva. Para ello, copia el archivo descargado en las máquinas anfitrionas de cliente y reemplaza los archivos server-ca.pem existentes.
  4. Una vez que actualizaste los clientes, completa la rotación.
    gcloud beta sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Confirma que tus clientes se conectan correctamente.

    Si algún cliente no se puede conectar mediante el certificado que se acaba de rotar, puedes revertirlo a la configuración anterior.

REST v1

  1. Descarga los certificados de servidor:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Completa la rotación:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

  1. Descarga los certificados de servidor:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Completa la rotación:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Revierte una operación de rotación de un certificado

Una vez que completas una rotación de certificado, todos tus clientes deben usar el certificado nuevo para conectarse a tu instancia de Cloud SQL. Si los clientes no se actualizaron correctamente para que usen la información del certificado nuevo, no podrán conectarse con SSL/TLS a tu instancia. Si esto sucede, puedes revertir a la configuración anterior del certificado.

Una operación de reversión mueve el certificado activo actual a la ranura "próximo" (para reemplazar cualquier "próximo" certificado). El certificado "anterior" se convierte en el certificado activo actual y la configuración del certificado vuelve al estado que tenía antes de que completaras la rotación.

Para revertir a la configuración anterior de certificado, realiza los siguientes pasos:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la pestaña Seguridad.
  5. Haz clic para expandir Administrar certificados.
  6. Selecciona Revertir certificado.

    La opción de rotación se inhabilita si no hay certificados aptos. De lo contrario, la reversión se completará después de unos segundos.

gcloud

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

REST v1

  1. Descarga los certificados de servidor:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Copia el campo sha1Fingerprint de la versión a la que quieres revertir.

    Busca la versión que tenga un valor createTime inmediatamente anterior a la versión que tiene el valor sha1Fingerprint que se muestra como activeVersion.

  3. Revierte la rotación:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

  1. Descarga los certificados de servidor:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Copia el campo sha1Fingerprint de la versión a la que quieres revertir.

    Busca la versión que tenga un valor createTime inmediatamente anterior a la versión que tiene el valor sha1Fingerprint que se muestra como activeVersion.

  3. Revierte la rotación:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Inicia una rotación

No es necesario que esperes hasta recibir el correo electrónico de Cloud SQL para iniciar una rotación. Puedes hacerlo en cualquier momento. Cuando inicias una rotación, se crea un certificado nuevo que se posiciona en la ranura "próximo". Si hubiere un certificado en la ranura "próximo", se borra. Solo puede haber un certificado próximo.

Para iniciar la rotación, realiza los siguientes pasos:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la pestaña Seguridad.
  5. Haz clic en Crear certificado nuevo.
  6. Haz clic para expandir Administrar certificados.
  7. Selecciona Rotar certificado.

    La opción de rotación aparecerá inhabilitada si no hay certificados aptos.

  8. Completa la rotación como se describe en la sección Rota certificados de servidor.

gcloud

  1. Inicia la rotación:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Completa la rotación tal como se describe en Rota certificados de servidor.

REST v1

  1. Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Completa la rotación como se describe en la sección Rota certificados de servidor.

REST v1beta4

  1. Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Completa la rotación como se describe en la sección Rota certificados de servidor.

Obtén información sobre un certificado de servidor

Puedes obtener información sobre tu certificado de servidor, por ejemplo, la fecha de vencimiento o el nivel de encriptación que proporciona.

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la pestaña Seguridad.

    En Administrar certificados de servidor, puedes ver la fecha de vencimiento de tu certificado de servidor en la tabla.

    Para ver el tipo de certificado, usa el comando gcloud beta sql ssl server-ca-certs list --instance=INSTANCE_NAME.

gcloud

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

REST v1

Puedes ver los detalles sobre el certificado de servidor cuando describes tu instancia:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • 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 tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

REST v1beta4

Puedes ver los detalles sobre el certificado de servidor cuando describes tu instancia:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • 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 tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Restablece la configuración de SSL/TLS

Puedes restablecer completamente la configuración de SSL/TLS.

Console

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Desplázate hacia abajo hasta la sección Restablecer la configuración de SSL.
  5. Haz clic en Restablecer la configuració nde SSL.

gcloud

  1. Actualiza el certificado:

    gcloud sql instances reset-ssl-config INSTANCE_NAME
    
  2. gcloud sql instances restart INSTANCE_NAME
    
  3. Crea nuevos certificados de cliente.

REST v1beta4

  1. Actualiza el certificado:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • 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 tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

  2. Crea nuevos certificados de cliente.

Próximos pasos