Il est essentiel de sécuriser votre environnement Managed Service pour Apache Spark afin de protéger les données sensibles et d'empêcher tout accès non autorisé. Ce document présente les principales bonnes pratiques pour améliorer votre stratégie de sécurité Managed Service pour Apache Spark. Il inclut des recommandations pour la sécurité du réseau, Identity and Access Management, le chiffrement et la configuration sécurisée des clusters.
Sécurité du réseau
Déployez Managed Service pour Apache Spark dans un VPC privé. Créez un cloud privé virtuel dédié pour vos clusters Managed Service pour Apache Spark, en les isolant des autres réseaux et de l'Internet public.
Utilisez des adresses IP privées. Pour protéger vos clusters Managed Service pour Apache Spark contre l'exposition à l'Internet public, utilisez des adresses IP privées pour renforcer la sécurité et l'isolation.
Configurer des règles de pare-feu Implémentez des règles de pare-feu strictes pour contrôler le trafic vers et depuis vos clusters Managed Service pour Apache Spark. N'autorisez que les ports et protocoles nécessaires.
Utilisez l'appairage de réseaux. Pour une isolation renforcée, établissez un appairage de réseaux VPC entre votre VPC Managed Service for Apache Spark et d'autres VPC sensibles pour une communication contrôlée.
Activez la passerelle des composants. Activez la passerelle de composants Managed Service pour Apache Spark lorsque vous créez des clusters pour accéder de manière sécurisée aux interfaces utilisateur de l'écosystème Hadoop, comme les interfaces utilisateur des serveurs YARN, HDFS ou Spark, au lieu d'ouvrir les ports du pare-feu.
Identity and Access Management
Isoler les autorisations. Utilisez des comptes de service du plan de données différents pour différents clusters. N'attribuez aux comptes de service que les autorisations dont les clusters ont besoin pour exécuter leurs charges de travail.
Évitez de vous appuyer sur le compte de service Google Compute Engine (GCE) par défaut. N'utilisez pas le compte de service par défaut pour vos clusters.
Respectez le principe du moindre privilège. N'accordez que les autorisations minimales nécessaires aux comptes de service et aux utilisateurs de Managed Service pour Apache Spark.
Appliquez le contrôle des accès basé sur les rôles (RBAC). Envisagez de définir des autorisations IAM pour chaque cluster.
Utilisez des rôles personnalisés. Créez des rôles IAM personnalisés précis, adaptés à des fonctions de poste spécifiques dans votre environnement Managed Service pour Apache Spark.
Vérifiez régulièrement. Auditez régulièrement les autorisations et les rôles IAM pour identifier et supprimer les privilèges inutiles ou excessifs.
Chiffrement
Chiffrer les données au repos. Pour le chiffrement des données au repos, utilisez Cloud Key Management Service (KMS) ou les clés de chiffrement gérées par le client (CMEK). De plus, utilisez des règles d'administration pour appliquer le chiffrement des données au repos lors de la création de clusters.
Chiffrez les données en transit. Activez SSL/TLS pour la communication entre les composants Managed Service pour Apache Spark (en activant le mode sécurisé Hadoop) et les services externes. Cela protège les données en transit.
Faites attention aux données sensibles. Soyez prudent lorsque vous stockez et transmettez des données sensibles telles que des informations permettant d'identifier personnellement les utilisateurs ou des mots de passe. Si nécessaire, utilisez des solutions de chiffrement et de gestion des secrets.
Configuration sécurisée du cluster
Authentifiez-vous à l'aide de Kerberos. Pour empêcher tout accès non autorisé aux ressources du cluster, implémentez le mode sécurisé Hadoop à l'aide de l'authentification Kerberos. Pour en savoir plus, consultez Sécuriser la multitenancy avec Kerberos.
Utilisez un mot de passe principal racine sécurisé et un stockage sécurisé basé sur KMS. Pour les clusters qui utilisent Kerberos, Managed Service pour Apache Spark configure automatiquement les fonctionnalités de renforcement de la sécurité pour tous les composants Open Source exécutés dans le cluster.
Activez la connexion au système d'exploitation. Activez OS Login pour renforcer la sécurité lorsque vous gérez des nœuds de cluster à l'aide de SSH.
Séparez les buckets de préproduction et temporaires sur Google Cloud Storage (GCS). Pour assurer l'isolation des autorisations, séparez les buckets de préproduction et temporaires pour chaque cluster Managed Service pour Apache Spark.
Utilisez Secret Manager pour stocker les identifiants. Secret Manager peut protéger vos données sensibles, telles que vos clés API, vos mots de passe et vos certificats. Utilisez-le pour gérer, consulter et auditer vos secrets sur Google Cloud.
Utilisez des contraintes organisationnelles personnalisées. Vous pouvez utiliser une règle d'administration personnalisée pour autoriser ou refuser des opérations spécifiques sur les clusters Managed Service pour Apache Spark. Par exemple, si une demande de création ou de mise à jour d'un cluster ne satisfait pas la validation des contraintes personnalisées définies par votre règle d'administration, la requête échoue et une erreur est renvoyée à l'appelant.
Étapes suivantes
En savoir plus sur les autres fonctionnalités de sécurité de Managed Service pour Apache Spark :
- Sécuriser la mutualisation grâce aux comptes de service
- Configurer une Confidential VM avec chiffrement de la mémoire intégré
- Activez un service d'autorisation sur chaque VM de cluster.