Intégrer Security Command Center à Google SecOps

Ce document explique comment intégrer Security Command Center à Google Security Operations (Google SecOps).

Version de l'intégration : 13.0

Avant de commencer

Pour utiliser l'intégration, vous avez besoin d'un rôle IAM (Identity and Access Management) personnalisé et d'un compte de service Google Cloud . Vous pouvez utiliser un compte de service existant ou en créer un.

Créer et configurer un rôle IAM

Pour créer et configurer un rôle IAM personnalisé pour l'intégration, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Rôles d'IAM.

    Accéder à la page "Rôles"

  2. Cliquez sur Créer un rôle pour créer un rôle personnalisé avec les autorisations requises pour l'intégration.

  3. Pour un nouveau rôle personnalisé, saisissez un titre, une description et un ID unique.

  4. Définissez l'étape de lancement du rôle sur Disponibilité générale.

  5. Ajoutez les autorisations suivantes au rôle créé :

    • securitycenter.assets.list
    • securitycenter.findings.list
    • securitycenter.findings.setMute
    • securitycenter.findings.setState

Créer et configurer une clé API

Pour créer la clé API, procédez comme suit :

  1. Dans la console Google Cloud , accédez à API et services > Identifiants > Créer des identifiants.

  2. Sélectionnez Clé API. Une boîte de dialogue contenant une clé API générée s'affiche. Copiez la clé API et stockez-la de manière sécurisée.

Pour configurer la restriction d'API pour la clé API, procédez comme suit :

  1. Cliquez sur Restreindre la clé > Restrictions des API > Restreindre la clé.

  2. Sélectionnez API Security Command Center dans la liste des API, configurez les restrictions applicables, puis cliquez sur Enregistrer.

Accorder l'accès à la clé API

Pour accorder à Security Command Center l'accès à votre clé API, procédez comme suit :

  1. Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.

  2. Sélectionnez le compte de service que vous utilisez dans l'intégration Security Command Center.

  3. Cliquez sur l'adresse e-mail du compte de service.

  4. Sélectionnez Accorder l'accès.

  5. Dans le champ Nouveaux membres, saisissez l'adresse e-mail du compte de service.

  6. Sous Centre de sécurité, sélectionnez le rôle Security Center Findings Editor, puis cliquez sur Enregistrer.

Paramètres d'intégration

L'intégration à Security Command Center nécessite les paramètres suivants :

Paramètre Description
API Root

Obligatoire.

Racine de l'API de l'instance Security Command Center.

Organization ID

Facultatif.

ID de l'organisation à utiliser dans l'intégration Security Command Center.

Project ID

Facultatif.

ID de projet de l'instance Security Command Center.

Quota Project ID

Facultatif.

ID de projet Google Cloud que vous utilisez pour les API Google Cloud et la facturation. Ce paramètre nécessite que vous accordiez le rôle Service Usage Consumer à votre compte de service.

Si vous ne définissez pas de valeur pour ce paramètre, l'intégration récupère l'ID du projet à partir de votre compte de service Google Cloud .

User's Service Account

Obligatoire.

Contenu du fichier JSON de clé de compte de service.

Vous pouvez configurer ce paramètre ou le paramètre Workload Identity Email.

Pour configurer ce paramètre, indiquez le contenu complet du fichier JSON de la clé de compte de service que vous avez téléchargé lorsque vous avez créé un compte de service.

Workload Identity Email

Facultatif.

Adresse e-mail du client de votre compte de service.

Vous pouvez configurer ce paramètre ou le paramètre User's Service Account.

Si vous définissez ce paramètre, configurez le paramètre Quota Project ID.

Pour emprunter l'identité de comptes de service avec la fédération d'identité de charge de travail, accordez le rôle Service Account Token Creator à votre compte de service. Pour en savoir plus sur les identités de charge de travail et leur utilisation, consultez Identités pour les charges de travail.

Verify SSL

Obligatoire.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Security Command Center.

Cette option est sélectionnée par défaut.

Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.

Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.

Actions

Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.

Obtenir les détails d'un résultat

Utilisez l'action Obtenir les détails d'un résultat pour récupérer les détails d'un résultat dans Security Command Center.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Obtenir les détails du résultat nécessite les paramètres suivants :

Paramètre Description
Finding Name

Obligatoire.

Noms des résultats pour renvoyer les détails. Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule.

Voici un exemple de recherche de noms :

organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID

Sorties d'action

L'action Obtenir les détails du résultat fournit les sorties suivantes :

Type de sortie de l'action Disponibilité
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table du mur des cas Disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Table du mur des cas

L'action Obtenir les détails du résultat peut renvoyer le tableau suivant :

Titre du tableau : Détails du résultat

Colonnes du tableau :

  • Catégorie
  • État
  • Gravité
  • Type
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Obtenir les détails du problème :

{
   {
      "finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
      "finding": {
        "name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
        "parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
        "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "state": "ACTIVE",
        "category": "Discovery: Service Account Self-Investigation",
        "sourceProperties": {
          "sourceId": {
            "projectNumber": "PROJECT_ID",
            "customerOrganizationNumber": "ORGANIZATION_ID"
          },
          "detectionCategory": {
            "technique": "discovery",
            "indicator": "audit_log",
            "ruleName": "iam_anomalous_behavior",
            "subRuleName": "service_account_gets_own_iam_policy"
          },
          "detectionPriority": "LOW",
          "affectedResources": [
            {
              "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
            }
          ],
          "evidence": [
            {
              "sourceLogId": {
                "projectId": "PROJECT_ID",
                "resourceContainer": "projects/PROJECT_ID",
                "timestamp": {
                  "seconds": "1622678907",
                  "nanos": 448368000
                },
                "insertId": "ID"
              }
            }
          ],
          "properties": {
            "serviceAccountGetsOwnIamPolicy": {
              "principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
              "projectId": "PROJECT_ID",
              "callerIp": "192.0.2.41",
              "callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
              "rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
            }
          },
          "contextUris": {
            "mitreUri": {
              "displayName": "Permission Groups Discovery: Cloud Groups",
              "url": "https://attack.mitre.org/techniques/ID/003/"
            },
            "cloudLoggingQueryUri": [
              {
                "displayName": "Cloud Logging Query Link",
                "url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
              }
            ]
          }
        },
        "securityMarks": {
          "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
        },
        "eventTime": "2021-06-03T00:08:27.448Z",
        "createTime": "2021-06-03T00:08:31.074Z",
        "severity": "LOW",
        "canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
        "mute": "UNDEFINED",
        "findingClass": "THREAT",
        "mitreAttack": {
          "primaryTactic": "DISCOVERY",
          "primaryTechniques": [
            "PERMISSION_GROUPS_DISCOVERY",
            "CLOUD_GROUPS"
          ]
        }
      },
      "resource": {
        "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
        "projectDisplayName": "PROJECT_ID",
        "parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
        "parentDisplayName": "example.net",
        "type": "google.cloud.resourcemanager.Project",
        "displayName": "PROJECT_ID"
      }
    }
}
Messages de sortie

L'action Obtenir les détails du résultat peut renvoyer les messages de sortie suivants :

Message affiché Description du message

Successfully returned details about the following findings in Security Command Center: FINDING_NAMES.

Action wasn't able to find the following findings in Security Command Center: FINDING_NAMES.

None of the provided findings were found in Security Command Center.

L'action a réussi.
Error executing action "Get Finding Details". Reason: ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants.

Résultat du script

Le tableau suivant liste la valeur de la sortie des résultats du script lorsque vous utilisez l'action Get Finding Details (Obtenir les détails du problème) :

Nom du résultat du script Valeur
is_success True ou False

Lister les failles des composants

Utilisez l'action Lister les failles des composants pour lister les failles liées aux entités dans Security Command Center.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Lister les failles des composants nécessite les paramètres suivants :

Paramètre Description
Asset Resource Names

Obligatoire.

Noms de ressources des composants pour lesquels renvoyer des données. Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule.

Timeframe

Facultatif.

Période pendant laquelle rechercher les failles ou les erreurs de configuration.

Les valeurs possibles sont les suivantes :

  • Last Week
  • Last Month
  • Last Year
  • All Time

La valeur par défaut est All Time.

Record Types

Facultatif.

Type d'enregistrement à renvoyer.

Les valeurs possibles sont les suivantes :

  • Vulnerabilities Misconfigurations
  • Vulnerabilities + Misconfigurations

La valeur par défaut est Vulnerabilities + Misconfigurations.

Output Type

Facultatif.

Type de résultat à renvoyer dans le résultat JSON pour chaque élément.

Les valeurs possibles sont les suivantes :

  • Statistics
  • Data
  • Statistics + Data

La valeur par défaut est Statistics.

Max Records To Return

Facultatif.

Nombre maximal d'enregistrements à renvoyer pour chaque type d'enregistrement.

La valeur par défaut est 100.

Sorties d'action

L'action Lister les failles des composants fournit les sorties suivantes :

Type de sortie de l'action Disponibilité
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table du mur des cas Disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Table du mur des cas

L'action Lister les failles des composants peut renvoyer les tableaux suivants :

Titre du tableau : ASSET_ID Failles

Colonnes du tableau :

  • Catégorie
  • Description
  • Gravité
  • Heure de l'événement
  • CVE

Titre du tableau : ASSET_ID Configurations incorrectes

Colonnes du tableau :

  • Catégorie
  • Description
  • Gravité
  • Heure de l'événement
  • Recommandation
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action List Asset Vulnerabilities (Lister les failles des composants) :

{
   ."siemplify_asset_display_name":[1] [2]  ""
"vulnerabilities": {
        "statistics": {
            "critical": 1,
            "high": 1,
            "medium": 1,
            "low": 1,
            "undefined": 1
        },
        "data": [
            {
                "category": "CATEGORY"
                "description": "DESCRIPTION"
                "cve_id": "CVE_ID"
                "event_time": "EVENT_TIME"
                "related_references": "RELATED_REFERENCES"
                "severity": "SEVERITY"
            }
        ]
    },
    "misconfigurations": {
        "statistics": {
            "critical": 1,
            "high": 1,
            "medium": 1,
            "low": 1,
            "undefined": 1
        },
        "data": [
            {
                "category": "CATEGORY"
                "description": "DESCRIPTION"
                "recommendation": "RECOMMENDATION"
                "event_time": "EVENT_TIME"
                "severity": "SEVERITY"
            }
        ]
    },
}
Messages de sortie

L'action List Asset Vulnerabilities (Lister les failles des composants) peut renvoyer les messages de sortie suivants :

Message affiché Description du message

Successfully returned related vulnerabilities and misconfigurations to the following entities in Security Command Center: ASSET_IDS.

No vulnerabilities and misconfigurations were found to the following entities in Security Command Center: ASSET_IDS.

No vulnerabilities and misconfigurations were found for the provided assets in Security Command Center.

L'action a réussi.
Error executing action "List Asset Vulnerabilities". Reason: ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants.

Résultat du script

Le tableau suivant répertorie la valeur de la sortie du résultat du script lorsque vous utilisez l'action Lister les failles des composants :

Nom du résultat du script Valeur
is_success True ou False

Ping

Utilisez l'action Ping pour tester la connectivité à Security Command Center.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

Aucun

Sorties d'action

L'action Ping fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Non disponible
Messages de sortie Disponible
Résultat du script Disponible
Messages de sortie

L'action Ping peut renvoyer les messages de résultat suivants :

Message affiché Description du message
Successfully connected to the Security Command Center server with the provided connection parameters! L'action a réussi.
Failed to connect to the Security Command Center server! Error is ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants.

Résultat du script

Le tableau suivant répertorie la valeur du résultat du script lorsque vous utilisez l'action Ping :

Nom du résultat du script Valeur
is_success True ou False

Mettre à jour un résultat

Utilisez l'action Mettre à jour le résultat pour mettre à jour un résultat dans Security Command Center.

Cette action ne s'applique pas aux entités Google SecOps.

Entrées d'action

L'action Mettre à jour le résultat nécessite les paramètres suivants :

Paramètre Description
Finding Name

Obligatoire.

Rechercher les noms à modifier. Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule.

Voici un exemple de recherche de noms : organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID

Mute Status

Facultatif.

État d'ignorance du résultat.

Voici les valeurs possibles :

  • Select One
  • Mute
  • Unmute
State Status

Facultatif.

État du résultat.

Les valeurs possibles sont les suivantes :

  • Select One
  • Active
  • Inactive

Sorties d'action

L'action Mettre à jour le résultat fournit les sorties suivantes :

Type de sortie de l'action Disponibilité
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Non disponible
Messages de sortie Disponible
Résultat du script Disponible
Messages de sortie

L'action Mettre à jour le résultat peut renvoyer les messages de résultat suivants :

Message affiché Description du message

Successfully updated the following findings in Security Command Center: FINDING_NAMES

Action wasn't able to find the following findings in Security Command Center: FINDING_NAMES

None of the provided findings were found in Security Command Center.

L'action a réussi.
Error executing action "Update finding". Reason: ERROR_REASON

Échec de l'action.

Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants.

Résultat du script

Le tableau suivant répertorie la valeur de la sortie du résultat du script lorsque vous utilisez l'action Mettre à jour le résultat :

Nom du résultat du script Valeur
is_success True ou False

Connecteurs

Pour en savoir plus sur la configuration des connecteurs dans Google SecOps, consultez Ingérer vos données (connecteurs).

Connecteur de résultats Google Security Command Center

Utilisez le connecteur de résultats Google Security Command Center pour récupérer des informations sur les résultats de Security Command Center.

Le filtre de liste dynamique fonctionne avec les catégories.

Entrées du connecteur

Le connecteur Google Security Command Center – Résultats nécessite les paramètres suivants :

Paramètre Description
Product Field Name

Obligatoire.

Nom du champ dans lequel le nom du produit est stocké.

Le nom du produit a principalement un impact sur le mappage. Pour simplifier et améliorer le processus de mappage du connecteur, la valeur par défaut est résolue en une valeur de remplacement référencée dans le code. Toute entrée non valide pour ce paramètre est résolue en une valeur de remplacement par défaut.

La valeur par défaut est Product Name.

Event Field Name

Obligatoire.

Nom du champ qui détermine le nom (sous-type) de l'événement.

La valeur par défaut est category.

Environment Field Name

Facultatif.

Nom du champ dans lequel le nom de l'environnement est stocké.

Si le champ "environment" (environnement) est manquant, le connecteur utilise la valeur par défaut.

Environment Regex Pattern

Facultatif.

Modèle d'expression régulière à exécuter sur la valeur trouvée dans le champ Environment Field Name. Ce paramètre vous permet de manipuler le champ "environment" à l'aide de la logique d'expression régulière.

Utilisez la valeur par défaut .* pour récupérer la valeur Environment Field Name brute requise.

Si le modèle d'expression régulière est nul ou vide, ou si la valeur d'environnement est nulle, le résultat final de l'environnement est l'environnement par défaut.

Script Timeout (Seconds)

Obligatoire.

Délai limite, en secondes, pour le processus Python qui exécute le script actuel.

La valeur par défaut est 180.

API Root

Obligatoire.

Racine de l'API de l'instance Security Command Center.

La valeur par défaut est https://securitycenter.googleapis.com.

Organization ID

Facultatif.

ID d'une organisation à utiliser dans l'intégration Security Command Center.

Project ID

Facultatif.

ID de projet de l'instance Security Command Center.

Quota Project ID

Facultatif.

ID de projet Google Cloud que vous utilisez pour les API Google Cloud et la facturation. Ce paramètre nécessite que vous accordiez le rôle Service Usage Consumer à votre compte de service.

Si vous ne définissez pas de valeur pour ce paramètre, l'intégration récupère l'ID du projet à partir de votre compte de service Google Cloud .

User's Service Account

Obligatoire.

Contenu du fichier JSON de clé de compte de service.

Vous pouvez configurer ce paramètre ou le paramètre Workload Identity Email.

Pour configurer ce paramètre, indiquez le contenu complet du fichier JSON de la clé de compte de service que vous avez téléchargé lorsque vous avez créé un compte de service.

Workload Identity Email

Facultatif.

Adresse e-mail du client de votre compte de service.

Vous pouvez configurer ce paramètre ou le paramètre User's Service Account.

Si vous définissez ce paramètre, configurez le paramètre Quota Project ID.

Pour emprunter l'identité de comptes de service avec la fédération d'identité de charge de travail, accordez le rôle Service Account Token Creator à votre compte de service. Pour en savoir plus sur les identités de charge de travail et leur utilisation, consultez Identités pour les charges de travail.

Finding Class Filter

Facultatif.

Classes de résultats à ingérer pour le connecteur.

Les valeurs possibles sont les suivantes :

  • Threat
  • Vulnerability
  • Misconfiguration
  • SCC_Error
  • Observation

Si vous ne définissez pas de valeur, le connecteur ingère les résultats de toutes les classes.

La valeur par défaut est Threat,Vulnerability,Misconfiguration,SCC_Error,Observation.

Lowest Severity To Fetch

Facultatif.

Gravité la plus faible des alertes à récupérer.

Si vous ne configurez pas ce paramètre, le connecteur ingère les alertes de tous les niveaux de gravité.

Le connecteur traite les alertes dont la gravité n'est pas définie comme celles dont la gravité est Medium.

Les valeurs possibles sont les suivantes :

  • Low
  • Medium
  • High
  • Critical

La valeur par défaut est High.

Max Hours Backwards

Facultatif.

Nombre d'heures avant maintenant pour récupérer les résultats.

Ce paramètre peut s'appliquer à l'itération initiale du connecteur après l'avoir activé pour la première fois, ou à la valeur de remplacement pour un code temporel de connecteur expiré.

La valeur maximale est de 24.

La valeur par défaut est 1.

Max Findings To Fetch

Facultatif.

Nombre de résultats à traiter à chaque itération du connecteur.

La valeur maximale est de 1000.

La valeur par défaut est 100.

Use dynamic list as a blacklist

Obligatoire.

Si cette option est sélectionnée, le connecteur utilise la liste dynamique comme liste de blocage.

(non sélectionnée par défaut).

Verify SSL

Obligatoire.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Security Command Center.

(non sélectionnée par défaut).

Proxy Server Address

Facultatif.

Adresse du serveur proxy à utiliser.

Proxy Username

Facultatif.

Nom d'utilisateur du proxy pour l'authentification.

Proxy Password

Facultatif.

Mot de passe du proxy pour l'authentification.

Règles du connecteur

Le connecteur de résultats Google Security Command Center est compatible avec les proxys.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.