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

Lecture de 4 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 activaient 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 en conséquence.

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

Exécutez 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 : Dans les commandes précédentes, remplacez test-namespace par le nom de votre espace de noms. Remplacez appliquer par votre mode Pod Security Admission privilégié et référence par votre profil de politique Normes de sécurité des pods privilégié. Pour plus d'informations, consultez la page É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 votre espace de noms avec des pods existants pour utiliser les modes audit ou avertir, un avertissement approprié s’affiche sur votre terminal. Vous pouvez également voir le message d'avertissement dans la section status.message de 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, un message d'avertissement similaire au suivant s'affiche :

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 d'avertissement 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

Lorsqu'un pod enfreint la politique du profil Normes de sécurité des pods ou le mode Pod Security Admission dans l'espace de noms, mettez à jour le manifeste de déploiement correspondant avec les valeurs appropriées.

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

Kubernetes ne prend pas en charge la personnalisation de la politique de sécurité de pod appliquée via le contrôleur Pod Security Admission. Cependant, vous pouvez utiliser des politiques d'admission de validation pour mettre en œuvre et appliquer vos règles personnalisées. Vous pouvez également utiliser le contrôle d'admission Webhook avec un 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. Cependant, elle applique également les modes avertir et audit des normes de sécurité des pods restreintes 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 à la portée 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 pour les clusters gérés.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois