Utiliser des modules personnalisés avec Security Health Analytics

Cette page explique comment créer, afficher, mettre à jour et supprimer des modules personnalisés pour Security Health Analytics à l'aide de la console Google Cloud ou de Google Cloud CLI.

Pour en savoir plus, consultez Présentation des modules personnalisés pour Security Health Analytics.

Avant de commencer

Pour pouvoir utiliser des modules personnalisés, vous devez remplir les conditions préalables suivantes:

  • Vous devez disposer du niveau Premium de Security Command Center. Pour en savoir plus sur les niveaux de Security Command Center, consultez la page Présentation de l'activation de Security Command Center.
  • L'analyse de l'état de la sécurité doit être activée. Pour savoir comment activer l'analyse de l'état de sécurité, consultez la section Activer ou désactiver un service intégré.
  • Votre compte utilisateur doit disposer d'au moins Identity and Access Management (IAM) qui contiennent les autorisations requises. Pour en savoir plus, consultez Autorisations IAM requises.
  • Si vous souhaitez écrire vos propres modules personnalisés et les importer dans Security Command Center à l'aide de commandes gcloud, vous avez besoin de la Google Cloud CLI. Pour en savoir plus sur l'installation de la CLI gcloud, consultez la page Installer la CLI gcloud.
  • Si l'API Security Command Center n'est pas déjà activée, vous devez l'activer avant de pouvoir utiliser des modules personnalisés pour Security Health Analytics. Vous pouvez activer l'API Security Command Center sur le Page "Bibliothèque d'API" dans la console Google Cloud.
  • Pour connaître les limites d'utilisation de Security Health Analytics, consultez la section Quotas de modules personnalisés.

Autorisations IAM requises

Pour utiliser des modules personnalisés, vous avez besoin des autorisations IAM (Identity and Access Management) suivantes :

Autorisation Rôle
securitycenter.securityhealthanalyticscustommodules.create
securitycenter.securityhealthanalyticscustommodules.update
securitycenter.securityhealthanalyticscustommodules.delete
roles/securitycenter.settingsEditor
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.get
securitycenter.securityhealthanalyticscustommodules.list
roles/securitycenter.settingsViewer
roles/securitycenter.adminViewer
roles/securitycenter.admin
securitycenter.securityhealthanalyticscustommodules.test roles/securitycenter.securityHealthAnalyticsCustomModulesTester
roles/securitycenter.adminViewer
roles/securitycenter.adminEditor
roles/securitycenter.admin

Pour en savoir plus sur les autorisations et les rôles IAM, comment les accorder, consultez Accordez un rôle IAM à l'aide de la console Google Cloud.

Créer un module personnalisé

Cette section explique comment créer des modules personnalisés à l'aide de la console Google Cloud ou de gcloud CLI.

Pour tester votre module personnalisé en tant qu'étape du processus de création, vous devez : préparer les définitions de ressources de test dans un fichier YAML. Pour obtenir des instructions, consultez l'article Créez des ressources de test dans un fichier YAML.

Pour créer un module personnalisé, sélectionnez la méthode que vous souhaitez utiliser à partir de les onglets suivants:

console Google Cloud

Pour créer un module personnalisé dans la console Google Cloud, procédez comme suit :

  1. Accédez à la page Paramètres de Security Command Center dans la console Google Cloud.

    Accéder aux paramètres

  2. Si vous y êtes invité, sélectionnez l'organisation, le dossier ou le projet dans lequel vous devez créer le module personnalisé.

  3. Sur la fiche Security Health Analytics, cliquez sur Gérer les paramètres.

  4. Cliquez sur l'onglet Modules.

  5. Cliquez sur Créer un module. La page Créer un module pour Security Health Analytics s'ouvre.

  6. Dans le panneau Configurer le module, définissez le nom à afficher, les ressources à analyser et la logique de détection :

    1. Dans le champ Module name (Nom du module), spécifiez un nom pour le module. Le nom doit comporter entre 1 et 128 caractères, commencer par une lettre minuscule et ne contenir que des caractères alphanumériques et des traits de soulignement. Ce nom devient la catégorie des résultats qui produit par ce détecteur. Vous ne pouvez pas modifier le nom après le module est créé.

    2. Sous Ajouter un type de ressource, spécifiez un à cinq types de ressources à analyser. Vous ne pouvez pas spécifier un type de ressource plusieurs fois.

      Pour obtenir la liste des types de ressources compatibles, consultez la section Types de ressources acceptés.

    3. Dans l'éditeur d'expressions, écrivez des expressions CEL. pour exécuter des vérifications booléennes sur une ou plusieurs propriétés de la ressource que vous avez spécifié à l'étape précédente. Pour déclencher un résultat, la doit correspondre à TRUE. Par exemple, l'expression suivante déclenche une détection si une ressource CryptoKey a une période de rotation définie et que cette période est supérieure à 2 592 000 secondes (30 jours) :

      has(resource.rotationPeriod) && (resource.rotationPeriod > duration('2592000s'))
      

      Pour en savoir plus, consultez les ressources suivantes :

    4. Cliquez sur Suivant. Le panneau Définir les détails du résultat s'ouvre.

  7. Dans le panneau Définir les détails du résultat, décrivez le problème le module personnalisé détecte, y compris sa gravité, le problème comment résoudre le problème et toutes les données que vous souhaitez inclure dans le résultats en tant que propriétés sources personnalisées:

    1. Dans le champ Gravité, indiquez la gravité du problème. Vous pouvez spécifier Low, Medium, High ou Critical. Medium est l'option par défaut.

      Pour en savoir plus sur les niveaux de gravité, consultez Classification des résultats par niveau de gravité.

    2. Dans le champ Description de la recherche, expliquez le problème détecté par le module personnalisé. Cette explication s'affiche dans chaque instance de résultat pour aider les équipes de sécurité à comprendre et à résoudre le problème détecté.

    3. Dans le champ Étapes suivantes, expliquez les étapes que votre l'équipe de sécurité peut prendre pour résoudre ou traiter le problème détecté.

      Les étapes s'affichent pour chaque instance de résultat. Incluez les mesures spécifiques que l'équipe de sécurité peut prendre pour résoudre le problème le plus rapidement possible.

    4. Facultatif : dans le champ Propriétés de résultat personnalisées, spécifiez jusqu'à 10 paires nom-valeur pour définir les propriétés de source personnalisées à renvoyer avec chaque instance de résultat. Les informations sont renvoyées en tant que propriétés sources dans le résultat JSON. Dans l'onglet Propriétés sources dans les détails des résultats console Google Cloud. Spécifiez le texte ou les valeurs de propriété en tant que paires clé-valeur:

      • Dans le champ Nom de la propriété, indiquez le nom de la propriété la propriété source. Le nom doit respecter les règles suivantes:
        • Le nom doit commencer par une lettre minuscule.
        • Le nom ne doit contenir que des caractères alphanumériques ou et des traits de soulignement.
        • Le nom doit comporter entre 1 et 128 caractères.
        • Chaque nom doit être unique parmi les autres propriétés sources.
      • Dans le champ Valeur de la propriété, spécifiez l'une des valeurs suivantes : ne dépassant pas 1 024 caractères:
        • Chaîne de texte entre guillemets. Les guillemets sont inclus dans la limite de 1 024 caractères. Par exemple, "This string provides additional useful information.".
        • Toute propriété de la ressource analysée. Par exemple, si vous vérifiez la ressource CryptoKey, vous pouvez spécifier resource.rotationPeriod. La valeur de la propriété rotationPeriod est renvoyée.
    5. Cliquez sur Suivant. Le panneau Activer le module s'ouvre.

  8. Facultatif : Utilisez le menu déroulant du panneau Activer le module pour spécifier si le module personnalisé est activé ou désactivé lors de sa création. Par défaut, les modules personnalisés sont activés à leur création. Si vous indiquez Désactiver : vous pourrez activer le module ultérieurement dans l'onglet Modules dans la page des paramètres de Security Health Analytics.

  9. Cliquez sur Suivant. Le panneau Module de test s'ouvre.

  10. Facultatif : Avant de créer votre module personnalisé, nous vous recommandons de le tester.

    Pour tester un module personnalisé, procédez comme suit:

    1. Créez un fichier YAML contenant les définitions de ressources de test pour le les ressources vérifiées par votre module personnalisé.

      Pour savoir comment créer un fichier de données de test, consultez Créez des ressources de test dans un fichier YAML.

    2. Sous Importer le fichier YAML, cliquez sur Parcourir pour importer le fichier YAML. contenant les définitions de ressources de test. Le test démarre automatiquement lorsque le fichier est mis en ligne.

    3. Sous Aperçu des résultats des tests, vérifiez les résultats.

      • S'il y a des erreurs de syntaxe ou d'autres erreurs dans votre fichier YAML, une valeur flottante s'affiche au bas de la page du navigateur.
      • Si le test réussit, il renvoie les informations suivantes:

        • Nom à afficher du module personnalisé.
        • Nom arbitraire que vous avez spécifié sur la propriété resource dans le fichier de données de test.
        • Organisation, dossier ou projet dans lequel le module personnalisé a été ou sera créé.

    Les résultats des tests ne sont pas stockés ni écrits dans Security Command Center.

    Pour en savoir plus, consultez la section Tester des modules personnalisés.

  11. Cliquez sur Créer. Vous êtes redirigé vers la page Modules. Le module que vous avez créé devrait s'afficher avec l'état Enabled (Activé).

Les nouveaux modules personnalisés ne sont pas immédiatement disponibles pour Security Health Analytics dans les analyses. Pour en savoir plus, consultez la section Latence de détection.

CLI gcloud

Pour créer un module personnalisé à l'aide de commandes gcloud, vous devez d'abord coder la définition du module personnalisé dans un fichier YAML qui inclut des expressions CEL pour la logique de détection et les propriétés de sortie.

Une fois la définition terminée, vous l'importez dans Security Command Center à l'aide de commandes gcloud CLI.

  1. Codez une définition de module personnalisé dans un fichier YAML en fonction de la les instructions fournies dans Coder un module personnalisé pour Security Health Analytics
  2. Enregistrez le fichier YAML dans un emplacement accessible à votre instance. de gcloud CLI.
  3. Importez la définition personnalisée dans Security Command Center:

    gcloud scc custom-modules sha create \
        PARENT_FLAG=PARENT_ID \
        --display-name="MODULE_DISPLAY_NAME" \
        --enablement-state="ENABLEMENT_STATE" \
        --custom-config-from-file=MODULE_FILE_NAME.yaml
    

    Remplacez les éléments suivants :

    • PARENT_FLAG : niveau auquel vous créez le module personnalisé, soit --organization, --folder ou --project.
    • PARENT_ID : ID de l'organisation, du dossier ou du projet dans lequel vous créez le module personnalisé.
    • ENABLEMENT_STATE: soit enabled, soit disabled
    • MODULE_DISPLAY_NAME: catégorie de résultats nom que vous souhaitez afficher lorsque le module personnalisé renvoie un résultat. Le nom doit comporter entre 1 et 128 caractères, commencer par une lettre minuscule et ne contenir que des caractères alphanumériques et des traits de soulignement.
    • MODULE_FILE_NAME: chemin d'accès et nom de fichier de le fichier YAML contenant la définition du module personnalisé.

Latence de détection

Une fois que vous avez créé ou mis à jour la définition d'un module personnalisé, un délai pouvant aller jusqu'à plusieurs heures peut être nécessaire avant que le nouveau module personnalisé ou mis à jour soit disponible pour les analyses.

La création ou la modification d'un module personnalisé ne déclenche pas d'analyse. Une fois qu'un module personnalisé est disponible, Security Health Analytics ne commence à l'utiliser qu'une fois que la première analyse par lot ou une modification de la configuration de la ressource cible déclenche une analyse en temps réel.

Pour en savoir plus sur les types d'analyse Security Health Analytics, consultez Types d'analyses Security Health Analytics.

Mettre à jour un module personnalisé

Vous pouvez mettre à jour la plupart des propriétés des modules personnalisés de Security Health Analytics.

Les propriétés suivantes d'un module personnalisé ne peuvent pas être modifiées :

  • Nom à afficher.
  • ID du module personnalisé.
  • Nom de ressource complet du module personnalisé.

Lorsque vous mettez à jour un module personnalisé, les résultats qu'il a générés précédemment ne sont pas mis à jour en même temps. Si les modifications apportées au module entraîneront une modification des conclusions émises, celles-ci refléteront les modifications qu’après la prochaine analyse par lot ou en temps réel de Security Health Analytics.

Pour modifier un module personnalisé, vous pouvez utiliser la console Google Cloud ou gcloud CLI. Cliquez sur l'un des onglets suivants pour afficher instructions.

console Google Cloud

Pour mettre à jour un module personnalisé existant dans la console Google Cloud, procédez comme suit:

  1. Accédez à la page Paramètres de Security Command Center dans la console Google Cloud.

    Accéder aux paramètres

  2. Dans le sélecteur de projet, choisissez l'organisation, le dossier ou le projet. dans lequel le module personnalisé a été créé. Vous ne pouvez pas modifier un module personnalisé ailleurs.

  3. Sur la fiche Security Health Analytics, cliquez sur Gérer les paramètres.

  4. Sélectionnez l'onglet Modules. Tous les modules de détection de Security Health Analytics s'affichent.

  5. Utilisez le champ de filtre en haut de la liste des modules ou faites défiler la page pour trouver le module personnalisé à modifier.

  6. À droite de la ligne de votre module personnalisé, cliquez sur l'icône Menu d'actions .

  7. Dans le menu d'actions, cliquez sur l'icône Modifier. (). La La page Afficher le module s'ouvre et affiche l'onglet Configurer le module.

  8. Modifiez les champs du module personnalisé de chaque onglet de l'onglet Afficher le module. .

  9. Facultatif: Avant d'enregistrer vos mises à jour, nous vous recommandons de les tester.

    Pour tester un module personnalisé, procédez comme suit :

    1. Créez un fichier YAML contenant les définitions de ressources de test pour le les ressources vérifiées par votre module personnalisé.

      Pour savoir comment créer un fichier de données de test, consultez la section Créer des ressources de test dans un fichier YAML.

    2. Sous Importer le fichier YAML, cliquez sur Parcourir pour importer le fichier YAML contenant les définitions de ressources de test. Le test démarre automatiquement lorsque le fichier est mis en ligne.

    3. Sous Aperçu des résultats des tests, vérifiez les résultats.

      • S'il y a des erreurs de syntaxe ou d'autres erreurs dans votre fichier YAML, une valeur flottante s'affiche au bas de la page du navigateur.
      • Si le test réussit, il renvoie les informations suivantes:

        • Nom à afficher du module personnalisé.
        • Nom arbitraire que vous avez spécifié sur la propriété resource dans le fichier de données de test.
        • Organisation, dossier ou projet dans lequel le module personnalisé a été ou sera créé.

    Les résultats des tests ne sont pas stockés ni écrits dans Security Command Center.

    Pour en savoir plus, consultez la section Tester les modules personnalisés.

  10. Cliquez sur Enregistrer au bas de la page. Vos modifications sont appliquées au module personnalisé.

CLI gcloud

Pour mettre à jour un module personnalisé à l'aide de la CLI gcloud, vous devez d'abord modifier la définition YAML du module personnalisé, puis utiliser des commandes gcloud pour le mettre à jour dans Security Health Analytics.

  1. Modifiez la définition du module personnalisé. Pour savoir comment coder une définition de module personnalisé, consultez Coder un module personnalisé d'analyse de l'état de la sécurité

  2. Enregistrez le fichier YAML modifié dans un emplacement accessible au gcloud CLI.

  3. Mettez à jour le module personnalisé dans Security Health Analytics en exécutant la commande suivante :

    gcloud scc custom-modules sha update MODULE_ID \
       PARENT_FLAG=PARENT_ID \
       --enablement-state="ENABLED" \
       --custom-config-from-file=MODULE_FILE_NAME.yaml
    

    Remplacez les éléments suivants :

    • MODULE_ID : ID ou nom de ressource complet du module personnalisé.
    • PARENT_FLAG: niveau auquel l'audience personnalisée module a été créé, --organization, --folder ou --project.
    • PARENT_ID : ID de l'organisation, du dossier ou du projet dans lequel le module personnalisé a été créé.
    • MODULE_FILE_NAME : chemin d'accès et nom du fichier YAML contenant la définition du module personnalisé.

Afficher un module personnalisé

Sélectionnez un onglet pour découvrir comment afficher une définition de module personnalisé.

console Google Cloud

Pour afficher les modules personnalisés dans la console Google Cloud, procédez comme suit:

  1. Accédez à la page Security Health Analytics dans Security Command Center. paramètres.

    Accéder aux paramètres

  2. Cliquez sur l'onglet Modules. Le panneau Modules s'ouvre.

  3. Si nécessaire, utilisez le champ de filtre en haut de la liste des modules pour trouver le module personnalisé que vous devez modifier.

  4. Pour afficher les détails de la définition du module personnalisé, cliquez sur l'icône Menu d'actions  à droite de la ligne du module personnalisé.

  5. Dans le menu Action, cliquez sur l'icône Modifier . La page Afficher le module s'ouvre et affiche l'onglet Configurer le module.

  6. Parcourez les onglets de la page Afficher le module pour afficher tous les champs de la définition du module personnalisé.

CLI gcloud

Pour afficher les détails d'un module personnalisé, saisissez la commande suivante :

gcloud scc custom-modules sha get MODULE_ID \
      PARENT_FLAG=PARENT_ID

Remplacez les éléments suivants :

  • MODULE_ID : ID ou nom de ressource complet du module personnalisé.
  • PARENT_FLAG: niveau auquel l'audience personnalisée module a été créé, --organization, --folder ou --project.
  • PARENT_ID: ID de l'organisation, du dossier ou projet dans lequel le module personnalisé a été créé.

Répertorier les modules personnalisés

Sélectionnez un onglet pour découvrir comment afficher la liste des modules personnalisés.

console Google Cloud

  1. Accédez à la page Security Health Analytics dans Security Command Center. paramètres.

    Accéder aux paramètres

  2. Cliquez sur l'onglet Modules. Le panneau Modules s'ouvre.

  3. Cliquez dans le champ de filtre en haut de la liste des modules à afficher. la liste des types de filtres.

  4. Sélectionnez Type (Type), puis saisissez Custom. Les listes de modules sont mises à jour pour n'afficher que les modules personnalisés.

CLI gcloud

Pour afficher la liste des modules personnalisés, saisissez la commande suivante :

gcloud scc custom-modules sha list \
    PARENT_FLAG=PARENT_ID

Remplacez les éléments suivants :

  • PARENT_FLAG: niveau auquel l'audience personnalisée module a été créé, --organization, --folder ou --project.
  • PARENT_ID: ID de l'organisation, du dossier ou projet dans lequel le module personnalisé a été créé.

Supprimer un module personnalisé

Vous pouvez supprimer un module personnalisé de l'organisation, du dossier ou du projet dans lequel il a été créé, ou d'une organisation ou d'un dossier parent. Vous ne pouvez pas supprimer un module personnalisé d'un dossier ou d'un projet qui l'hérite.

Pour savoir comment supprimer un module personnalisé, sélectionnez l'un des onglets suivants.

console Google Cloud

  1. Accédez à la page Paramètres de Security Command Center dans la console Google Cloud.

    Accéder aux paramètres

  2. Si vous y êtes invité, sélectionnez votre organisation, votre dossier ou votre projet.

  3. Sur la fiche Security Health Analytics, cliquez sur Manage Settings (Gérer les paramètres).

  4. Sélectionnez l'onglet Modules. Tous les modules de détection de Security Health Analytics s'affichent.

  5. Utilisez le champ de filtre en haut de la liste des modules ou faites défiler la page pour trouver le module personnalisé à modifier.

  6. À droite de la ligne de votre module personnalisé, cliquez sur l'icône Menu d'actions .

  7. Dans le menu d'actions, cliquez sur Supprimer. La boîte de dialogue Supprimer le module personnalisé s'ouvre.

  8. Dans la boîte de dialogue, cliquez sur Supprimer.

CLI gcloud

Pour supprimer un module personnalisé, saisissez la commande suivante :

gcloud scc custom-modules sha delete MODULE_ID \
    PARENT_FLAG=PARENT_ID

Remplacez les éléments suivants :

  • MODULE_ID : ID ou nom de ressource complet du module personnalisé.
  • PARENT_FLAG: niveau auquel l'audience personnalisée module a été créé, --organization, --folder ou --project.
  • PARENT_ID: ID de l'organisation, du dossier ou projet dans lequel le module personnalisé a été créé.

Les résultats des modules personnalisés supprimés sont marqués comme inactifs par Security Health Analytics lors de la prochaine analyse par lot.

Examiner les résultats

Vous pouvez consulter les résultats générés par les modules personnalisés dans la Console Google Cloud, console Opérations de sécurité (pour les clients Enterprise) ou l'API Security Command Center.

Console

console Google Cloud

  1. Dans la console Google Cloud, accédez à la page Résultats de Security Command Center.

    Accéder

  2. Sélectionnez votre projet ou votre organisation Google Cloud.
  3. Dans la sous-section Nom à afficher pour la source de la section Filtres rapides, sélectionnez Security Health Analytics (personnalisé) : Les résultats de la requête de résultats sont mis à jour pour n'afficher que les résultats de cette source.
  4. Pour afficher les détails d'un résultat spécifique, cliquez sur le nom du résultat sous Catégorie. Le panneau d'informations du résultat s'ouvre et affiche l'onglet Récapitulatif.
  5. Dans l'onglet Récapitulatif, examinez les détails de la non-conformité, y compris les informations sur ce qui a été détecté, la ressource concernée et, le cas échéant, les mesures que vous pouvez prendre pour y remédier.
  6. Facultatif : Pour afficher la définition JSON complète du résultat, cliquez sur l'onglet JSON.

Console Security Operations

  1. Dans la console Opérations de sécurité, accédez à la page Résultats.
    https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
    

    Remplacez CUSTOMER_SUBDOMAIN par votre identifiant client.

  2. Dans la section Agrégations, cliquez sur Nom à afficher pour la source pour le développer. dans cette sous-section.
  3. Sélectionnez Personnalisé pour Security Health Analytics. Les résultats de la requête de résultats sont mis à jour pour n'afficher que les résultats de cette source.
  4. Pour afficher les détails d'un résultat spécifique, cliquez sur son nom sous Catégorie. La le panneau des détails du résultat s'ouvre et affiche l'onglet Résumé.
  5. Dans l'onglet Récapitulatif, examinez les détails de la non-conformité, y compris les informations sur ce qui a été détecté, la ressource concernée et, le cas échéant, les mesures que vous pouvez prendre pour y remédier.
  6. Facultatif : Pour afficher la définition JSON complète du résultat, cliquez sur l'onglet JSON.

CLI gcloud

Pour afficher les résultats, procédez comme suit :

  1. Ouvrez une fenêtre de terminal.
  2. Pour obtenir l'ID source de Security Health Analytics, exécutez la la commande suivante:

    gcloud scc sources describe organizations/ORGANIZATION_ID \
    --source-display-name='Security Health Analytics Custom'
    

    La sortie affichée doit ressembler à la suivante. Dans cet exemple, SOURCE_ID est un ID attribué par le serveur pour des raisons de sécurité sources.

    description: ...
    displayName: Security Health Analytics Custom
    name: organizations/ORGANIZATION_ID/sources/SOURCE_ID
    
  3. Pour lister tous les résultats générés par vos modules personnalisés, exécutez la commande suivante :

    gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID
    
  4. Pour lister les résultats d'un module personnalisé spécifique, exécutez la commande suivante :

    gcloud scc findings list ORGANIZATION_ID --source=SOURCE_ID --filter="category=\"MODULE_NAME\""
    

Étape suivante

Vous pouvez gérer les résultats générés par les modules personnalisés, comme tous les résultats Security Command Center. Pour obtenir des instructions, consultez les informations suivantes :