Partager via


Gouvernance d’un cluster Kubernetes

La gouvernance fait référence à la capacité d’une organisation à appliquer et à valider des règles pour garantir la conformité aux normes d’entreprise. La gouvernance aide les organisations à atténuer les risques, à se conformer aux normes d’entreprise et aux réglementations externes et à réduire les interruptions d’adoption ou d’innovation.

La gouvernance comprend la planification des initiatives, l’établissement de priorités stratégiques et l’utilisation de mécanismes et de processus pour contrôler les applications et les ressources. Pour les clusters Kubernetes dans un environnement cloud, la gouvernance signifie implémenter des stratégies sur les clusters Kubernetes et les applications qui s’exécutent dans ces clusters.

La gouvernance Kubernetes inclut à la fois l’environnement cloud et l’infrastructure de déploiement de cluster ainsi que les clusters eux-mêmes et leurs applications. Ce guide se concentre sur la gouvernance au sein des clusters Kubernetes. L’article décrit et compare la façon dont Amazon Elastic Kubernetes Service (Amazon EKS) et Azure Kubernetes Service (AKS) gèrent la gouvernance des clusters Kubernetes.

Remarque

Cet article fait partie d'une série d'articles qui aide les professionnels qui connaissent Amazon EKS à comprendre Azure Kubernetes Service (AKS).

Dimensions de gouvernance Kubernetes

Trois dimensions définissent une stratégie de gouvernance Kubernetes cohérente :

  • Les cibles décrivent les objectifs de stratégie de sécurité et de conformité qu’une stratégie de gouvernance doit atteindre. Par exemple, les cibles spécifient quels utilisateurs peuvent accéder à un cluster, un espace de noms ou une application Kubernetes, ou quels registres de conteneurs et images utiliser dans quels clusters. L’équipe des opérations de sécurité définit généralement ces objectifs comme première étape de la définition de la stratégie de gouvernance d’une entreprise.

  • Les étendues détaillent les éléments auxquels les stratégies cibles s’appliquent. Les étendues doivent traiter tous les composants visibles par Kubernetes. Les étendues peuvent être des unités organisationnelles, comme des services, des équipes et des groupes, et/ou des environnements, tels que des clouds, des régions ou des espaces de noms.

  • Les directives de stratégie utilisent des fonctionnalités Kubernetes pour appliquer les règles cibles dans les étendues spécifiées afin de mettre en œuvre les stratégies de gouvernance.

Pour plus d’informations, consultez Gouvernance Kubernetes : ce que vous devez savoir.

Gouvernance dans EKS et AKS

  • Les clients Amazon Web Services (AWS) utilisent généralement Kyverno, Gatekeeperou d’autres solutions tierces pour définir et implémenter une stratégie de gouvernance pour leurs clusters Amazon EKS. Le dépôt GitHub aws-eks-best-practices/policies contient une collection d’exemples de stratégies pour Kyverno et Gatekeeper.
  • Les clients Azure peuvent également utiliser Kyverno ou Gatekeeper et ils peuvent se servir du module complémentaire Azure Policy pour Kubernetes afin d’étendre Gatekeeper pour une stratégie de gouvernance AKS.

Opérateur de contrôle

La Cloud Native Computing Foundation (CNCF) parraine le contrôleur de stratégie Gatekeeper pour Kubernetes open source pour l’application des stratégies dans les clusters Kubernetes. Gatekeeper est un contrôleur d’admission Kubernetes qui applique les stratégies créées avec OPA (Open Policy Agent), moteur de stratégie à usage général.

OPA utilise un langage déclaratif de haut niveau appelé Rego pour créer des stratégies qui peuvent exécuter des pods à partir de locataires sur des instances distinctes ou selon des priorités différentes. Pour obtenir une collection de stratégies OPA courantes, consultez la bibliothèque OPA Gatekeeper.

Kyverno

CNCF parraine également le projet open source Kyverno pour l’application de stratégies dans les clusters Kubernetes. Kyverno est un moteur de stratégie natif Kubernetes qui peut valider, muter et générer des configurations de ressources Kubernetes avec des stratégies.

Avec Kyverno, vous pouvez définir et gérer des stratégies en tant que ressources Kubernetes sans utiliser un nouveau langage. Cette approche permet d’utiliser des outils familiers tels que kubectl, git et kustomize pour gérer les stratégies.

Kyverno utilise des superpositions de style kustomize pour la validation, prend en charge le correctif JSON et le correctif de fusion stratégique pour la mutation et peut cloner des ressources entre les espaces de noms en fonction de déclencheurs flexibles. Vous pouvez déployer des stratégies individuellement en utilisant leurs manifestes YAML ou les empaqueter et les déployer en utilisant des charts Helm.

Kyverno, contrairement à Gatekeeper ou Azure Policy pour AKS, peut générer de nouveaux objets Kubernetes avec des stratégies, et pas seulement valider ou muter des ressources existantes. Par exemple, vous pouvez définir une stratégie Kyverno afin d’automatiser la création d’une stratégie réseau par défaut pour n’importe quel nouvel espace de noms.

Pour plus d’informations, consultez le guide d’installation officiel de Kyverno. Pour obtenir la liste des stratégies prêtes à l’emploi ou personnalisables, consultez la bibliothèque de stratégies Kyverno. Pour obtenir des informations de référence sur la résolution des problèmes (par exemple, échec des appels de webhook avec APIServer), consultez la documentation de résolution des problèmes de Kyverno.

Si vous le souhaitez, vous pouvez déployer l’implémentation de Kyverno des normes de sécurité des pods (PSS) Kubernetes en tant que stratégies Kyverno. Les contrôles PSS constituent un point de départ pour la sécurité opérationnelle générale des clusters Kubernetes.

Module complémentaire Azure Policy pour AKS

Le module complémentaire Azure Policy pour AKS étend Gatekeeper v3, un webhook de contrôleur d’admission pour Open Policy Agent (OPA), pour appliquer des mises en œuvre à grande échelle et des protections sur vos composants de cluster de manière centralisée et cohérente. Les composants de cluster incluent des pods, des conteneurs et des espaces de noms. Azure Policy permet une gestion centralisée de la conformité et la création de rapports pour plusieurs clusters Kubernetes à partir d’un emplacement unique. Cette fonctionnalité rend la gestion et la gouvernance des environnements multicluster plus efficaces que le déploiement et la gestion de Kyverno ou Gatekeeper pour chaque cluster.

Le module complémentaire Azure Policy pour AKS effectue les fonctions suivantes :

  • Il vérifie les affectations de stratégie pour le cluster à l'aide du service Azure Policy.
  • Il déploie des définitions de stratégie dans le cluster sous forme de modèle de contrainte et de ressources de contrainte personnalisées.
  • Il signale les détails de l’audit et de la conformité au service Azure Policy.

Le module complémentaire Azure Policy est compatible avec les environnements de clusters AKS et Kubernetes activés par Azure Arc. Pour plus d’informations, reportez-vous à la documentation Comprendre Azure Policy pour les clusters Kubernetes. Pour installer le module complémentaire sur des clusters nouveaux et existants, suivez les instructions de Installer le module complémentaire Azure Policy pour AKS.

Une fois que vous avez installé le module complémentaire Azure Policy pour AKS, vous pouvez appliquer des définitions de stratégie individuelles ou des groupes de définitions de stratégie appelés initiatives à votre cluster AKS. Vous pouvez appliquer les définitions de stratégie et d’initiative intégrées Azure Policy à partir du début ou créer et attribuer vos propres définitions de stratégie personnalisées en suivant les étapes décrites dans Créer et attribuer une définition de stratégie personnalisée. Les Azure Policy stratégies de sécurité intégrées sont conçues pour améliorer la posture de sécurité de votre cluster AKS, appliquer des normes organisationnelles et évaluer la conformité à grande échelle.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes