Proteger tu entorno de Managed Service para Apache Spark es fundamental para proteger los datos sensibles y evitar el acceso no autorizado. En este documento, se describen las principales prácticas recomendadas para mejorar tu postura de seguridad de Managed Service para Apache Spark, incluidas las recomendaciones para la seguridad de la red, Identity and Access Management, la encriptación y la configuración segura del clúster.
Seguridad de red
Implementa Managed Service para Apache Spark en una VPC privada. Crea una nube privada virtual dedicada para tus clústeres de Managed Service para Apache Spark, y aísla los de otras redes y de Internet pública.
Usa IPs privadas. Para proteger tus clústeres de Managed Service para Apache Spark de la exposición a Internet pública, usa direcciones IP privadas para mejorar la seguridad y el aislamiento.
Configura reglas de firewall. Implementa reglas de firewall estrictas para controlar el tráfico hacia y desde tus clústeres de Managed Service para Apache Spark. Permite solo los puertos y protocolos necesarios.
Usa el intercambio de tráfico entre redes. Para mejorar el aislamiento, establece el intercambio de tráfico entre redes de VPC entre tu VPC de Managed Service para Apache Spark y otras VPC sensibles para una comunicación controlada.
Habilita la puerta de enlace de componentes. Habilita la puerta de enlace de componentes de Managed Service para Apache Spark cuando crees clústeres para acceder de forma segura a las IU del ecosistema de Hadoop, como la IU del servidor de YARN, HDFS o Spark, en lugar de abrir los puertos de firewall.
Identity and Access Management
Aísla los permisos. Usa diferentes cuentas de servicio del plano de datos para diferentes clústeres. Asigna a las cuentas de servicio solo los permisos que los clústeres necesitan para ejecutar sus cargas de trabajo.
Evita depender de la cuenta de servicio predeterminada de Google Compute Engine (GCE). No uses la cuenta de servicio predeterminada para tus clústeres.
Cumple con el principio de privilegio mínimo. Otorga solo los permisos mínimos necesarios a las cuentas de servicio y los usuarios de Managed Service para Apache Spark.
Aplica el control de acceso basado en funciones (RBAC). Considera configurar permisos de IAM para cada clúster.
Usa funciones personalizadas. Crea funciones personalizadas de IAM detalladas y adaptadas a funciones laborales específicas dentro de tu entorno de Managed Service para Apache Spark.
Realiza revisiones periódicas. Audita periódicamente los permisos y las funciones de IAM para identificar y quitar los privilegios excesivos o sin usar.
Encriptación
Encripta los datos en reposo. Para la encriptación de datos en reposo, usa el Cloud Key Management Service (KMS) o claves de encriptación administradas por el cliente (CMEK). Además, usa políticas organizacionales para aplicar la encriptación de datos en reposo para la creación de clústeres.
Encripta los datos en tránsito. Habilita SSL/TLS para la comunicación entre los componentes de Managed Service para Apache Spark (habilitando el modo seguro de Hadoop) y los servicios externos. Esto protege los datos en movimiento.
Ten cuidado con los datos sensibles. Ten cuidado cuando almacenes y pases datos sensibles, como PII o contraseñas. Cuando sea necesario, usa soluciones de encriptación y administración de secretos.
Configuración segura del clúster
Autentica con Kerberos. Para evitar el acceso no autorizado a los recursos del clúster, implementa el modo seguro de Hadoop con la autenticación de Kerberos. Para obtener más información, consulta Protección de la arquitectura de múltiples usuarios a través de Kerberos.
Usa una contraseña principal raíz segura y un almacenamiento seguro basado en KMS. Para los clústeres que usan Kerberos, Managed Service para Apache Spark configura automáticamente las funciones de protección de seguridad para todos los componentes de código abierto que se ejecutan en el clúster.
Habilita el acceso al SO. Habilita el acceso al SO para mayor seguridad cuando administres nodos de clúster con SSH.
Separa los buckets de etapa de pruebas y temporales en Google Cloud Storage (GCS). Para garantizar el aislamiento de permisos, separa los buckets de etapa de pruebas y temporales para cada clúster de Managed Service para Apache Spark.
Usa Secret Manager para almacenar credenciales. El Secret Manager puede proteger tus datos sensibles, como tus claves de API, contraseñas y certificados. Úsalo para administrar, acceder y auditar tus secretos en todos los servicios Google Cloud.
Usa restricciones organizacionales personalizadas. Puedes usar una política de la organización personalizada para permitir o rechazar operaciones específicas en clústeres de Managed Service para Apache Spark. Por ejemplo, si una solicitud para crear o actualizar un clúster no cumple con la validación de restricciones personalizadas según lo establece tu política de la organización, la solicitud falla y se muestra un error al llamador.
¿Qué sigue?
Obtén más información sobre otras funciones de seguridad de Managed Service para Apache Spark:
- Protección de la arquitectura de múltiples usuarios a través de cuentas de servicio
- Configura una Confidential VM con encriptación de memoria intercalada
- Activa un servicio de autorización en cada VM del clúster