Effectuer un audit des clusters concernant les normes de conformité

Cette page explique comment auditer automatiquement vos clusters pour détecter les problèmes de conformité et obtenir des recommandations exploitables pour améliorer la conformité de vos clusters Google Kubernetes Engine (GKE) Enterprise. L'audit de conformité est une fonctionnalité du tableau de bord GKE Compliance. Pour en savoir plus, consultez la page À propos du tableau de bord GKE Compliance.

Normes de conformité acceptées

L'audit de conformité analyse vos clusters pour vérifier la conformité avec les normes suivantes et fournit des recommandations pour améliorer votre stratégie de conformité :

Nom

Description

Benchmark CIS Google Kubernetes Engine v1.5.0

Ensemble de contrôles de sécurité recommandés pour la configuration de Google Kubernetes Engine (GKE), en fonction des benchmarks CIS Google Kubernetes Engine (GKE) v1.5.0.

Référence des normes de sécurité des pods

Un ensemble de protections recommandées pour les clusters Kubernetes, en fonction de la règle de référence des normes de sécurité des pods (PSS) de Kubernetes.

Normes limitées de sécurité des pods

Un ensemble de protections recommandées pour les clusters Kubernetes, en fonction de la règle des normes limitées de sécurité des pods (PSS) de Kubernetes.

L'ensemble de normes par défaut inclut les trois normes acceptées :

  • Benchmark CIS Google Kubernetes Engine v1.5.0
  • Référence des normes de sécurité des pods
  • Normes limitées de sécurité des pods

Tarifs

Le tableau de bord GKE Compliance est disponible pour les utilisateurs qui ont activé GKE Enterprise.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

Conditions requises

Pour obtenir les autorisations nécessaires pour utiliser l'audit de conformité, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet Google Cloud :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour utiliser l'audit de conformité. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour utiliser l'audit de conformité :

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • containersecurity.locations.list
  • containersecurity.locations.get
  • containersecurity.clusterSummaries.list
  • containersecurity.findings.list
  • container.clusters.list
  • gkehub.features.get
  • gkehub.memberships.list

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Auditer la conformité du cluster

Vous pouvez activer l'audit de conformité sur votre cluster à l'aide de la console Google Cloud.

Activer l'audit de configuration sur un cluster existant

  1. Accédez à la page Conformité dans la console Google Cloud.

    Accéder

  2. Dans la fiche Paramètres, cliquez sur Sélectionner des clusters.

  3. Dans l'onglet Audit désactivé, cochez les cases correspondant aux clusters que vous souhaitez ajouter.

  4. Cliquez sur Activer pour activer l'audit sur ces clusters.

Tester l'audit de conformité

Déployez un exemple de pod qui enfreint intentionnellement les normes de sécurité des pods

  1. Enregistrez le manifeste suivant sous le nom noncompliant-sample.yaml :

    apiVersion: v1
    kind: Pod
    metadata:
      namespace: default
      name: wp-non-compliant
      labels:
        app: wordpress
    spec:
      containers:
      - image: nginx
        name: wordpress
        securityContext:
          capabilities:
            add:
            - NET_RAW
    
  2. Appliquez la ressource à votre cluster :

    kubectl apply -f noncompliant-sample.yaml
    

Si vous souhaitez essayer d'autres violations, modifiez noncompliant-sample.yaml avec une autre configuration non conforme.

Afficher et résoudre les problèmes de conformité

L'audit initial peut prendre jusqu'à 30 minutes pour renvoyer des résultats. Vous pouvez afficher les résultats sur la page Conformité ou sous forme d'entrées dans vos journaux de cluster.

Afficher les résultats

Pour afficher une vue d'ensemble des problèmes de conformité sur les clusters de votre projet, procédez comme suit :

  1. Accédez à la page Conformité dans la console Google Cloud.

    Accéder

  2. Cliquez sur l'onglet Problèmes.

  3. Dans la section Normes du volet Filtrer les problèmes, sélectionnez la norme pour laquelle vous souhaitez obtenir des détails.

Afficher les informations et les recommandations relatives aux normes

Pour afficher des informations détaillées sur une norme spécifique, développez la section "norme" jusqu'à ce que le lien de description s'affiche, puis cliquez sur la description de la norme pour ouvrir le volet Contrainte de conformité.

L'onglet Détails affiche les informations suivantes :

  • Description : description de la norme.
  • Action recommandée : présentation des actions que vous pouvez effectuer pour résoudre le problème de configuration.

L'onglet Ressources concernées répertorie les ressources concernées par la norme.

Afficher les journaux pour les problèmes détectés

GKE ajoute des entrées au bucket de journaux _Default dans Logging pour chaque problème détecté. Ces journaux ne sont conservés que pendant une période spécifique. Pour en savoir plus, consultez la section Durée de conservation des journaux.

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux :

    Accéder à l'explorateur de journaux
  2. Dans le champ Requête, saisissez la requête suivante :

    resource.type="k8s_cluster"
    jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding"
    jsonPayload.type="FINDING_TYPE_MISCONFIG"
    jsonPayload.configuration.violation:*
  3. Cliquez sur Exécuter la requête.

Pour recevoir des notifications lorsque GKE ajoute de nouvelles découvertes à Logging, configurez des alertes basées sur les journaux pour cette requête. Pour en savoir plus, consultez la page Gérer les alertes basées sur les journaux.

Effectuer un nettoyage

Supprimez l'exemple de pod que vous avez déployé :

kubectl delete pod wp-non-compliant

Désactiver les audits de conformité

Vous pouvez désactiver l'audit de conformité à l'aide de la console Google Cloud.

  1. Accédez à la page Conformité dans la console Google Cloud.

    Accéder

  2. Dans la fiche "Paramètres", cliquez sur Sélectionner des clusters.

  3. Dans l'onglet Audit activé, cochez les cases correspondant aux clusters que vous souhaitez retirer.

  4. Cliquez sur Désactiver pour désactiver l'audit sur ces clusters.

Limites

  • Les pools de nœuds Windows Server ne sont pas acceptés.
  • L'audit de conformité n'analyse pas les charges de travail gérées par GKE, telles que les charges de travail de l'espace de noms kube-system.
  • L'audit de conformité n'est disponible que pour les clusters de moins de 1 000 nœuds.

Étapes suivantes