Optimiser la sécurité de Kubernetes avec EKS Pod Identity : un impératif commercial

Introduction
Depuis plus d’une décennie, nous comptons sur AWS Clusters Kubernetes gérés (EKS) pour déployer nos charges de travail de microservices. Alors que les entreprises dépendent de plus en plus nuageLes applications natives, la sécurité et la conformité sont devenues des éléments essentiels pour garantir la continuité et la croissance des activités. Ces applications, déployées sur des clusters, doivent interagir en toute sécurité avec d’autres services cloud, en adhérant au principe du moindre privilège avec un contrôle d’accès précis. AWS a continuellement innové pour répondre à ces exigences de sécurité, notamment avec l’introduction des rôles IAM pour les comptes de service (IRSA) en 2019. Cela a permis aux entreprises de configurer des applications Kubernetes avec des autorisations AWS IAM précises pour accéder en toute sécurité à des services tels que S3 et RDS, réduisant ainsi le risque. de violations de données et d’accès non autorisés.
Cependant, à mesure que les organisations évoluent, l’IRSA présente des limites, telles qu’un manque de réutilisabilité entre les clusters, entraînant des inefficacités potentielles et une complexité accrue dans la gestion IAM. Conscient de la nécessité d’améliorer la sécurité et l’agilité opérationnelle, AWS a lancé EKS Pod Identity en 2023. Cette nouvelle fonctionnalité répond aux exigences changeantes des entreprises, offrant une sécurité, une évolutivité et une facilité de contrôle d’accès plus robustes pour les charges de travail Kubernetes. Dans ce blog, nous explorerons comment la transition de l’IRSA vers EKS Pod Identity peut améliorer la sécurité, rationaliser les opérations et permettre aux entreprises de se concentrer sur la croissance sans compromettre la conformité ou l’efficacité.
Énoncé du problème
Bien que l’IRSA ait fourni une solution indispensable pour un contrôle d’accès précis dans EKS, elle n’a pas été à la hauteur dans des domaines tels que la réutilisabilité et la flexibilité. À mesure que le besoin d’une gestion des identités sécurisée, évolutive et efficace pour les applications Kubernetes s’est accru, AWS a reconnu ces limites. L’introduction d’EKS Pod Identity en 2023 vise à combler ces lacunes en offrant des fonctionnalités de sécurité plus robustes et des mécanismes de contrôle d’accès améliorés pour les clusters EKS. Ce blog approfondira les limites de l’IRSA et la manière dont EKS Pod Identity résout ces défis, rendant les charges de travail Kubernetes dans AWS plus sécurisées et plus faciles à gérer.
En savoir plus: Création d’une architecture de microservices de qualité production sur AWS EKS
Qu’est-ce que l’identité du pod EKS ?
EKS Pod Identity est une fonctionnalité lancée par Amazon EKS Service en 2023 Reinvent dont l’objectif principal est d’élever la sécurité du cluster K8s. En d’autres termes, cela simplifie l’administrateur du cluster pour configurer ou accorder l’autorisation aux applications K8 d’accéder en toute sécurité à différents services cloud, ce qui suit le principe du moindre privilège.

Architecture de bas niveau de l’identité du pod EKS
Limitation de l’IRSA sur l’identité du pod EKS
- Infra Control peut être compromis si l’OIDC est géré par une autre équipe.
- Cela s’accompagne d’une certaine complexité en raison de l’ajout d’un fournisseur OIDC à la stratégie de confiance IAM.
- L’ARN du rôle IAM doit être annoté dans le compte de service.
- Relation One-One, c’est-à-dire qu’un rôle IAM est autorisé avec un cluster EKS, le même rôle IAM ne peut pas être utilisé sur tous les clusters.
- La dérive du compte de service en termes de mise à jour/modification du rôle IAM ne sera effective que lorsque vous recréez les pods.
Caractéristiques et avantages de l’identité du pod EKS
- Autorisations granulaires: Les attributions de rôles IAM traditionnelles pour les applications Kubernetes nécessitaient de gérer les informations d’identification d’une manière qui pouvait conduire à des autorisations trop larges. EKS Pod Identity permet un contrôle d’accès précis en permettant aux pods individuels d’assumer des rôles IAM spécifiques. Cela réduit le risque d’élévation des privilèges et garantit que chaque pod dispose uniquement des autorisations dont il a besoin.
- Sécurité améliorée: En utilisant des rôles IAM spécifiques aux pods, AWS améliore la posture de sécurité des applications Kubernetes. Il minimise la surface d’attaque en évitant d’avoir à partager les informations d’identification entre les pods ou entre l’application et le cluster. Chaque pod peut avoir son propre rôle IAM avec des autorisations personnalisées, réduisant ainsi le risque associé aux informations d’identification compromises.
- Gestion simplifiée des informations d’identification: Avant EKS Pod Identity, la gestion et la rotation des informations d’identification IAM pour les applications exécutées dans les pods Kubernetes étaient complexes et sujettes aux erreurs. Avec EKS Pod Identity, AWS intègre les rôles IAM directement aux pods Kubernetes, simplifiant ainsi la gestion des informations d’identification et réduisant la surcharge opérationnelle associée à la gestion des secrets et des informations d’identification.
- Conformité améliorée: EKS Pod Identity aide les organisations à répondre aux exigences de conformité en fournissant un contrôle plus granulaire sur l’accès aux ressources. Il permet un meilleur audit et un meilleur suivi des pods qui accèdent à quelles ressources AWS, ce qui facilite le respect des politiques de sécurité et des normes réglementaires.
- Intégration transparente: EKS Pod Identity s’intègre aux comptes de service natifs de Kubernetes, permettant aux développeurs d’utiliser plus facilement les constructions Kubernetes familières tout en tirant parti des rôles AWS IAM. Cette intégration réduit la courbe d’apprentissage et permet aux équipes d’appliquer leurs connaissances Kubernetes existantes pour gérer plus efficacement les rôles IAM.
- Prise en charge des charges de travail modernes : À mesure que les applications deviennent plus modulaires et basées sur des microservices, le besoin d’un contrôle d’accès plus précis s’est accru. EKS Pod Identity prend en charge cette approche moderne en permettant aux microservices individuels (exécutés dans des pods séparés) de disposer d’autorisations spécifiques, facilitant ainsi des architectures d’applications plus sécurisées et évolutives.
En savoir plus: Comment accéder à vos secrets AWS Secret Manager dans un cluster EKS
Guide complet pour configurer l’identité du pod EKS
Étape 1 : Créez un rôle IAM qui peut assumer le service EKS avec une autorisation fine ou suivez le principe du moindre privilège et, dans la politique de confiance, autorisez le principal « pods.eks.amazonaws.com ».

Rôle IAM d’identité EKS-Pod
Étape 2: Installez le module complémentaire « Amazon EKS Pod Identity Agent sur le cluster eks et vérifiez que le DaemonSet d’identité du pod est en cours d’exécution.

Onglet Module complémentaire
- Cliquez sur Obtenir plus de modules complémentaires

Cliquez sur Module complémentaire
- Sélectionnez Amazon EKS Pod Identity Agent dans les modules complémentaires et cliquez.

Sélectionnez le module complémentaire d’identité du pod EKS

Configuration du module complémentaire

Examen du module complémentaire
- Cela commencera à créer un DeamonSet d’identité EKS POD dans l’espace de noms du système Kube.
Remarque : l’étape 2 peut être effectuée via la ligne de commande comme ci-dessous
$ aws eks create-addon \ --cluster-name <Cluster-Name>\ --addon-name eks-pod-identity-agent \ --addon-version v1.3.2-eksbuild.2
Étape 3 : Créer une association d’identité de pod
- Cliquez sur l’onglet Accès EKS et créez une association d’identité de pod

Onglet Accès Cluster
- Identifiez et sélectionnez le rôle IAM, l’espace de noms et le compte de service souhaités, puis cliquez sur Créer.

CréerPodIdAssociation
- L’association d’identité du pod EKS est désormais renseignée dans l’onglet d’accès du cluster.

Onglet Associé EKSPodId
Étape 4 : Valider et vérifier l’accès à partir du compte de service associé à l’identité du pod
- Créer un exemple de manifeste de pod pour tester le fichier demo.yaml
apiVersion: v1 kind: Pod metadata: labels: pod-check: eks-pod-id-check name: eks-pod-id-check namespace: default spec: serviceAccountName: ec2-restart-sa containers: - image: public.ecr.aws/aws-cli/aws-cli command: - "aws" - "s3" - "ls" name: eks-pod-id-check resources: {} dnsPolicy: ClusterFirst restartPolicy: Always status: {}
- Créez un pod à l’aide du manifeste ci-dessus
$ kubectl create -f demo.yaml
- Validez et vérifiez si le pod peut accéder au rôle pour répertorier les compartiments s3 conformément à l’autorisation définie.
$ kubectl logs -f eks-pod-id-check
bash-4.2# aws s3 ls
2024-09-08 15:29:34 infra-inférieur-c65432gh
2024-09-08 16:40:56 eks-charts-manifest-67565rr
Pensées finales
L’introduction d’Amazon EKS Pod Identity marque une avancée significative en matière de sécurité pour les organisations utilisant AWS EKS. En répondant aux limites des rôles IAM pour les comptes de service (IRSA), EKS Pod Identity améliore non seulement la sécurité des applications Kubernetes, mais rationalise également la gestion IAM. Cette nouvelle fonctionnalité permet aux entreprises de mettre en œuvre efficacement un contrôle d’accès précis, garantissant que les applications déployées au sein des clusters EKS sont à la fois sécurisées et conformes aux normes de l’industrie.
Avec les avantages supplémentaires de la réutilisabilité et de la gestion simplifiée des informations d’identification, les organisations peuvent allouer les ressources plus efficacement, réduire les frais opérationnels et améliorer leur agilité dans le déploiement. applications cloud natives. Alors que les entreprises continuent de faire face aux complexités de la sécurité du cloud, EKS Pod Identity fournit un outil crucial pour les aider à répondre aux exigences de sécurité tout en favorisant l’innovation et la croissance. En tirant parti de ces avancées, les entreprises peuvent se concentrer sur la fourniture d’expériences client exceptionnelles sans avoir à gérer des configurations IAM complexes. Suivez nos blogs pour en savoir plus sur AWS EKS.
Références
j’ai fait référence à annonces de cette fonctionnalité dans Reinvent 2023 et suivi documentation officielle pour les détails et les limitations des fonctionnalités
VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE
Source link