Passer au contenu

FAQ : Normes de sécurité des pods et Pod Security Admission dans les pods Amazon EKS

Lecture de 5 minute(s)
0

J'ai quelques questions concernant les normes de sécurité des pods et Pod Security Admission dans les pods Amazon Elastic Kubernetes Service (Amazon EKS).

Q : Comment puis-je activer ou désactiver les normes de sécurité des pods et Pod Security Admission pour mon cluster Amazon EKS ?

Par défaut, les versions 1.23 et ultérieures de Kubernetes activent tous les modes Pod Security Admission pour le profil Normes de sécurité des pods privilégié au niveau du cluster. Pod Security Admission autorise les déploiements ou les pods dotés du profil Normes de sécurité des pods privilégié dans tous les espaces de noms.

Q : Comment puis-je appliquer des modes Pod Security Admission et des profils Normes de sécurité des pods spécifiques au niveau de l'espace de noms Kubernetes ?

Pour appliquer des modes Pod Security Admission et des profils Normes de sécurité des pods spécifiques au niveau de l'espace de noms Kubernetes, configurez les étiquettes d’espaces de noms.

Par exemple, exécutez la commande suivante pour appliquer le mode appliquer des normes de sécurité des pods de référence à un seul espace de noms :

kubectl label --overwrite ns test-namespace pod-security.kubernetes.io/enforce=baseline

Vous pouvez également exécuter la commande suivante pour appliquer le mode appliquer des normes de sécurité des pods de référence à tous les espaces de noms disponibles :

kubectl label --overwrite ns --all pod-security.kubernetes.io/enforce=baseline

Remarque : Remplacez test-namespace par le nom de votre espace de noms, enforce par votre mode Pod Security Admission et baseline par votre profil de politique Normes de sécurité des pods. Pour plus d'informations, consultez les pages Étiquettes Pod Security Admission pour les espaces de noms et Normes de sécurité des pods du site Web de Kubernetes.

Q : Lorsque je modifie mon espace de noms afin qu’il utilise un profil Normes de sécurité des pods plus restrictif, cela affecte-t-il la fonction des pods existants dans l'espace de noms ?

Non. Si vous modifiez un espace de noms avec des pods existants pour utiliser les modes audit ou avertissement, un message s’affiche sur votre terminal. Le message s’affiche également dans la section status.message de la sortie YAML du pod. Si vous modifiez l'espace de noms pour utiliser le mode appliquer, Kubernetes ne supprime pas les pods existants dans l'espace de noms. Cependant, vous recevez un message similaire à l'exemple suivant :

« Warning: existing pods in namespace "policy-test" violate the new PodSecurity enforce level "restricted:latest »

« Warning: test-688f68dc87-htm8x: allowPrivilegeEscalation != false, unrestricted capabilities, runAsNonRoot != true, seccompProfilenamespace/policy-test configured »

Exemple de message du mode appliquer dans la sortie YAML du pod :

lastTransitionTime: "2022-11-24T05:10:49Z"
lastUpdateTime: "2022-11-24T05:10:49Z"
message: 'pods "test-67d5fc995b-8r9t2" is forbidden: violates PodSecurity "baseline:latest": privileged (container "assets" must not set securityContext.privileged=true)'
reason: FailedCreate
status: "True"
type: ReplicaFailure

Si un pod ne respecte pas la politique de profil Normes de sécurité des pods ou le mode d'admission Pod Security Admission de l'espace de noms, mettez à jour son manifeste de déploiement.

Q : Comment puis-je personnaliser la politique de sécurité des pods que le contrôleur Pod Security Admission a appliquée au niveau de mon espace de noms ?

Vous ne pouvez pas personnaliser directement la politique de sécurité des pods appliquée via le contrôleur Pod Security Admission. Utilisez plutôt la validation des politiques d'admission pour implémenter et appliquer vos règles personnalisées, ou utilisez le contrôle d'admission Webhook avec du code externe.

Q : Puis-je appliquer plusieurs modes Pod Security Admission et plusieurs profils Normes de sécurité des pods à un seul espace de noms Kubernetes ?

Non. Cependant, vous pouvez utiliser des étiquettes pour configurer plusieurs vérifications des normes de sécurité des pods sur n'importe quel espace de noms.

Par exemple, la commande suivante applique le mode appliquer aux normes de sécurité des pods de référence, et les modes avertissement et audit aux normes de sécurité des pods restreints conformément à la dernière version :

  kubectl label --overwrite ns test \\
  pod-security.kubernetes.io/enforce=baseline \\
  pod-security.kubernetes.io/enforce-version=latest \\
  pod-security.kubernetes.io/warn=restricted \\
  pod-security.kubernetes.io/warn-version=latest \\
  pod-security.kubernetes.io/audit=restricted \\
  pod-security.kubernetes.io/audit-version=latest

Q : Puis-je appliquer les modes Pod Security Admission et les profils Normes de sécurité des pods au niveau du cluster pour mon cluster Kubernetes géré ?

Non, vous pouvez appliquer les modes Pod Security Admission et les profils Normes de sécurité des pods uniquement au niveau de l'espace de noms.

Q. Puis-je utiliser le webhook Pod Security Admission avec mon cluster Amazon EKS ?

Oui. Vous pouvez installer le webhook Pod Security Admission dans votre cluster Amazon EKS. Pour plus d'informations, consultez la page pod-security-admission webhook sur le site Web de GitHub.

Q. Pourquoi devrais-je utiliser le webhook Pod Security Admission dans mon cluster Amazon EKS ?

Grâce au webhook Pod Security Admission, vous pouvez appliquer les mêmes modes Pod Security Admission et les mêmes profils Normes de sécurité des pods à tous les espaces de noms Kubernetes. Vous pouvez également exempter les espaces de noms. Sans le webhook Pod Security Admission, vous devez appliquer les modifications au niveau de l'espace de noms individuel.

AWS OFFICIELA mis à jour il y a un an