Bonnes pratiques de sécurité pour Amazon EMR on EKS - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Bonnes pratiques de sécurité pour Amazon EMR on EKS

Amazon EMR on EKS fournit différentes fonctions de sécurité à prendre en compte lorsque vous développez et implémentez vos propres stratégies de sécurité. Les bonnes pratiques suivantes doivent être considérées comme des instructions générales et ne représentent pas une solution de sécurité complète. Étant donné que ces bonnes pratiques peuvent ne pas être appropriées ou suffisantes pour votre environnement, considérez-les comme des remarques utiles plutôt que comme des recommandations.

Note

Pour plus de bonnes pratiques de sécurité, consultez Bonnes pratiques de sécurité pour Amazon EMR on EKS.

Application du principe du moindre privilège

Amazon EMR on EKS fournit une stratégie d'accès granulaire pour les applications utilisant des rôles IAM, tels que les rôles d'exécution. Ces rôles d'exécution sont associés aux comptes de service Kubernetes via la politique d'approbation du rôle IAM. Amazon EMR on EKS crée des pods au sein d'un espace de noms Amazon EKS enregistré qui exécutent le code d'application fourni par l'utilisateur. Les pods de tâches exécutant le code d'application assument le rôle d'exécution lorsqu'ils se connectent à d'autres services AWS. Nous recommandons de n'accorder aux rôles d'exécution que l'ensemble minimal de privilèges requis par la tâche, tels que la couverture de votre application et l'accès à la destination du journal. Nous recommandons également de vérifier régulièrement les autorisations des tâches et lors de toute modification du code d'application.

Liste de contrôle d'accès des points de terminaison

Les points de terminaison gérés ne peuvent être créés que pour les clusters EKS configurés pour utiliser au moins un sous-réseau privé dans votre VPC. Cette configuration restreint l'accès aux équilibreurs de charge créés par les points de terminaison gérés afin qu'ils ne soient accessibles que depuis votre VPC. Pour renforcer davantage la sécurité, nous vous recommandons de configurer des groupes de sécurité avec ces équilibreurs de charge afin qu'ils puissent limiter le trafic entrant à un ensemble sélectionné d'adresses IP.

Obtention des dernières mises à jour de sécurité des images personnalisées

Pour utiliser des images personnalisées avec Amazon EMR on EKS, vous pouvez installer n'importe quel binaire et bibliothèque sur l'image. Vous êtes responsable de l'application des correctifs de sécurité aux binaires que vous ajoutez à l'image. Les images Amazon EMR on EKS sont régulièrement corrigées avec les derniers correctifs de sécurité. Pour obtenir l'image la plus récente, vous devez recréer les images personnalisées chaque fois qu'une nouvelle version d'image de base est disponible dans la version Amazon EMR. Pour plus d'informations, consultez Amazon à EMR propos des EKS versions et Détails relatifs à la sélection d'une image de base URI.

Limitation de l'accès aux informations d'identification du pod

Kubernetes prend en charge plusieurs méthodes d'attribution d'informations d'identification à un pod. Le provisionnement de plusieurs fournisseurs d'informations d'identification peut accroître la complexité de votre modèle de sécurité. Amazon EMR on EKS a adopté l'utilisation des rôles IAM pour les comptes de services (IRSA) comme fournisseur d'informations d'identification standard au sein d'un espace de noms EKS enregistré. Les autres méthodes ne sont pas prises en charge, notamment kube2iam, kiam et l'utilisation d'un profil d'instance EC2 de l'instance exécutée sur le cluster.

Isolation du code d'application non fiable

Amazon EMR on EKS n'inspecte pas l'intégrité du code d'application soumis par les utilisateurs du système. Si vous exécutez un cluster virtuel multilocataire configuré avec plusieurs rôles d'exécution qui peuvent être utilisés pour soumettre des tâches par des clients non fiables exécutant du code arbitraire, il y a un risque qu'une application malveillante augmente ses privilèges. Dans ce cas, envisagez d'isoler les rôles d'exécution dotés de privilèges similaires dans un cluster virtuel différent.

Autorisations de contrôle d'accès basé sur les rôles (RBAC)

Les administrateurs doivent contrôler strictement les autorisations de contrôle d'accès basé sur les rôles (RBAC) pour Amazon EMR sur les espaces de noms gérés par EKS. Au minimum, les autorisations suivantes ne doivent pas être accordées aux soumissionnaires de tâches dans Amazon EMR sur les espaces de noms gérés par EKS.

  • Autorisations Kubernetes RBAC pour modifier la carte de configuration, car Amazon EMR on EKS utilise les cartes de configuration Kubernetes pour générer des modèles de pods gérés portant le nom du compte de service géré. Cet attribut ne doit pas être modifié.

  • Autorisations RBAC Kubernetes permettant d'exécuter des tâches dans Amazon EMR sur des pods EKS, afin d'éviter de donner accès aux modèles de pods gérés qui portent le nom du compte de service géré. Cet attribut ne doit pas être modifié. Cette autorisation peut également donner accès au jeton JWT monté dans le pod, qui peut ensuite être utilisé pour récupérer les informations d'identification du rôle d'exécution.

  • Autorisations RBAC Kubernetes pour créer des pods, afin d'empêcher les utilisateurs de créer des pods en utilisant un compte de service Kubernetes qui pourrait être associé à un rôle IAM ayant plus d'autorisations AWS que l'utilisateur.

  • Autorisations RBAC Kubernetes pour déployer un webhook modificateur, afin d'empêcher les utilisateurs d'utiliser le webhook modificateur pour changer le nom du compte de service Kubernetes pour les pods créés par Amazon EMR on EKS.

  • Autorisations RBAC Kubernetes pour lire les secrets Kubernetes, afin d'empêcher les utilisateurs de lire les données confidentielles stockées dans ces secrets.

Restriction de l'accès aux informations d'identification du rôle IAM du groupe de nœuds ou du profil d'instance

  • Nous vous recommandons d'attribuer des autorisations AWS minimales au ou aux rôles IAM du groupe de nœuds. Cela permet d'éviter l'augmentation des privilèges par un code qui pourrait s'exécuter en utilisant les informations d'identification du profil d'instance des nœuds de travail EKS.

  • Pour bloquer complètement l'accès aux informations d'identification du profil d'instance à tous les pods exécutés dans Amazon EMR sur des espaces de noms gérés par EKS, nous vous recommandons d'exécuter des commandes iptables sur les nœuds EKS. Pour plus d'informations, consultez Restriction de l'accès aux informations d'identification du profil d'instance Amazon EC2. Il est toutefois important bien définir vos rôles IAM associés aux comptes de service afin que vos pods disposent de toutes les autorisations nécessaires. Par exemple, le rôle IAM du nœud se voit attribuer des autorisations pour extraire des images de conteneurs à partir d'Amazon ECR. Si ces autorisations ne sont pas attribuées à un pod, ce dernier ne peut pas extraire d'images de conteneurs à partir d'Amazon ECR. Le plug-in VPC CNI doit également être mis à jour. Pour plus d'informations, consultez Procédure pas à pas : mise à jour du plug-in VPC CNI pour utiliser les rôles IAM pour les comptes de service.