Administrar certificados SSL/TLS

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

Administra certificados de cliente

Usa los siguientes procedimientos para administrar certificados de cliente en Cloud SQL.

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. En Administra certificados de cliente, haz clic en el nombre de un certificado.
  6. Se abrirá la página Certificado de cliente SSL, en la 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: Es 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: Es 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 panel 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: Es 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: Es 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 los certificados de la AC del servidor (AC por instancia)

En esta sección, se describe cómo administrar los certificados de la AC del servidor que crea Cloud SQL de forma interna. Este es el modo de AC del servidor predeterminado en Cloud SQL. En esta jerarquía de autoridades certificadoras, Cloud SQL crea una AC de servidor para cada instancia.

Rota los certificados de la AC del servidor

Si recibiste una notificación sobre el vencimiento de los certificados o quieres iniciar una rotación, sigue los pasos que se describen a continuación para completar la rotación. Antes de iniciar la rotación, debes tener una AC de servidor nueva en la instancia. Si ya se creó una AC de servidor nueva, puedes omitir el primer paso del siguiente procedimiento.

  1. Crea una nueva AC del servidor.
  2. Descarga la información del nuevo certificado de la AC del servidor:
  3. Actualiza los clientes que usan la información del nuevo certificado de la AC del servidor.
  4. 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.

Console

Descarga la información del nuevo certificado de la AC del 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 Rotate CA certificate.

    Si no hay certificados aptos, la opción de rotación no estará disponible.

  7. Haz clic en Descargar certificados.

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

  • Actualiza todos tus 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 Rotate CA certificate.
  4. Confirma que tus clientes se conectan correctamente.

    Si alguno de los clientes no se conecta a través del certificado que se acaba de rotar, puedes hacer clic en Rollback CA certificate para revertirlo a la configuración anterior.

gcloud

  1. Crea un certificado de la AC del servidor:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. Descarga 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
  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 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 a través del certificado que se acaba de rotar, puedes revertirlo a la configuración anterior.

REST v1

  1. Descarga los certificados de la AC del 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: Es 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: Es 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 la AC del 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: Es 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: Es 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 actualizan correctamente para que usen la información del certificado nuevo, no pueden 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 a la ranura "próximo" (para reemplazar cualquier "próximo" certificado). El certificado "anterior" se convierte en el certificado activo 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 Rollback CA certificate.

    Si no hay certificados aptos, la opción de reversión no estará disponible. De lo contrario, la reversión se completará después de unos segundos.

gcloud

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

REST v1

  1. Descarga los certificados de la AC del 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: Es 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: Es 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 la AC del 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: Es 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: Es 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 ya hay un certificado en la ranura "próximo" en el momento de la solicitud, ese certificado se borrará. 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 Create new CA certificate.
  6. Haz clic para expandir Administrar certificados.
  7. Selecciona Rotate CA certificate.

    Si no hay certificados aptos, la opción de rotación no estará disponible.

  8. Completa la rotación como se describe en Rota los certificados de la AC del servidor.

gcloud

  1. Inicia la rotación:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Completa la rotación como se describe en Rota los certificados de la AC del 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: Es 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 Rota los certificados de la AC del 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: Es 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 Rota los certificados de la AC del servidor.

Obtén información acerca un certificado de la AC del servidor

Puedes obtener información sobre tu certificado de la AC del 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 Manage server CA certificates, puedes ver la fecha de vencimiento de tu certificado de la AC del servidor en la tabla.

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

gcloud

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

REST v1

Cuando describes tu instancia, puedes ver los detalles sobre el certificado de la AC del 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: Es 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

Cuando describes tu instancia, puedes ver los detalles sobre el certificado de la AC del 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: Es 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:

Cómo ver el contenido de los certificados de AC

Puedes usar openssl storeutl para ver el contenido de los certificados de la AC.

Cuando ejecutas el comando beta sql ssl server-ca-certs list, es posible que obtengas varios certificados de AC de operaciones anteriores relacionadas con la rotación.

gcloud

  1. Ejecuta el siguiente comando:
    gcloud beta sql ssl server-ca-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Reemplaza INSTANCE_NAME por el nombre de la instancia.

  2. Usa openssl para examinar el contenido de los certificados de la AC.
  3. openssl storeutl -noout -text temp_cert.pem
       

Cómo ver el contenido de un certificado de servidor

Puedes usar openssl s_client para ver el contenido de los certificados de servidor.

gcloud

Para ver el contenido del certificado del servidor, ejecuta el siguiente comando:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Reemplaza INSTANCE_IP_ADDRESS por la dirección IP de la instancia.

Administra certificados de servidor (AC compartida)

En esta sección, se describe cómo administrar los certificados de servidor en instancias que usan AC compartidas. Puedes habilitar el uso de AC compartidas como el modo de AC del servidor para tu instancia. Para ello, especifica GOOGLE_MANAGED_CAS_CA para el parámetro de configuración serverCaMode (API de Cloud SQL Admin) o la marca --server-ca-mode (gcloud CLI) cuando crees tu instancia.

Rota certificados de servidor

Si recibiste una notificación sobre el vencimiento de los certificados o quieres iniciar una rotación, sigue los pasos que se describen a continuación para completarla. Antes de iniciar la rotación, se debe crear un certificado de servidor nuevo para la próxima rotación. Si ya se creó un certificado de servidor nuevo para la próxima rotación, puedes omitir el primer paso del siguiente procedimiento.

Para rotar el certificado del servidor en tu instancia, sigue estos pasos:

  1. Si necesitas un certificado de servidor nuevo, créalo.

  2. Si tus clientes ya confían en la AC raíz, este paso es opcional. Sin embargo, si necesitas actualizar tus clientes con la información de la AC del servidor, haz lo siguiente:

    1. Descarga la información más reciente de la AC del servidor.
    2. Actualiza los clientes para que usen la información más reciente de la AC del servidor.
  3. Para completar la rotación, mueve el certificado activo a la ranura anterior y actualiza el certificado nuevo para que sea el certificado activo.

Console

No puedes usar la consola de Google Cloud para rotar los certificados del servidor en instancias que usan el servicio de la AC durante la versión preliminar. En su lugar, usa el comando gcloud beta sql ssl server-certs rotate o los comandos de la API de Cloud SQL Admin.

gcloud

  1. Para crear un certificado de servidor, usa el siguiente comando:
    gcloud beta sql ssl server-certs create \
    --instance=INSTANCE
  2. Reemplaza INSTANCE por el nombre de la instancia.
  3. Asegúrate de usar el paquete de AC más reciente. Si no usas el paquete de AC más reciente, ejecuta el siguiente comando para descargar la información más reciente de la AC del servidor de la instancia en un archivo PEM local:
    gcloud beta sql ssl server-certs list \
    --format="value(ca_cert.cert)" \
    --instance=INSTANCE_NAME > \
    FILE_PATH/server-ca.pem

    También puedes descargar los paquetes de AC de la tabla de paquetes de certificados de AC raíz y regionales en esta página.

    Luego, actualiza todos tus clientes para que usen la nueva información de la AC del servidor. 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 actualices todos tus clientes (si se requieren actualizaciones de clientes), completa la rotación:
    gcloud beta sql ssl server-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Confirma que tus clientes se conectan correctamente.

    Si algún cliente no se puede conectar con el certificado del servidor que se acaba de rotar, revierte a la configuración anterior.

REST v1

  1. Crea un certificado 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:

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

    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. Si necesitas descargar la información del certificado de la AC del servidor, puedes usar el siguiente comando.

    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/listServerCertificates

    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. 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: Es 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 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. Crea un certificado 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:

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

    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. Si necesitas descargar la información del certificado de la AC del servidor, puedes usar el siguiente comando.

    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/listServerCertificates

    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. 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/rotateServerCertificate

    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 rotación de certificado

Una vez que completes una rotación de certificado de servidor, todos tus clientes deben usar el certificado nuevo para conectarse a tu instancia de Cloud SQL. Si los clientes no se actualizan correctamente para que usen la información del certificado nuevo, no pueden 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 a la ranura “próximo”, que reemplaza cualquier certificado “próximo”. El certificado “anterior” se convierte en el certificado activo y la configuración del certificado vuelve al estado que tenía antes de que completaras la rotación.

Console

No puedes usar la consola de Google Cloud para revertir los certificados del servidor en instancias que usan el servicio de la AC durante la versión preliminar. En su lugar, usa el comando gcloud beta sql ssl server-certs rollback o los comandos de la API de Cloud SQL Admin.

gcloud

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

REST v1

  1. Enumera 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/listServerCertificates

    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/rotateServerCertificate

    Cuerpo JSON de la solicitud:

    {
      "rotateServerCertificateContext": {"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. Enumera 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/listServerCertificates

    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/rotateServerCertificate

    Cuerpo JSON de la solicitud:

    {
      "rotateServerCertificateContext": {"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:

Cómo ver el contenido de los certificados de AC

Puedes usar la utilidad openssl storeutl para ver el contenido de los certificados de la AC.

Cuando ejecutas el comando beta sql ssl server-certs list, siempre obtienes varios certificados de AC debido a la cadena de confianza. También es posible que obtengas varios certificados de AC de operaciones anteriores relacionadas con la rotación.

gcloud

  1. Ejecuta el siguiente comando:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(cert)' > temp_cert.pem

    Reemplaza INSTANCE_NAME por el nombre de la instancia.

  2. Usa openssl para examinar el contenido de los certificados de la AC.
  3. openssl storeutl -noout -text temp_cert.pem
       

Cómo ver el contenido de un certificado de servidor

Puedes usar las utilidades openssl y el comando beta sql ssl server-certs list para ver el contenido de un certificado de servidor.

Cuando ejecutas el comando gcloud CLI, siempre obtienes varios certificados de AC debido a la cadena de confianza. También es posible que obtengas varios certificados de AC de operaciones anteriores relacionadas con la rotación.

gcloud

Usa solo openssl s_client:

openssl s_client -starttls mysql -connect INSTANCE_IP_ADDRESS:3306

Reemplaza INSTANCE_IP_ADDRESS por la dirección IP de la instancia.

Usa gcloud CLI y openssl storeutl:

  1. Ejecuta el siguiente comando:
    gcloud beta sql ssl server-certs list \
      --instance=INSTANCE_NAME \
      --format='value(ssl_cert.cert)' > temp_cert.pem

    Reemplaza INSTANCE_NAME por el nombre de la instancia.

  2. Usa openssl para examinar el contenido de los certificados del servidor.
  3. openssl storeutl -noout -text temp_cert.pem
       

Descarga paquetes de certificados de AC raíz y regionales

Puedes descargar los paquetes de certificados de AC raíz y regionales de la siguiente tabla.

Nombre de la región Ubicación Paquete de certificados
Global
AC para todas las regiones Todas las ubicaciones global.pem
Asia
asia-east1 Taiwán asia-east1.pem
asia-east2 Hong Kong asia-east2.pem
asia-northeast1 Tokio asia-northeast1.pem
asia-northeast2 Osaka asia-northeast2.pem
asia-northeast3 Seúl asia-northeast3.pem
asia-south1 Bombay asia-south1.pem
asia-south2 Delhi asia-south2.pem
asia-southeast1 Singapur asia-southeast1.pem
asia-southeast2 Yakarta asia-southeast2.pem
África
africa-south1 Johannesburgo africa-south1.pem
Australia
australia-southeast1 Sídney australia-southeast1.pem
australia-southeast2 Melbourne australia-southeast2.pem
Europa
europe-central2 Varsovia europe-central2.pem
europe-north1 Finlandia europe-north1.pem
europe-southwest1 Madrid europe-southwest1.pem
europe-west1 Bélgica europe-west1.pem
europe-west2 Londres europe-west2.pem
europe-west3 Fráncfort europe-west3.pem
europe-west4 Países Bajos europe-west4.pem
europe-west6 Zúrich europe-west6.pem
europe-west8 Milán europe-west8.pem
europe-west9 París europe-west9.pem
europe-west10 Berlín europe-west10.pem
europe-west12 Turín europe-west12.pem
Oriente Medio
me-central1 Doha me-central1.pem
me-central2 Dammam me-central2.pem
me-west1 Tel Aviv me-west1.pem
Norteamérica
northamerica-northeast1 Montreal northamerica-northeast1.pem
northamerica-northeast2 Toronto northamerica-northeast2.pem
northamerica-south1 México northamerica-south1.pem
us-central1 Iowa us-central1.pem
us-east1 Carolina del Sur us-east1.pem
us-east4 Virginia del Norte us-east4.pem
us-east5 Columbus us-east5.pem
us-south1 Dallas us-south1.pem
us-west1 Oregón us-west1.pem
us-west2 Los Ángeles us-west2.pem
us-west3 Salt Lake City us-west3.pem
us-west4 Las Vegas us-west4.pem
Sudamérica
southamerica-east1 São Paulo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

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. Ve a la sección Restablecer la configuración de SSL.
  5. Haz clic en Restablecer la configuración de 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: Es 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