Bonnes pratiques de sécurité pour Managed Service pour Apache Spark

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 bonnes pratiques clés pour améliorer votre stratégie de sécurité Managed Service pour Apache Spark, y compris des recommandations concernant 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 de l'exposition à l'Internet public, utilisez des adresses IP privées pour renforcer la sécurité et l'isolement.

  • Configurez 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 renforcer l'isolement, établissez un appairage de réseaux VPC entre votre VPC Managed Service pour Apache Spark et d'autres VPC sensibles pour une communication contrôlée.

  • Activez la passerelle des composants. Activez la passerelle des 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, telles que l'interface utilisateur du serveur YARN, HDFS ou Spark, au lieu d'ouvrir les ports du pare-feu.

Identity and Access Management

  • Isolez les autorisations. Utilisez différents comptes de service de plan de données 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 par défaut de Google Compute Engine (GCE). 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 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 et précis custom IAM roles, adaptés à des fonctions de travail 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 excessifs ou inutilisés.

Chiffrement

  • Chiffrez les données au repos. Pour le chiffrement des données au repos, utilisez le 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 des clusters

  • 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 la section Sécuriser la multitenancy via Kerberos.

  • Utilisez un mot de passe principal racine fort et un stockage sécurisé basé sur KMS. Pour les clusters qui utilisent Kerberos, Managed Service pour Apache Spark configure automatiquement des fonctionnalités de renforcement de la sécurité pour tous les composants Open Source exécutés dans le cluster.

  • Activez OS Login. 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 les buckets temporaires dans Google Cloud Storage (GCS). Pour garantir l'isolement des autorisations, séparez les buckets de préproduction et les buckets temporaires pour chaque cluster Managed Service pour Apache Spark.

  • Utilisez Secret Manager pour stocker les identifiants. Le 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, accéder à vos secrets et les auditer Google Cloud.

  • Utilisez des contraintes d'administration 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 requête 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.

Étape suivante

Découvrez d'autres fonctionnalités de sécurité de Managed Service pour Apache Spark :