Exporter des résultats vers BigQuery de manière groupée

Ce document explique comment lancer des exportations groupées à la demande des résultats de Security Command Center vers BigQuery.

BigQuery est Google Cloudl'entrepôt de données d'analyse de Google Cloud, entièrement géré à l'échelle du pétaoctet et à faible coût, qui vous permet d'exécuter des analyses sur de grandes quantités de données en quasi-temps réel. Pour en savoir plus sur BigQuery, consultez la documentation BigQuery.

Présentation

Cette fonctionnalité fournit un instantané des résultats jusqu'à un certain point dans le temps. Elle complète l'exportation continue BigQuery pour fournir des analyses et des rapports complets.

Les exportations groupées vous permettent d'effectuer les opérations suivantes :

Structure de l'ensemble de données

Les résultats sont exportés vers BigQuery sous forme de lignes dans la findings table, qui est regroupée par source_id, finding_id, et event_time.

Chaque ensemble de données contient une table findings, qui contient les champs suivants :

Champ Description
source_id

Identifiant unique que Security Command Center attribue à la source d'un résultat. Par exemple, tous les résultats de la source Détection d'anomalies Cloud ont la même source_id valeur.

Exemple : 1234567890

finding_id Identifiant unique qui représente le résultat. Il est unique au sein d'une source pour une organisation. Il est alphanumérique et comporte 32 caractères ou moins.
event_time

Heure à laquelle l'événement s'est produit ou heure de la mise à jour du résultat. Par exemple, si le résultat représente un pare-feu ouvert, alors event_time capture l'heure à laquelle le détecteur estime que le pare-feu a été ouvert. Si le résultat est résolu par la suite, cette valeur indique l'heure de résolution du résultat.

Exemple : 2019-09-26 12:48:00.985000 UTC

bulk_export_id

Pour les exportations groupées, il s'agit d'un UUID.

Pour les exportations continues, ce champ est vide.

finding

Enregistrement d'informations d'évaluation, telles que la sécurité, les risques, l'état ou la confidentialité, qui sont ingérées dans Security Command Center pour la présentation, la notification, l'analyse, les tests de règles et l'application. Par exemple, une faille de script intersites (XSS) dans une application App Engine application est un résultat.

Pour en savoir plus sur les champs imbriqués, consultez la documentation de référence de l'API pour l' Finding objet.

resource

Informations concernant la Google Cloud resource associée à ce résultat.

Pour en savoir plus sur les champs imbriqués, consultez la documentation de référence de l'API pour l' Resource objet.

Coût

Des frais BigQuery liés à cette fonctionnalité vous seront facturés pour le stockage des données dans BigQuery. Pour en savoir plus, consultez les tarifs de stockage BigQuery.

Avant de commencer

Vous devez suivre cette procédure avant d'activer cette fonctionnalité.

Configurer les autorisations

Pour suivre ce guide, vous devez disposer des rôles Identity and Access Management (IAM) suivants :

Créer un ensemble de données BigQuery

Créez un ensemble de données BigQuery en suivant les étapes décrites dans Créer des ensembles de données.

Activer l'API Security Command Center

Pour exporter les résultats, vous devez activer l'API Security Command Center en procédant comme suit :

  1. Accédez à la page Bibliothèque d'API de la Google Cloud console.

    Accéder à la bibliothèque d'API

  2. Sélectionnez le projet pour lequel vous souhaitez activer l'API Security Command Center.

  3. Dans le champ Rechercher, saisissez Security Command Center, puis cliquez sur Security Command Center dans les résultats de recherche.

  4. Dans la page de l'API qui s'affiche, cliquez sur Activer.

L'API Security Command Center est désormais activée pour votre projet.

Accorder l'accès à un périmètre dans VPC Service Controls

Si vous utilisez VPC Service Controls, consultez Accorder l'accès à un périmètre dans VPC Service Controls et suivez ces étapes, si nécessaire.

Cette étape doit être répétée pour chaque utilisateur qui crée une exportation groupée pour un périmètre de service donné.

Créer une règle d'entrée pour la nouvelle exportation groupée BigQuery

Si vous utilisez VPC Service Controls, consultez Créer une règle d'entrée pour la nouvelle exportation vers BigQuery et suivez ces étapes, si nécessaire.

Limites des exportations groupées BigQuery

Tenez compte des contraintes suivantes lorsque vous créez des exportations groupées BigQuery :

  • Seules trois exportations groupées simultanées sont autorisées à tout moment pour une seule organisation.
  • Si vous demandez plusieurs exportations groupées non simultanées vers le même ensemble de données BigQuery, les résultats les plus récents de l'exportation sont ajoutés à la table findings BigQuery. Les résultats ne sont pas écrasés.

Créer une exportation groupée BigQuery

Une exportation groupée des résultats peut être effectuée pour une organisation, un projet ou un dossier.

Pour lancer une exportation groupée des résultats vers une instance BigQuery, utilisez gcloud CLI et procédez comme suit :

  1. Accédez à la Google Cloud console.

    Accéder à la Google Cloud console

  2. Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.

  3. Cliquez sur Activer Cloud Shell.

  4. Pour créer une configuration d'exportation, exécutez la commande suivante :

    gcloud scc findings export-to-bigquery PARENT \
        --dataset=DATASET_NAME \
        [--location=LOCATION; default="global"] \
    

    Remplacez les éléments suivants :

    • PARENT: nom relatif du champ d'application de l'exportation (organisation, projet ou dossier). Exemples de formats : organizations/ORGANIZATION_ID, projects/PROJECT_ID, folders/FOLDER_ID
    • DATASET_NAME: nom de l'ensemble de données BigQuery. Exemple de format : projects/PROJECT_ID/datasets/DATASET_ID
    • LOCATION: emplacement Security Command Center dans lequel créer une configuration d'exportation. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global. Cette variable est facultative.

      Par exemple, pour créer une exportation groupée de tous les résultats, exécutez la commande suivante :

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
      

      En termes de résidence des données, l'exemple précédent appelle le point de terminaison global.

      Pour créer la même exportation groupée pour le point de terminaison eu, exécutez la commande suivante :

      gcloud scc findings export-to-bigquery organizations/123
        --dataset=projects/123/datasets/DATASET
        --location=locations/eu
      

Cette commande renvoie un objet d'opération de longue durée contenant une chaîne name requise lors du suivi de l'état de l'exportation. Pour suivre l'état de cette exportation groupée BigQuery, consultez Afficher l'état d'une exportation groupée.

Pour examiner vos résultats, consultez la section Examiner les résultats.

Requêtes

Pour obtenir diverses requêtes que vous pouvez utiliser pour analyser les données de résultats, consultez Requêtes utiles.

Afficher l'état d'une exportation groupée

Pour afficher l'état d'une exportation groupée, vous avez besoin de la long running operation name chaîne qui vous a été renvoyée lorsque vous avez créé l'exportation groupée.

  1. Accédez à la Google Cloud console.

    Accéder à la Google Cloud console

  2. Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.

  3. Cliquez sur Activer Cloud Shell.

  4. Pour vérifier les détails de la configuration d'exportation groupée, exécutez la commande suivante :

    gcloud scc operations describe LONG_RUNNING_OPERATION_NAME \
        --organization=ORGANIZATION_ID
    

    Remplacez les éléments suivants :

    • LONG_RUNNING_OPERATION_NAME: chaîne name renvoyée lorsque vous avez créé l'exportation groupée.
    • ORGANIZATION_ID

      Par exemple, pour afficher l'état d'une requête d'exportation groupée renvoyée name: "long-running-operation-name" à partir d'une organisation dont l' ID d'organisation est défini sur 123, exécutez la commande suivante :

      gcloud scc operations describe long-running-operation-name \
        --organization=123
      
  • Si une exportation a réussi, la réponse contient done: true.
  • Si une exportation a échoué, la réponse contient un code d'erreur.
  • Si une exportation est toujours en cours, la réponse ne contient ni done: true ni code d'erreur.

Exportations groupées BigQuery et exportations continues

Si vous souhaitez utiliser des exportations groupées et continues BigQuery sur le même ensemble de données BigQuery, deux approches sont possibles :

  • Créez d'abord une exportation continue, puis remplissez-la avec une exportation groupée.

    1. Configurez une exportation continue vers un ensemble de données BigQuery. Une fois l'exportation créée, vous commencez à recevoir les résultats de Security Command Center en temps réel.

    2. Créez une exportation groupée à l'aide du même ensemble de données BigQuery de destination. Un instantané de tous les résultats de Security Command Center au moment de l'exportation est exporté vers l'ensemble de données sélectionné.

    L'exécution d'une exportation groupée prend du temps. Ainsi, si l'exportation continue est créée à T1, l'exportation groupée est déclenchée à T2 et l'instantané des résultats pour l'exportation groupée se termine à T3, des enregistrements en double peuvent être observés entre T1 et T3. Toutefois, il n'y a pas de lacunes dans les résultats.

  • Créez d'abord une exportation groupée, puis créez une exportation continue.

    1. Créez une exportation groupée. Un instantané de tous les résultats de Security Command Center au moment de l'exécution de l'exportation est exporté vers l'ensemble de données BigQuery sélectionné.

    2. Configurez une exportation continue vers le même ensemble de données BigQuery de destination. Une fois l'exportation créée, vous commencez à recevoir les résultats de Security Command Center en temps réel.

    Si l'exportation groupée est créée à T1, l'instantané des résultats pour l'exportation groupée se termine à T2 et l'exportation continue est déclenchée à T3, les résultats entre T2 et T3 peuvent être manquants dans l'ensemble de données BigQuery.

Étape suivante