Seguridad, privacidad, riesgos y cumplimiento de AlloyDB para PostgreSQL

En este documento se ofrece una descripción general de los distintos controles que admiten la seguridad de AlloyDB para PostgreSQL en Google Cloud y se incluyen enlaces a más información sobre cómo configurar los controles. Los controles de seguridad, como las opciones de seguridad de la red, las políticas y la gestión de accesos, también pueden ayudarte a abordar los riesgos de tu empresa y a cumplir los requisitos de privacidad y normativas que se aplican a tu negocio.

La seguridad, la privacidad, los riesgos y el cumplimiento de AlloyDB para PostgreSQL se basan en un modelo de responsabilidad compartida. Por ejemplo, Google protege la infraestructura en la que se ejecutan AlloyDB para PostgreSQL y otros Google Cloud servicios, y te proporciona las funciones que te ayudan a gestionar el acceso a tus servicios y recursos. Para obtener más información sobre cómo protegemos la infraestructura, consulta la descripción general del diseño de la seguridad de la infraestructura de Google.

Arquitectura de AlloyDB

En el siguiente diagrama se muestran los componentes de la arquitectura de AlloyDB.

Arquitectura de AlloyDB.

Los componentes incluyen lo siguiente:

  • Las instancias de AlloyDB se implementan en varias zonas para ofrecer alta disponibilidad y resiliencia.
  • Una aplicación en Google Cloud o en otro entorno que se conecta a la instancia principal de AlloyDB. En el diagrama se muestra la aplicación que se ejecuta en el mismo proyecto que AlloyDB, aunque también puedes ejecutarla en otro proyecto de tu organización. Google Cloud Google Cloud
  • En un entorno híbrido, Cloud VPN o Cloud Interconnect pueden proporcionar acceso a los recursos de tu red corporativa.
  • Un perímetro de servicio creado con Controles de Servicio de VPC. Controles de Servicio de VPC te permite controlar el movimiento de datos entre servicios o recursos de Google y configurar la seguridad perimetral basada en el contexto.

Para obtener información sobre el endpoint de AlloyDB, consulta la API de AlloyDB. De forma predeterminada, este endpoint no es un endpoint enrutable públicamente y no puede recibir tráfico entrante de redes públicas. Para permitir que las instancias de AlloyDB reciban tráfico entrante a través de redes públicas, consulta Conectarse mediante una IP pública.

Para obtener información sobre los conectores de AlloyDB, consulta Conectividad de aplicaciones.

Servicios aprovisionados

Cuando empiezas a usar AlloyDB, habilitas las siguientes APIs:

Para obtener más información, consulta la guía de inicio rápido para crear una base de datos y conectarse a ella.

Autenticación para la gestión de Google Cloud

Los administradores y desarrolladores que crean y gestionan instancias de AlloyDB deben autenticarse en Google Cloud para verificar su identidad y sus privilegios de acceso. Debes configurar cada usuario con una cuenta de usuario gestionada por Cloud Identity, Google Workspace o un proveedor de identidades con el que hayas federado Cloud Identity o Google Workspace. Para obtener más información, consulta la descripción general de la gestión de identidades y accesos.

Después de crear las cuentas de usuario, implementa las prácticas recomendadas de seguridad, como el inicio de sesión único y la verificación en dos pasos. Para obtener más información sobre las prácticas recomendadas de autenticación, consulta Gestionar la identidad y el acceso.

Gestión de Identidades y Accesos

Para gestionar los roles de Gestión de Identidades y Accesos (IAM) a gran escala de tus administradores y desarrolladores, te recomendamos que crees grupos funcionales independientes para los distintos roles de usuario y aplicaciones de tu base de datos. Concede a tus grupos los roles o permisos de gestión de identidades y accesos necesarios para gestionar AlloyDB. Cuando asignes roles a tus grupos, sigue el principio de mínimos accesos y otras prácticas recomendadas de seguridad de IAM. Para obtener más información, consulta las prácticas recomendadas para usar Grupos de Google.

Para obtener más información sobre cómo configurar la gestión de identidades y accesos, consulta el artículo Información general sobre la gestión de identidades y accesos.

Cuando los clientes usan la autenticación de bases de datos de gestión de identidades y accesos para acceder a AlloyDB, también puedes usar IAM para controlar su acceso a AlloyDB. Para obtener más información sobre los roles de gestión de identidades y accesos necesarios para AlloyDB, consulta Roles y permisos de gestión de identidades y accesos para AlloyDB.

Si usas Auth Proxy o Language Connectors (como se describe en Conectividad de aplicaciones), puedes usar IAM para controlar qué cargas de trabajo de aplicaciones pueden conectarse a AlloyDB. Para obtener más información sobre cómo usar la gestión de identidades y accesos con el proxy de autenticación, consulta Elegir la entidad de gestión de identidades y accesos y prepararla para la autorización. Para usar la autenticación automática de gestión de identidades y accesos con los conectores de lenguaje de AlloyDB, consulta Gestionar la autenticación de gestión de identidades y accesos.

Cuentas de servicio y agentes de servicio predeterminados

Una cuenta de servicio es un tipo especial de cuenta de Google no interactiva diseñada para representar a un usuario no humano que necesita autenticarse y obtener autorización para acceder a los datos de las APIs de Google. Como AlloyDB es un servicio totalmente gestionado, Google gestiona tu cuenta de servicio de AlloyDB en tu nombre. Cuando habilitas AlloyDB, se crea una cuenta de servicio de AlloyDB para tu proyecto (service-PROJECT_NUMBER-gcp-sa-alloydb-iam.gserviceaccount.com). Los recursos de AlloyDB, como el servidor PostgreSQL, usan esta cuenta de servicio para ejecutarse.

Los agentes de servicio son los roles y permisos de gestión de identidades y accesos que usan algunos Google Cloudservicios para acceder a tus recursos y actuar en tu nombre. La cuenta de servicio de AlloyDB gestionada usa los privilegios de IAM del agente de servicio de AlloyDB.

Políticas de AlloyDB

Las políticas de organización predefinidas que se aplican a AlloyDB definen si AlloyDB puede usar claves de cifrado gestionadas por el cliente (CMEK) para cifrar tus datos. Configura AlloyDB para que use CMEK si tus obligaciones normativas requieren que tengas más control sobre las claves que se usan para cifrar los datos en reposo de AlloyDB. Entre las políticas se incluyen las siguientes:

  • Restringe los servicios que pueden crear recursos sin CMEK. (constraints/gcp.restrictNonCmekServices)
  • Restringe los proyectos que pueden proporcionar CryptoKeys de Cloud KMS para CMEK (constraints/gcp.restrictCmekCryptoKeyProjects)

Para obtener más información, consulta Usar políticas de organización predefinidas.

Puedes usar políticas de organización personalizadas para configurar restricciones en AlloyDB a nivel de proyecto, carpeta u organización. Si habilitas las direcciones IP públicas, te recomendamos que configures una restricción de política personalizada para determinar quién puede usar la dirección IP pública. Para refinar tus políticas, puedes añadir campos de instancia de AlloyDB (por ejemplo, habilitar la dirección IP pública o habilitar la dirección IP pública saliente) a la política. Para obtener más información, consulta Usar políticas de organización personalizadas.

Seguridad de la red

De forma predeterminada, Google aplica protecciones predeterminadas a los datos en tránsito de todos losGoogle Cloud servicios, incluidas las instancias de AlloyDB que se ejecutan en Google Cloud. Para obtener más información sobre las protecciones de red predeterminadas, consulta el artículo Cifrado en tránsito.

AlloyDB admite el cifrado TLS 1.3 para la comunicación entre la instancia de base de datos y los clientes. AlloyDB genera automáticamente el certificado de servidor para esta conexión. Para usar certificados de cliente en la autenticación mutua, debes configurar un conector de lenguaje de AlloyDB (que usa la autenticación mTLS) o el proxy de autenticación de AlloyDB.

Si tu organización lo requiere, puedes configurar controles de seguridad adicionales para proteger aún más el tráfico de la red Google Cloud y el tráfico entre la red Google Cloud y tu red corporativa. Ten en cuenta lo siguiente:

  • AlloyDB es compatible con Controles de Servicio de VPC. Controles de Servicio de VPC te permite controlar el movimiento de datos en los servicios de Google y configurar la seguridad perimetral basada en el contexto. Para obtener más información sobre cómo configurar Controles de Servicio de VPC, consulta el artículo Configurar Controles de Servicio de VPC.

    • Si habilitas las direcciones IP públicas, usa AlloyDB Language Connectors y una política de organización personalizada para controlar quién tiene acceso a las instancias de AlloyDB.
  • En Google Cloud, considera la VPC compartida como tu topología de red. Las VPC compartidas ofrecen una gestión centralizada de la configuración de la red y, al mismo tiempo, mantienen la separación de los entornos.

  • Usa Cloud VPN o Cloud Interconnect para maximizar la seguridad y la fiabilidad de la conexión entre tu red corporativa yGoogle Cloud. Para obtener más información, consulta Elegir un producto de Network Connectivity.

Para obtener más información sobre las prácticas recomendadas de seguridad de redes, consulta Implementar la confianza cero y Decidir el diseño de la red de tu zona de aterrizaje Google Cloud .

Conectividad de aplicaciones

Puedes proteger la conexión entre las aplicaciones y AlloyDB con los siguientes métodos:

En el siguiente diagrama se muestran las opciones de conectividad.

Opciones de conectividad de AlloyDB.

Para obtener más información sobre las opciones para configurar conexiones a servicios sin una dirección IP externa, consulta el artículo sobre las opciones de acceso privado a servicios.

Autenticación de la base de datos

AlloyDB proporciona los siguientes métodos de autenticación para clientes de bases de datos:

  • Autenticación de base de datos integrada con un nombre de usuario y una contraseña. La autorización se determina mediante las instrucciones GRANT o REVOKE. Para obtener más información, consulta Gestionar roles de usuario de AlloyDB.
  • Autenticación de IAM mediante principales de IAM, como usuarios y cuentas de servicio. Los conectores de lenguaje de AlloyDB pueden automatizar el proceso de autenticación de IAM. Para obtener más información, consulta la información general de AlloyDB Language Connectors. La autenticación de gestión de identidades y accesos ofrece las siguientes ventajas:
    • Control de acceso unificado: Gestión de Identidades y Accesos centraliza el control de acceso en todos los recursos, incluidas las bases de datos. Google Cloud El control de acceso unificado implica políticas coherentes y una gestión más sencilla de los usuarios y los roles.
    • Gestión de credenciales reducida: los usuarios no necesitan contraseñas de bases de datos independientes. La autenticación de gestión de identidades y accesos usa las credenciales de su cuenta de Google.
    • Tokens de corta duración: la autenticación de IAM usa tokens de acceso de corta duración, lo que reduce el riesgo de que se filtren contraseñas o se vean comprometidas las credenciales.

Conectores

Puedes usar AlloyDB Auth Proxy o un conector de lenguaje de AlloyDB para configurar una conexión cifrada al cliente de la base de datos. AlloyDB Auth Proxy es un proxy del lado del cliente que actualiza de forma transparente las conexiones que no usan TLS a conexiones TLS 1.3. Los conectores de lenguaje son bibliotecas de cliente que se conectan a un servidor proxy en el clúster de AlloyDB. Ambos conectores usan IAM para autorizar la conexión y protegerla mediante mTLS. También puedes configurar la autenticación sin contraseña en lugar de la autenticación de IAM.

Si usas el proxy de autenticación, consulta las prácticas recomendadas para usar el proxy de autenticación de AlloyDB.

Protección de datos y privacidad

En esta sección se describe cómo protege AlloyDB tus datos y la privacidad de esos datos.

AlloyDB cifra los datos almacenados en tu clúster (por ejemplo, el nombre de la instancia, la configuración de la instancia, el contenido de las tablas, los nombres de las filas y las funciones personalizadas) mediante el cifrado predeterminado. Solo las instancias de AlloyDB pueden acceder a estos datos.

Puedes habilitar las claves de cifrado gestionadas por el cliente (CMEK) para cifrar los datos de tu clúster en reposo. Con las CMEK, las claves se almacenan en Cloud KMS como claves protegidas por software o por hardware (con Cloud HSM), pero las gestionas tú. Para aprovisionar claves de encriptado automáticamente, puedes habilitar Autokey de Cloud KMS. Cuando habilitas Autokey, un desarrollador puede solicitar una clave a Cloud KMS y el agente de servicio aprovisiona una clave que se ajusta a la intención del desarrollador. Con Autokey de Cloud KMS, las claves están disponibles bajo demanda, son coherentes y siguen las prácticas estándar del sector.

Además, AlloyDB admite Cloud External Key Manager (Cloud EKM), que te permite almacenar tus claves en un gestor de claves externo fuera de Google Cloud. Si usas Cloud EKM, Justificaciones de Acceso a Claves añade un campo a tus solicitudes de Cloud EKM que te permite ver el motivo de cada solicitud. Con determinados partners de gestión de claves externas, puedes aprobar o rechazar automáticamente estas solicitudes en función de la justificación.

Dónde se tratan los datos

AlloyDB admite la residencia de datos de los datos almacenados en tu clúster. La residencia de datos te permite elegir las regiones en las que quieres que se almacenen tus datos mediante la restricción de la política de ubicación de recursos. Puedes usar Inventario de Recursos de Cloud para verificar la ubicación de los recursos de AlloyDB.

Si necesitas que los datos en uso residan en un lugar concreto, puedes configurar Assured Workloads. Para obtener más información, consulta Assured Workloads y residencia de los datos.

Privacidad de los datos

Para proteger la privacidad de tus datos, AlloyDB cumple los principios de privacidad comunes.

AlloyDB actúa como encargado del tratamiento de los Datos del Cliente. Google también actúa como responsable del tratamiento de datos en relación con información como la facturación, la gestión de cuentas y la detección de abusos. Para obtener más información, consulta el Google Cloud Aviso de Privacidad.

Registros de auditoría

AlloyDB escribe los siguientes tipos de registros de auditoría:

  • Registros de auditoría de actividad de administración: incluye operaciones ADMIN WRITE que escriben metadatos o información de configuración.
  • Registros de auditoría de acceso a datos: incluye operaciones ADMIN READ que leen metadatos o información de configuración. También incluye operaciones de DATA READ y DATA WRITE que leen o escriben datos proporcionados por el usuario.
  • Registros de auditoría de eventos del sistema: identifica las acciones automatizadas Google Cloud que modifican la configuración de los recursos.

Para obtener más información, consulta Registros de auditoría de AlloyDB.

Además, para cumplir los requisitos normativos, puede usar la extensión pgAudit para habilitar un registro de auditoría de los comandos de la base de datos. Los registros de la extensión pgAudit incluyen detalles sobre los comandos que se han ejecutado, cuándo se han ejecutado y quién los ha ejecutado.

Transparencia de acceso

Puedes usar Aprobación de acceso y Transparencia de acceso para controlar el acceso a las instancias de AlloyDB por parte del personal de Google que ofrece asistencia para el servicio. Gracias a la función Aprobación de acceso, puedes aprobar o denegar las solicitudes de acceso que recibas de los empleados de Google. Los registros de Transparencia de acceso ofrecen información casi en tiempo real cuando losGoogle Cloud administradores acceden a los recursos.

Monitorización y respuesta a incidentes

Puedes usar varias herramientas para monitorizar el rendimiento y la seguridad de AlloyDB. Ten en cuenta lo siguiente:

  • Usa Explorador de registros para ver y analizar registros de eventos, así como para crear métricas personalizadas y alertas.
  • Usa el panel de control Estadísticas del sistema de AlloyDB o el panel de control de Cloud Monitoring para monitorizar el rendimiento de las instancias de AlloyDB. Para obtener más información, consulta Monitorizar instancias.
  • Habilita la extensión pgAudit para auditar las operaciones de AlloyDB (como los comandos y las consultas que se realizan en una instancia de AlloyDB). Estos registros incluyen registros de bases de datos PostgreSQL y registros de contenedores de agentes del plano de datos.
  • Configura Security Command Center para detectar vulnerabilidades de SQL y amenazas en AlloyDB (como las elevaciones de privilegios). Puedes configurar alertas y guías de respuesta para los analistas de tu centro de operaciones de seguridad (SOC) para que puedan responder a las detecciones.

Certificaciones y cumplimiento

Cumplir los requisitos normativos es una responsabilidad compartida entre usted y Google.

AlloyDB ha recibido muchas certificaciones, entre las que se incluyen las siguientes:

Para obtener más información sobre el Google Cloud cumplimiento de diferentes marcos normativos y certificaciones, consulta el Centro de recursos para el cumplimiento.

AlloyDB también admite Assured Workloads, que te permite aplicar controles a carpetas específicas de tu organización de Google que cumplan requisitos normativos, regionales o de soberanía. Para obtener más información, consulta Productos admitidos por paquete de control.

Siguientes pasos