Corriger les erreurs Security Command Center

Cette page fournit une liste de guides de référence et de techniques permettant de corriger les erreurs SCC.

Avant de commencer

Vous devez disposer des rôles IAM (Identity and Access Management) appropriés pour afficher ou modifier les résultats, et pour accéder aux ressources Google Cloud ou les modifier. Si vous rencontrez des erreurs d'autorisation lors de l'accès à Security Command Center dans la console Google Cloud, demandez de l'aide à votre administrateur. Pour en savoir plus sur les rôles, consultez la page Contrôle des accès. Pour résoudre les erreurs de ressources, consultez la documentation des produits concernés.

Examiner les résultats dans la console Google Cloud

Les erreurs SCC sont des erreurs de configuration qui empêchent Security Command Center de fonctionner comme prévu. La source Security Command Center génère ces résultats.

Tant que Security Command Center est configuré pour votre organisation ou votre projet, il génère des résultats d'erreurs dès qu'il les détecte. Vous pouvez afficher les erreurs SCC dans Google Cloud Console.

Procédez comme suit pour examiner les résultats dans la console Google Cloud:

  1. Accédez à la page Résultats de Security Command Center dans Google Cloud Console.

    Accéder

  2. Sélectionnez votre projet ou votre organisation Google Cloud.

    Sélecteur de projet

  3. Dans la section Filtres rapides de la sous-section Nom à afficher de la source, sélectionnez Security Command Center.

  4. Pour afficher les détails d'un résultat spécifique, cliquez sur le nom du résultat sous Category. Le volet de détails du résultat se développe pour afficher des informations, y compris les suivantes :

    • Résumé généré par IAAperçu : explication du problème détecté, générée dynamiquement
    • Description: brève explication de l'erreur détectée
    • Heure de l'événement: le moment où le résultat s'est produit
    • Nom à afficher pour la ressource: la ressource concernée
    • Étapes suivantes: Instructions pour résoudre l'erreur
    • Trouver le nom canonique: un identifiant unique pour le résultat
    • Nom à afficher pour la source: Security Command Center
  5. Facultatif : Pour afficher la définition JSON complète du résultat, cliquez sur l'onglet JSON.

    Le volet affiche la définition JSON du résultat, dans laquelle vous pouvez inspecter tous les attributs du résultat.

Désactivation des erreurs SCC après correction

Une fois que vous avez corrigé un résultat SCC error, Security Command Center définit automatiquement son état sur INACTIVE lors de l'analyse suivante. Le temps nécessaire à Security Command Center pour définir l'état d'un résultat corrigé sur INACTIVE dépend du moment où vous corrigez le résultat et de la programmation de l'analyse qui détecte l'erreur.

Pour en savoir plus sur la fréquence d'analyse d'un résultat SCC error, consultez le résumé du résultat dans la section Détecteurs d'erreurs.

Résoudre les erreurs SCC

Cette section fournit des instructions de résolution pour toutes les erreurs SCC.

API disabled

Nom de la catégorie dans l'API : API_DISABLED

L'un des services suivants est désactivé pour le projet :

Le service désactivé ne peut pas générer de résultats.

Pour corriger ce résultat, procédez comme suit :

  1. Examinez le résultat pour déterminer quelle API est désactivée.
  2. Activez l'API :

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

APS no resource value configs match any resources

Nom de la catégorie dans l'API : APS_NO_RESOURCE_VALUE_CONFIGS_MATCH_ANY_RESOURCES

Les configurations de valeurs de ressources sont définies pour les simulations de chemin d'attaque, mais ne correspondent à aucune instance de ressource de votre environnement. Les simulations utilisent à la place l'ensemble de ressources à forte valeur par défaut.

Les configurations de valeurs de ressources peuvent ne correspondre à aucune ressource pour les raisons suivantes, identifiées dans la description du résultat dans la console Google Cloud:

  • Aucune des configurations de valeurs de ressources ne correspond à une instance de ressource.
  • Une ou plusieurs configurations de valeurs de ressources qui spécifient NONE remplacent toutes les autres configurations valides.
  • Toutes les configurations de valeurs de ressources définies spécifient la valeur NONE.

Pour corriger ce résultat, procédez comme suit :

  1. Accédez à la page Simulation du chemin d'attaque dans les paramètres de Security Command Center:

    Accéder aux paramètres

  2. Sélectionnez votre organisation. La page Simulation du chemin d'attaque s'ouvre avec les configurations existantes affichées.

  3. Dans la colonne Valeur de la ressource de la liste Configurations des valeurs de ressource, recherchez les valeurs de None.

  4. Pour chaque configuration spécifiant None, procédez comme suit:

    1. Cliquez sur le nom d'une configuration de valeur de ressource pour afficher les spécifications de la configuration.

    2. Si nécessaire, modifiez les spécifications des attributs de ressources pour réduire le nombre d'instances de ressources correspondant à la configuration.

  5. Si le problème n'est pas causé par une spécification None trop large, procédez comme suit:

    1. Cliquez sur les noms de chaque configuration spécifiant la valeur HIGH, MEDIUM ou LOW pour afficher les spécifications des attributs de ressource.

    2. Examinez et, si nécessaire, modifiez la configuration pour corriger le champ d'application, le type de ressource, la balise ou la spécification des étiquettes afin qu'elles correspondent aux ressources prévues.

  6. Si nécessaire, créez une configuration de valeur de ressource.

Vos modifications sont appliquées à la prochaine simulation du chemin d'attaque.

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

APS resource value assignment limit exceeded

Nom de la catégorie dans l'API : APS_RESOURCE_VALUE_ASSIGNMENT_LIMIT_EXCEEDED

Dans la dernière simulation du chemin d'attaque, le nombre d'instances de ressources à forte valeur, tel qu'identifié par les configurations de valeurs de ressources, a dépassé la limite de 1 000 instances de ressources dans un ensemble de ressources à forte valeur. Par conséquent, Security Command Center a exclu le nombre d'instances en excès de l'ensemble de ressources à forte valeur.

Pour remédier à ce problème, procédez comme suit:

  • Utilisez des tags ou des libellés pour réduire le nombre de correspondances pour un type de ressource donné ou dans un champ d'application spécifié. Les tags ou les étiquettes doivent être appliqués aux instances de ressources avant de pouvoir être mis en correspondance avec une configuration de valeur de ressource.
  • Créez une configuration de valeur de ressource qui attribue la valeur de ressource NONE à un sous-ensemble des ressources spécifiées dans une autre configuration. La spécification d'une valeur NONE remplace toutes les autres configurations et exclut les instances de ressources de votre ensemble de ressources à forte valeur.
  • Réduisez la spécification de l'attribut de ressource de champ d'application dans la configuration des valeurs de ressource.
  • Supprimez les configurations de valeurs de ressources qui attribuent la valeur LOW.

Pour découvrir comment créer, modifier ou supprimer une configuration de valeur de ressource, consultez Définir et gérer votre ensemble de ressources à forte valeur.

Découvrez les éléments compatibles et les paramètres d'analyse de ce type de résultat.

GKE service account missing permissions

Nom de la catégorie dans l'API : GKE_SERVICE_ACCOUNT_MISSING_PERMISSIONS

Container Threat Detection ne peut pas générer de résultats pour un cluster Google Kubernetes Engine, car le compte de service GKE par défaut du cluster ne dispose pas des autorisations nécessaires. Cela empêche Container Threat Detection d'être correctement activé sur le cluster.

Pour corriger ce résultat, restaurez le compte de service GKE par défaut et vérifiez que le compte de service dispose du rôle Agent de service Kubernetes Engine (roles/container.serviceAgent).

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

KTD blocked by admission controller

Nom de la catégorie dans l'API : KTD_BLOCKED_BY_ADMISSION_CONTROLLER

Impossible d'activer Container Threat Detection sur un cluster, car un contrôleur d'admission tiers empêche le déploiement de l'objet DaemonSet Kubernetes requis.

Pour remédier à ce problème, assurez-vous que les contrôleurs d'admission qui s'exécutent sur le cluster autorisent Container Threat Detection à créer les objets Kubernetes requis.

Vérifier le contrôleur d'admission

Vérifiez si le contrôleur d'admission de votre cluster refuse le déploiement de l'objet DaemonSet de Container Threat Detection.

  1. Dans la description du résultat qui s'affiche dans la console Google Cloud, consultez le message d'erreur envoyé par Kubernetes. Le message d'erreur Kubernetes doit ressembler à ce qui suit:

    generic::failed_precondition: incompatible admission webhook:
    admission webhook "example.webhook.sh" denied the request:
    [example-constraint] you must provide labels: {"example-required-label"}.
    
  2. Dans les journaux des activités d'administration Cloud Audit Logs pour le projet contenant votre cluster, recherchez le message d'erreur affiché dans le champ Description des détails du résultat.

  3. Si votre contrôleur d'admission fonctionne, mais refuse le déploiement de l'objet DaemonSet de Container Threat Detection, configurez votre contrôleur d'admission pour permettre au compte de service géré par Google pour Container Threat Detection de gérer les objets de l'espace de noms kube-system.

    Le compte de service de Container Threat Detection doit pouvoir gérer des objets Kubernetes spécifiques.

Pour en savoir plus sur l'utilisation des contrôleurs d'admission avec Container Threat Detection, consultez la page Contrôleurs d'admission et PodSecurityPolicy.

Confirmer la correction

Une fois l'erreur corrigée, Security Command Center tente automatiquement d'activer Container Threat Detection. Après avoir attendu la fin de l'activation, vous pouvez vérifier si Container Threat Detection est actif en procédant comme suit:

  1. Accédez à la page Charges de travail Kubernetes Engine dans la console.

    Accéder à la page "Charges de travail Kubernetes"

  2. Si nécessaire, sélectionnez Afficher les charges de travail du système.

  3. Sur la page Charges de travail, filtrez d'abord les charges de travail par nom de cluster.

  4. Recherchez la charge de travail container-watcher. Si container-watcher est présent et que son état affiche OK, Container Threat Detection est actif.

KTD image pull failure

Nom de la catégorie dans l'API : KTD_IMAGE_PULL_FAILURE

Impossible d'activer Container Threat Detection sur le cluster, car une image de conteneur requise ne peut pas être extraite (téléchargée) à partir de gcr.io, l'hôte d'image Container Registry.

L'extraction ou le téléchargement d'une image de conteneur peut échouer pour plusieurs raisons.

Vérifiez les éléments suivants :

  • Assurez-vous que les paramètres de votre réseau VPC, de votre DNS ou de votre pare-feu ne bloquent pas l'accès réseau du cluster à l'hôte d'image gcr.io.
  • Si le cluster est privé, assurez-vous que l'accès privé à Google est activé pour autoriser l'accès à l'hôte d'image gcr.io.
  • Si les paramètres réseau ou l'accès privé à Google ne sont pas à l'origine de l'échec, consultez la documentation de dépannage de GKE pour les erreurs ImagePullBackOff et ErrImagePull.

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

KTD service account missing permissions

Nom de la catégorie dans l'API : KTD_SERVICE_ACCOUNT_MISSING_PERMISSIONS

Le compte de service Container Threat Detection identifié dans les détails des résultats de la console Google Cloud ne dispose pas des autorisations requises. Certains résultats ou la totalité des résultats Container Threat Detection ne sont pas envoyés à Security Command Center.

Pour corriger ce résultat, procédez comme suit :

  1. Attribuez le rôle Agent de service Container Threat Detection (roles/containerthreatdetection.serviceAgent) au compte de service. Pour en savoir plus, consultez Attribuer un seul rôle.

    Si vous souhaitez utiliser un rôle personnalisé, assurez-vous qu'il dispose des autorisations associées au rôle "Agent de service Container Threat Detection".

  2. Assurez-vous qu'aucune stratégie de refus IAM n'empêche le compte de service d'utiliser l'une des autorisations du rôle d'agent de service Container Threat Detection. Si une règle de refus bloque l'accès, ajoutez le compte de service en tant que principal d'exception dans la règle de refus.

Pour en savoir plus sur le compte de service Container Threat Detection, ainsi que sur le rôle et les autorisations qu'il requiert, consultez

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

Misconfigured Cloud Logging Export

Nom de la catégorie dans l'API : MISCONFIGURED_CLOUD_LOGGING_EXPORT

Le projet configuré pour l'exportation continue vers Cloud Logging n'est pas disponible. Par conséquent, Security Command Center ne peut pas envoyer de résultats à Logging.

Pour corriger ce résultat, effectuez l'une des opérations suivantes :

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

VPC Service Controls Restriction

Nom de la catégorie dans l'API : VPC_SC_RESTRICTION

Security Health Analytics ne peut pas produire certains résultats pour un projet, car celui-ci est protégé par un périmètre de service. Vous devez accorder au compte de service Security Command Center un accès entrant au périmètre de service.

L'identifiant du compte de service est une adresse e-mail au format suivant:

service-RESOURCE_KEYWORD-RESOURCE_ID@security-center-api.iam.gserviceaccount.com

Remplacez les éléments suivants :

  • RESOURCE_KEYWORD: mot clé org ou project, en fonction de la ressource propriétaire du compte de service
  • RESOURCE_ID: l'un des éléments suivants :
    • ID de l'organisation si le compte de service appartient à l'organisation
    • Le numéro de projet si le compte de service appartient à un projet

Si vous disposez à la fois de comptes de service au niveau de l'organisation et au niveau du projet, appliquez la correction aux deux.

Pour corriger ce résultat, procédez comme suit :

Étape 1 : Déterminer le périmètre de service qui bloque Security Health Analytics

  1. Obtenez l'ID unique de VPC Service Controls et l'ID de projet associé au résultat :
    1. Pour afficher les détails du résultat, cliquez sur son nom de catégorie.
    2. Dans le champ Description, copiez l'ID unique de VPC Service Controls (par exemple, 5e4GI409D6BTWfOp_6C-uSwmTpOQWcmW82sfZW9VIdRhGO5pXyCJPQ).
    3. Dans le champ Chemin d'accès à la ressource, copiez l'ID du projet.
  2. Obtenez l'ID de la règle d'accès et le nom du périmètre de service :

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

      Accéder à l'explorateur de journaux

    2. Dans la barre d'outils, sélectionnez le projet associé au résultat.

      Sélecteur de projet

    3. Dans la zone de recherche, saisissez l'identifiant unique de l'erreur.

      Recherche par UID d'erreur

      Si l'erreur n'apparaît pas dans les résultats de la requête, étendez la chronologie dans l'histogramme, puis réexécutez la requête.

    4. Cliquez sur l'erreur qui s'affiche.

    5. Cliquez sur Développer les champs imbriqués.

    6. Copiez la valeur du champ servicePerimeterName. La valeur a le format suivant :

      accessPolicies/ACCESS_POLICY/servicePerimeters/SERVICE_PERIMETER

      Dans cet exemple, le nom de ressource complet du périmètre de service est accessPolicies/540107806624/servicePerimeters/vpc_sc_misconfigured.

      • ACCESS_POLICY correspond à l'ID de la règle d'accès (par exemple, 540107806624).
      • SERVICE_PERIMETER correspond au nom du périmètre de service (par exemple, vpc_sc_misconfigured).

      Nom de ressource complet du périmètre de service

    7. Pour obtenir le nom à afficher correspondant à l'ID de règle d'accès, utilisez la gcloud CLI.

      Si vous ne pouvez pas effectuer de requêtes au niveau de l'organisation, demandez à votre administrateur d'effectuer cette étape.

      gcloud access-context-manager policies list --organization ORGANIZATION_ID
      

      Remplacez ORGANIZATION_ID par l'ID numérique de votre organisation.

      Un résultat semblable aux lignes suivantes doit s'afficher :

      NAME          ORGANIZATION  SCOPES                 TITLE           ETAG
      540107806624  549441802605                         default policy  2a9a7e30cbc14371
      352948212018  549441802605  projects/393598488212  another_policy  d7b47a9ecebd4659

      Le nom à afficher est le titre qui correspond à l'ID de règle d'accès. Prenez note du nom à afficher de la règle d'accès et du nom du périmètre de service. Vous en aurez besoin dans la section suivante.

Étape 2 : Créer une règle d'entrée accordant l'accès au projet

Cette section nécessite que vous disposiez d'un accès à VPC Service Controls au niveau de l'organisation. Si vous ne disposez pas d'un accès au niveau de l'organisation, demandez à votre administrateur d'effectuer ces étapes.

Dans les étapes suivantes, vous créez une règle d'entrée sur le périmètre de service que vous avez identifié à l'étape 1.

Pour accorder à un compte de service un accès entrant à un périmètre de service, procédez comme suit.

  1. Accédez à VPC Service Controls.

    Accéder à VPC Service Controls

  2. Dans la barre d'outils, sélectionnez votre organisation Google Cloud.

    Sélecteur de projet

  3. Dans la liste déroulante, sélectionnez la règle d'accès contenant le périmètre de service auquel vous souhaitez accorder l'accès.

    Liste des règles d'accès

    Les périmètres de service associés à la règle d'accès apparaissent dans la liste.

  4. Cliquez sur le nom du périmètre de service.

  5. Cliquez sur Modifier le périmètre.

  6. Dans le menu de navigation, cliquez sur Règle d'entrée.

  7. Cliquez sur Add rule (Ajouter une règle).

  8. Configurez la règle comme suit :

    Attributs "FROM" du client API

    1. Pour Source, sélectionnez Toutes les sources.
    2. Pour Identité, sélectionnez Identités sélectionnées.
    3. Dans le champ Ajouter un utilisateur/compte de service, cliquez sur Sélectionner.
    4. Saisissez l'adresse e-mail du compte de service. Si vous disposez à la fois de comptes de service au niveau de l'organisation et du projet, ajoutez les deux.
    5. Cliquez sur Enregistrer.

    Attributs "TO" des services/ressources GCP

    1. Pour Projet, sélectionnez Tous les projets ou sélectionnez le projet spécifié dans le résultat.

    2. Pour Services, sélectionnez Tous les services ou choisissez chacun des services suivants requis par Security Health Analytics:

      • API BigQuery
      • API Binary Authorization
      • API Cloud Logging
      • API Cloud Monitoring
      • API Compute Engine
      • API Kubernetes Engine

    Si un périmètre de service restreint l'accès à un service requis, Security Health Analytics ne peut pas produire de résultats pour ce service.

  9. Dans le menu de navigation, cliquez sur Enregistrer.

Pour plus d'informations, consultez la section Configurer les règles d'entrée et de sortie.

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

Security Command Center service account missing permissions

Nom de la catégorie dans l'API : SCC_SERVICE_ACCOUNT_MISSING_PERMISSIONS

Le compte de service géré par Google de Security Command Center ne dispose pas des autorisations nécessaires pour fonctionner correctement.

L'identifiant du compte de service est une adresse e-mail au format suivant:

service-RESOURCE_KEYWORD-RESOURCE_ID@security-center-api.iam.gserviceaccount.com

Remplacez les éléments suivants :

  • RESOURCE_KEYWORD: mot clé org ou project, en fonction de la ressource propriétaire du compte de service
  • RESOURCE_ID: l'un des éléments suivants :
    • ID de l'organisation si le compte de service appartient à l'organisation
    • Le numéro de projet si le compte de service appartient à un projet

Si vous disposez à la fois de comptes de service au niveau de l'organisation et au niveau du projet, appliquez la correction aux deux.

Pour corriger ce résultat, procédez comme suit :

  1. Attribuez le rôle d'agent de service du centre de sécurité (roles/securitycenter.serviceAgent) au compte de service.

    Pour en savoir plus, consultez la section Attribuer un seul rôle.

    Si vous souhaitez utiliser un rôle personnalisé, assurez-vous qu'il dispose des autorisations du rôle Agent de service du centre de sécurité.

  2. Assurez-vous qu'aucune stratégie de refus IAM n'empêche le compte de service d'utiliser l'une des autorisations des rôles requis. Si une règle de refus bloque l'accès, ajoutez le compte de service en tant que principal d'exception dans la règle de refus.

En savoir plus sur les éléments et les paramètres d'analyse compatibles de ce type de résultat.

Étapes suivantes

Apprenez-en plus sur les erreurs Security Command Center.