Prácticas recomendadas de seguridad del servicio administrado para Apache Spark

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 estos clústeres 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 del 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.

  • Sigue 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 roles (RBAC). Considera configurar los permisos de IAM para cada clúster.

  • Usa roles personalizados. Crea roles personalizados de IAM detallados y adaptados a funciones laborales específicas dentro de tu entorno de Managed Service para Apache Spark.

  • Revisa con frecuencia. Realiza auditorías periódicas de los permisos y roles de IAM para identificar y quitar los privilegios excesivos o sin usar.

Encriptación

  • Encriptar datos en reposo. Para la encriptación de datos en reposo, usa Cloud Key Management Service (KMS) o claves de encriptación administradas por el cliente (CMEK). Además, usa políticas de la organización para aplicar la encriptación de datos en reposo durante la creación de clústeres.

  • Encriptar 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

  • Autentícate 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 Multiinclusión segura a través de Kerberos.

  • Usa una contraseña principal de raíz segura y un almacenamiento seguro basado en KMS. En el caso de los clústeres que usan Kerberos, Managed Service para Apache Spark configura automáticamente funciones de endurecimiento de la 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 del clúster con SSH.

  • Segrega los buckets temporales y de etapa de pruebas en Google Cloud Storage (GCS). Para garantizar el aislamiento de permisos, segrega los buckets temporales y de etapa de pruebas para cada clúster de Managed Service para Apache Spark.

  • Usa Secret Manager para almacenar credenciales. 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 Google Cloud.

  • Usa restricciones organizativas 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 satisface la validación de restricciones personalizadas según lo establece la política de la organización, la solicitud falla y se devuelve un error a la persona que llama.

¿Qué sigue?

Obtén más información sobre otras funciones de seguridad de Managed Service para Apache Spark: