Configura certificados SSL/TLS

En esta página, se describe cómo configurar una instancia para usar SSL/TLS. Obtén más información sobre el uso de SSL/TLS con Cloud SQL.

Descripción general

Cloud SQL crea un certificado de servidor (server-ca.pem) automáticamente cuando creas tu instancia.

SQL Server solo realiza la verificación de certificados cuando la solicitud del cliente especifica de manera explícita que requiere una conexión encriptada. En este caso, el certificado de servidor debe instalarse en la máquina cliente. De lo contrario, los clientes podrán conectarse libremente sin necesidad de cambios adicionales en sus strings o certificados de conexión (incluso si “Exigir SSL” está habilitado en la instancia de Cloud SQL).

No es necesario reiniciar la instancia después de cambiar los certificados SSL/TLS.

Para obtener más información, consulta la sección Habilitación de conexiones cifradas en el Motor de base de datos de la documentación de SQL Server.

Requiere SSL/TLS

Cuando se requiere habilitar SSL/TLS, puedes usar el proxy de autenticación de Cloud SQL o los certificados SSL/TLS para conectarte a tu instancia de Cloud SQL. Si no requieres el uso de SSL/TLS, los clientes sin un certificado válido pueden conectarse.

Para habilitar el uso obligatorio de SSL/TLS, sigue estos pasos:

Console

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

    Ir a Instancias de Cloud SQL

  2. Haz clic en el nombre de la instancia para abrir la página Descripción general de esa instancia.
  3. Haz clic en Conexiones en el Menú de navegación de SQL.
  4. Desplázate hacia abajo hasta la sección Seguridad.
  5. Haz clic en Solo permitir conexiones SSL.

gcloud

gcloud sql instances patch INSTANCE_NAME
--require-ssl
  

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:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    Cuerpo JSON de la solicitud:

    {
      "settings": {
        "ipConfiguration": {"requireSsl": "true"}
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

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

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:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Cuerpo JSON de la solicitud:

    {
      "settings": {
        "ipConfiguration": {"requireSsl": "true"}
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

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

Certificados de servidor

Cloud SQL crea un certificado de servidor automáticamente cuando se crea la instancia. Siempre que el certificado del servidor sea válido, no es necesario que lo administres de forma activa. Sin embargo, el certificado tiene una fecha de vencimiento de 10 años. Después de esa fecha, ya no será válido, y los clientes no podrán establecer una conexión segura a la instancia mediante ese certificado. Se te notificará de forma periódica que el certificado del servidor está por vencer. Las notificaciones se envían la siguiente cantidad de días antes de la fecha de vencimiento: 90, 30, 10, 2 y 1.

Puedes obtener información sobre tu certificado de servidor, como la fecha de creación y su vencimiento, o crear uno nuevo de forma manual.

Console

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

    Ir a Instancias de Cloud SQL

  2. Haz clic en el nombre de la instancia para abrir la página Descripción general de esa instancia.
  3. Haz clic en Conexiones en el Menú de navegación de SQL.
  4. Desplázate hacia abajo hasta la sección Administrar certificados de servidor.

    Puedes ver la fecha de vencimiento de tu certificado de servidor en la tabla.

gcloud

  1. Obtén información sobre el certificado de servicio:
    gcloud beta sql ssl server-ca-certs list \
    --instance=INSTANCE_NAME
    
  2. Crea un certificado de servidor:
    gcloud beta sql ssl server-ca-certs create \
    --instance=INSTANCE_NAME
    
  3. 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
    
  4. 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.

Usa conexiones encriptadas

Obtén más información sobre cómo SQL Server usa las conexiones encriptadas.

¿Qué sigue?

  • Administra certificados SSL/TLS en la instancia de Cloud SQL.