Políticas de la organización de Cloud SQL

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta página, se explica cómo usar una política de la organización con tu proyecto de Cloud SQL. Para comenzar a crear políticas de la organización, consulta Agrega políticas de la organización.

Descripción general

Las políticas de la organización permiten que los administradores de la organización establezcan restricciones en la manera en que los usuarios pueden configurar instancias en esa organización. Las políticas de la organización usan reglas, llamadas restricciones, que el administrador de la organización establece en un proyecto, una carpeta o una organización. Las restricciones aplican la política en todas las instancias. Si, por ejemplo, intentas agregar una instancia a una entidad que tiene una política de la organización, la restricción ejecuta una verificación para garantizar que la configuración de la instancia cumpla los requisitos de la restricción. Si la verificación falla, Cloud SQL no crea la instancia.

A medida que agregas proyectos a una organización o carpeta que usa una política de la organización, los proyectos heredan las restricciones de esa política.

Para obtener más información sobre las políticas de la organización, consulta Servicio de políticas de la organización, Restricciones y Evaluación de jerarquías.

Existen dos tipos de políticas de la organización específicas de Cloud SQL:

Políticas de la organización de conexión

Las políticas de la organización de conexión proporcionan un control centralizado de la configuración de las IP públicas de Cloud SQL para reducir la superficie de ataque de seguridad de las instancias de Cloud SQL desde la Internet. Un administrador de políticas de la organización puede usar una política de conexión para restringir los parámetros de configuración de IP públicas de Cloud SQL a nivel de proyecto, organización o carpeta.

Restricciones de la política de la organización de conexión

Para la política de la organización de conexión, hay dos tipos de restricciones que controlan el acceso a las instancias de Cloud SQL.

Restricción Descripción Configuración predeterminada
Restringir el acceso de IP pública en las instancias de Cloud SQL Mediante esta restricción booleana, se limita la configuración de la IP pública en las instancias de Cloud SQL en las que esta restricción se establece en True. Esta restricción no es retroactiva. Las instancias de Cloud SQL con acceso a una IP pública existente aún funcionan incluso después de que se aplique esta restricción.

De forma predeterminada, se permite el acceso de IP pública a las instancias de Cloud SQL.

constraints/sql.restrictPublicIp
ALLOW
Restringir las redes autorizadas en las instancias de Cloud SQL Cuando se establece en True, esta restricción booleana restringe la adición de redes autorizadas para el acceso de bases de datos sin proxy a instancias de Cloud SQL. Esta restricción no es retroactiva. Las instancias de Cloud SQL con redes autorizadas existentes aún funcionan incluso después de que se aplique esta restricción.
De forma predeterminada, puedes agregar redes autorizadas a las instancias de Cloud SQL.

constraints/sql.restrictAuthorizedNetworks
ALLOW

Restricciones para las políticas de conexión de la organización

Cuando estableces la política de la organización para cada proyecto, debes definir si alguna de las siguientes opciones se aplica a tu proyecto:

Conflictos con las direcciones IP públicas de réplicas de lectura

Las réplicas de lectura de Cloud SQL se conectan a la instancia principal a través de la conexión de base de datos sin proxy. Usa la configuración de redes autorizadas de la instancia principal para configurar de forma explícita o implícita las direcciones IP públicas de réplicas de lectura.

Si la instancia principal y la instancia de réplica están dentro de la misma región y habilitan las IP privadas, no se generan conflictos con las restricciones de la política de conexión de la organización.

Incompatibilidad con gcloud sql connect

El comando gcloud sql connect usa una dirección IP pública para conectarse directamente a las instancias de Cloud SQL. Por lo tanto, no es compatible con la restricción sql.restrictPublicIp. Por lo general, es un problema para las instancias que usan una IP privada.

Además, el comando gcloud sql connect no usa el proxy, por lo que es incompatible con la restricción sql.restrictAuthorizedNetworks.

En su lugar, usa la versión beta del comando:

gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]

Esta versión usa el proxy de autenticación de Cloud SQL. Consulta gcloud beta sql connect para obtener información de referencia.

La primera vez que ejecutes este comando, se te pedirá que instales el componente del proxy de autenticación de Cloud SQL de gcloud. Para ello, debes tener permiso de escritura en el directorio de instalación del SDK de gcloud en la máquina cliente.

Acceso a los servicios alojados en GCP

Si la aplicación requiere acceso a instancias de Cloud SQL desde otros servicios alojados en GCP, como App Engine, debe usar direcciones IP públicas. No apliques la restricción sql.restrictPublicIp al proyecto. Sin embargo, puedes aplicar sql.restrictAuthorizedNetworks, ya que las conexiones de App Engine pasan por la conexión segura (con proxy).

Conflictos con las IP públicas de las réplicas de conmutación por error de MySQL

Una réplica de conmutación por error de MySQL funciona igual que una réplica de lectura para las políticas de conexión de la organización. Si la instancia principal y la instancia de réplica están dentro de la misma región y habilitan las IP privadas, no se generan conflictos con las restricciones de la política de conexión de la organización.

Direcciones IP privadas que no son RFC 1918

Las conexiones a una instancia de Cloud SQL mediante una dirección IP privada se autorizan de forma automática para los rangos de direcciones RFC 1918. Esto permite que todos los clientes privados accedan a la base de datos sin pasar por el proxy. Debes configurar rangos de direcciones que no sean RFC 1918 como redes autorizadas.

Para usar rangos de IP privadas que no sean RFC 1918 y que no se hayan configurado en las redes autorizadas, puedes realizar una de las siguientes acciones o ambas:

  1. No apliques sql.restrictAuthorizedNetworks. Si las redes autorizadas también aplican sql.restrictPublicIp, no puedes configurarlas en la consola. En su lugar, usa la API de Cloud SQL o gcloud.
  2. Usa conexiones con proxy para instancias de IP privadas.

Problemas conocidos de las políticas de conexión de la organización

Restricción “Restringe las redes autorizadas”

Para las instancias de Cloud SQL que tienen una entrada de redes autorizadas existente, se permiten entradas adicionales de redes autorizadas, incluso cuando se usa la restricción “Restringir las redes autorizadas” (sql.restrictAuthorizedNetworks). Esto también afecta a las instancias que tienen habilitadas réplicas de solo lectura o de conmutación por error, ya que tienen una entrada de redes autorizadas para la réplica que el usuario no puede ver.

Este problema conocido se solucionará cuando la restricción solo permita la eliminación de las entradas de redes autorizadas, no su adición.

Políticas de la organización relativas a claves de encriptación administradas por el cliente (CMEK)

Cloud SQL admite dos restricciones de políticas de la organización que ayudan a garantizar la protección de las CMEK en una organización: constraints/gcp.restrictNonCmekServices y constraints/gcp.restrictCmekCryptoKeyProjects.

La restricción constraints/gcp.restrictNonCmekServices requiere protección de las CMEK para sqladmin.googleapis.com. Cuando agregas esta restricción y agregas sqladmin.googleapis.com a la lista de servicios Deny de la política, Cloud SQL se niega a crear instancias nuevas, a menos que estén habilitadas con CMEK.

La restricción constraints/gcp.restrictCmekCryptoKeyProjects limita las CryptoKeys de Cloud KMS que se deben usar en la protección de CMEK en instancias de Cloud SQL para MySQL. Con esta restricción, cuando Cloud SQL crea una instancia nueva con CMEK, la CryptoKey debe provenir de un proyecto, una carpeta o una organización permitidos.

Estas restricciones solo se aplican en las instancias de Cloud SQL para MySQL recién creadas.

Si buscas información general, consulta Políticas de la organización relativas a CMEK. Para obtener información sobre las restricciones de las políticas de la organización relativas a CMEK, consulta Restricciones de las políticas de la organización.

Reglas de aplicación de políticas de la organización

Cloud SQL aplica la política de la organización durante las siguientes operaciones:

  • Creación de una instancia
  • Creación de réplicas
  • Reinicio de la instancia
  • Migración de instancias
  • Clonación de instancias

Al igual que todas las restricciones de políticas de la organización, los cambios de política no se aplican de forma retroactiva a las instancias existentes.

  • Una política nueva no afecta a las instancias existentes.
  • La configuración de una instancia existente sigue siendo válida, a menos que un usuario la cambie de un estado de cumplimiento a un estado de no cumplimiento mediante Console, gcloud o RPC.
  • Una actualización de mantenimiento programada no genera la aplicación de una política, ya que el mantenimiento no cambia la configuración de las instancias.

¿Qué sigue?