Administrar certificados SSL/TLS

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

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. Seleccione la pestaña Seguridad .
  5. En Administrar certificados de cliente , haga clic en el nombre de un certificado.
  6. 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

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

    Registre el campo sha1Fingerprint del certificado que desea recuperar. No incluya las comillas.

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

  3. Copie todos los datos del certificado entre comillas a un archivo, por ejemplo, client-cert.pem . No copie las comillas.

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

    Registre el campo sha1Fingerprint del certificado que desea recuperar. No incluya las comillas.

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

  3. 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

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. Seleccione la pestaña Seguridad .
  5. En Administrar certificados de cliente , busque el certificado que desea eliminar y haga clic enBorrar. .
  6. 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

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

    Registre el campo sha1Fingerprint del certificado que desea eliminar. No incluya las comillas.

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/sslCerts

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

    Registre el campo sha1Fingerprint del certificado que desea eliminar. No incluya las comillas.

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

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.

  1. Crear una nueva CA de servidor.
  2. Descargue la nueva información del certificado CA del servidor.
  3. Actualice a sus clientes para utilizar la nueva información del certificado CA del servidor.
  4. 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.

Consola

Descargue el nuevo certificado CA del servidor, codificado como un archivo PEM, a su entorno local:

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. Seleccione la pestaña Seguridad .
  5. Haga clic para expandir Administrar certificados .
  6. 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 .

  7. Haga clic en Descargar certificados .

Actualice todos sus clientes PostgreSQL para usar la nueva información copiando el archivo descargado en las máquinas host de sus clientes y reemplazando el archivo server-ca.pem existente.

Después de haber actualizado a sus clientes, complete la rotación:

  1. Regresar a la pestaña Seguridad .
  2. Haga clic para expandir Administrar certificados .
  3. Seleccione Rotar certificado de CA.
  4. Confirme que sus clientes se estén conectando correctamente.
  5. 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

  1. Crear un certificado CA de servidor:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE
  2. 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
  3. 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.
  4. Después de haber actualizado a sus clientes, complete la rotación:
    gcloud sql ssl server-ca-certs rotate \
    --instance=INSTANCE_NAME
          
  5. Confirme que sus clientes se estén conectando correctamente.
  6. Si algún cliente no se conecta utilizando el certificado recién rotado, puede volver a la configuración anterior.

REST versión 1

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

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.

Para volver a la configuración anterior del certificado:

Consola

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. Seleccione la pestaña Seguridad .
  5. Haga clic para expandir Administrar certificados .
  6. 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

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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 .

  3. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/listServerCas

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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 .

  3. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

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

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

    Ir a Instancias de Cloud SQL

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

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

  8. Complete la rotación como se describe en Rotar certificados de CA del servidor .

nube g

  1. Iniciar la rotación:
    gcloud sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
         
  2. Complete la rotación como se describe en Rotar certificados de CA del servidor .

REST versión 1

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. Complete la rotación como se describe en Rotar certificados de CA del servidor .

REST v1beta4

  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/sql/v1beta4/projects/project-id/instances/instance-id/rotateServerCa

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. 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:

Debería recibir una respuesta JSON similar a la siguiente:

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:

Debería recibir una respuesta JSON similar a la siguiente:

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

  1. 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.

  2. Utilice openssl para examinar el contenido de los certificados de CA.
  3. 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 postgres -connect INSTANCE_IP_ADDRESS:5432

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:

  1. Si necesita un nuevo certificado de servidor, cree uno .

  2. 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:

    1. Descargue la información más reciente de CA del servidor.
    2. Actualice a sus clientes para utilizar la información más reciente de CA del servidor.
  3. 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:

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. Seleccione la pestaña Seguridad .
  5. Haga clic para expandir Administrar certificados .
  6. 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 .

  7. Haga clic en Descargar certificados .

Actualice todos sus clientes PostgreSQL para usar la nueva información copiando el archivo descargado en las máquinas host de sus clientes y reemplazando el archivo server-ca.pem existente.

Después de haber actualizado a sus clientes, complete la rotación:

  1. Regresar a la pestaña Seguridad .
  2. Haga clic para expandir Administrar certificados .
  3. Seleccione Rotar certificado .
  4. En el cuadro de diálogo Confirmar rotación de certificado , haga clic en Rotar .
  5. 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

  1. Para crear un certificado de servidor, utilice el siguiente comando:
    gcloud sql ssl server-certs create \
    --instance=INSTANCE
  2. Reemplace INSTANCE con el nombre de la instancia.
  3. 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.

  4. 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
          
  5. 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

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

  3. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

REST v1beta4

  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/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/addServerCertificate

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

  3. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

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

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

    Ir a Instancias de Cloud SQL

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

    Si no hay certificados elegibles, la opción de reversión no estará disponible.

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

  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:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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 .

  3. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

REST v1beta4

  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/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/listServerCertificates

    Para enviar su solicitud, expanda una de estas opciones:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. 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 .

  3. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

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

  1. 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.

  2. Utilice openssl para examinar el contenido de los certificados de CA.
  3. 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 postgres -connect INSTANCE_IP_ADDRESS:5432

Reemplace INSTANCE_IP_ADDRESS con la dirección IP de la instancia.

Usando la gcloud CLI y openssl storeutl :

  1. 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.

  2. Utilice openssl para examinar el contenido de los certificados del servidor.
  3. 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.

Nombre de la región Ubicación Paquete de certificados
Global
CA 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 Jacarta asia-southeast2.pem
África
africa-south1 Johannesburg 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-north2 Estocolmo europe-north2.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 Berlina 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
América del norte
northamerica-northeast1 Montreal northamerica-northeast1.pem
northamerica-northeast2 Toronto northamerica-northeast2.pem
northamerica-south1 México northamerica-south1.pem
us-central1 Iowa us-central1.pem
us-east1 Carolina del Sur us-east1.pem
us-east4 Virginia del Norte us-east4.pem
us-east5 Colón 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 Ciudad del lago salado us-west3.pem
us-west4 Las Vegas us-west4.pem
Sudamerica
southamerica-east1 São Paulo southamerica-east1.pem
southamerica-west1 Santiago southamerica-west1.pem

Restablecer la configuración SSL/TLS

Puede restablecer completamente su configuración SSL/TLS.

Consola

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

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de SQL.
  4. Vaya a la sección Restablecer configuración SSL .
  5. Haga clic en Restablecer configuración SSL .

nube g

  1. Actualizar el certificado:

    gcloud sql instances reset-ssl-config INSTANCE_NAME
  2. Crear nuevos certificados de cliente .

REST v1beta4

  1. 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:

    Debería recibir una respuesta JSON similar a la siguiente:

  2. Crear nuevos certificados de cliente .

¿Qué sigue?