Diffuser des données avec l'exportation BigQuery avancée

Compatible avec :

Ce document explique comment accéder à vos données Google SecOps et les utiliser dans BigQuery avec la fonctionnalité Advanced BigQuery Export. En tant que client Enterprise Plus, vous pouvez utiliser cette fonctionnalité pour accéder à vos données de sécurité en temps quasi réel grâce à un pipeline de données de streaming entièrement géré. Cette fonctionnalité peut aider à résoudre le problème critique de latence des données dans les opérations de sécurité et à détecter les menaces et à y répondre de manière plus rapide et efficace.

Avant de commencer

Examinez les points suivants qui définissent les critères d'éligibilité et les actions nécessaires :

  • Clients Enterprise Plus uniquement : cette fonctionnalité est disponible uniquement pour les clients Google SecOps Enterprise Plus. Pour tous les autres clients, consultez Exporter vers un projet BigQuery autogéré.
  • Activation de la fonctionnalité requise : cette fonctionnalité est activée sur demande et peut nécessiter une configuration initiale dans l'instance Google SecOps de votre organisation. Si nécessaire, contactez votre représentant Google SecOps pour confirmer l'activation de la fonctionnalité.
  • Migration des données : lorsque vous activez cette fonctionnalité, vos données commencent à être exportées vers un nouveau projet locataire BigQuery pour votre instance Google SecOps, en plus de vos exportations existantes vers votre projet BigQuery géré par Google, comme décrit dans Exporter vers un projet BigQuery géré par Google. Cette double opération vous permet de passer à la nouvelle fonctionnalité sans interruption. Vous serez averti avant la désactivation de l'ancien pipeline d'exportation pour votre compte.
  • VPC Service Controls : l'exportation BigQuery avancée peut fonctionner dans un périmètre VPC Service Controls. Pour en savoir plus, consultez Configurer VPC Service Controls.
  • Clés de chiffrement gérées par le client (CMEK) : l'exportation BigQuery avancée est disponible pour les clients qui ont activé les CMEK sur leur instance Google SecOps. Pour en savoir plus, consultez CMEK pour Google SecOps. Si vous utilisez CMEK avec VPC Service Controls, consultez Configurer VPC Service Controls pour Google SecOps pour obtenir des recommandations et des instructions.

Présentation des fonctionnalités

L'exportation BigQuery avancée provisionne et gère automatiquement les ensembles de données Google SecOps essentiels, y compris les événements UDM (Unified Data Model), les détections de règles, les graphiques d'entités et les correspondances d'indicateurs de compromission (IoC, Indicator of Compromise), dans un projet BigQuery sécurisé et géré par Google. Vous bénéficiez d'un accès sécurisé en lecture seule à ces données grâce à un ensemble de données BigQuery associé, qui s'affiche directement dans votre propre projet Google Cloud . Cette fonctionnalité vous permet d'interroger vos données de sécurité comme si elles étaient stockées localement, mais sans les frais généraux liés à la gestion du pipeline de données ou du stockage.

Google SecOps exporte les catégories de données de sécurité suivantes vers BigQuery :

  • Enregistrements d'événements UDM : enregistrements UDM créés à partir des données de journaux ingérées par les clients. Ces enregistrements sont enrichis avec des informations sur les alias.
  • Correspondances de règles (détections) : instances où une règle correspond à un ou plusieurs événements.
  • Correspondances d'IoC : artefacts (par exemple, domaines ou adresses IP) provenant d'événements correspondant à des flux d'IoC. Cela inclut les correspondances avec et depuis les flux mondiaux et les flux spécifiques aux clients.
  • Métriques d'ingestion : statistiques telles que le nombre de lignes de journaux ingérées, le nombre d'événements produits à partir des journaux et le nombre d'erreurs de journaux indiquant que les journaux n'ont pas pu être analysés.
  • Graphique d'entités et relations entre entités : description des entités et de leurs relations avec d'autres entités.

Principaux avantages

Voici les principaux avantages de l'exportation BigQuery avancée :

  • Fraîcheur des données quasiment en temps réel : une architecture de streaming permet de rendre vos données de sécurité disponibles pour les requêtes quelques minutes après leur ingestion. Les événements UDM, les détections de règles et les correspondances d'IoC sont disponibles avec une latence prévue de 5 à 10 minutes.
  • Modèle de coûts simplifié et prévisible : Google SecOps couvre tous les coûts d'ingestion et de stockage des données dans le projet BigQuery géré. Votre organisation n'est responsable que des coûts d'analyse BigQuery encourus lorsque vous exécutez des requêtes.
  • Accès aux données sans maintenance : l'infrastructure sous-jacente est entièrement gérée par Google, ce qui permet à votre équipe de se concentrer sur l'analyse des données plutôt que sur l'ingénierie des données.
  • Intégrité et déduplication des données : les données de sécurité sont fréquemment mises à jour ou réenrichies après l'ingestion initiale. Cette fonctionnalité utilise des fusions LMD (langage de manipulation de données) précises pour mettre à jour les enregistrements sur place. Vous recevez des données propres et dédupliquées sans avoir à écrire des routines de déduplication SQL complexes.
  • Prise en charge fluide des MSSP (hub and spoke) : les fournisseurs de services de sécurité gérés (MSSP, Managed Security Service Providers) peuvent gérer efficacement les analyses dans plusieurs locataires clients en s'abonnant de manière programmatique aux ensembles de données associés de leurs clients à partir d'un seul projet hub centralisé.
  • Conformité intégrée : cette fonctionnalité est compatible en mode natif avec VPC Service Controls, les clés de chiffrement gérées par le client (CMEK) et la résidence des données (DRZ). Les journaux d'audit destinés aux clients (Access Transparency) sont envoyés directement à votre espace de travail Cloud Logging à l'aide du service FRIS (Federated Resource Identification Service).

Cas d'utilisation courants

L'exportation BigQuery avancée est conçue pour les analystes de sécurité, les chasseurs de menaces, les data scientists et les ingénieurs en sécurité qui ont besoin d'un accès direct et performant aux données de sécurité récentes pour les investigations ad hoc, les analyses personnalisées et l'intégration aux outils de informatique décisionnelle.

Voici quelques cas d'utilisation courants d'Advanced BigQuery Export :

  • Exécutez des requêtes ad hoc directement dans BigQuery.
  • Utilisez vos propres outils d'informatique décisionnelle, tels que Microsoft Power BI, pour créer des tableaux de bord, des rapports et des analyses.
  • Associez les données Google SecOps à des ensembles de données tiers.

Architecture

L'architecture de l'exportation BigQuery avancée utilise un pipeline de flux de données continu. Les données de votre instance Google SecOps sont transférées vers un projet locataire sécurisé géré par Google à l'aide de l'API BigQuery Storage Write à haut débit.

Google SecOps utilise le partage BigQuery pour créer une fiche de données sécurisée et vous y donner accès. Dans le volet Explorateur de BigQuery, votre projet Google Cloud est automatiquement abonné à cette fiche, qui s'affiche sous la forme d'un ensemble de données associé secops_linked_datalake.

Ce modèle offre une forte isolation des données tout en vous donnant un accès en lecture seule aux requêtes.

Terminologie clé

Voici quelques termes et concepts clés concernant l'exportation avancée BigQuery :

  • Projet locataire : projet Google Cloud appartenant à Google SecOps et géré par cette équipe. Il s'agit du projet dans lequel vos données de sécurité exportées sont physiquement stockées et gérées. Vous n'avez pas d'accès direct à ce projet.
  • BYOP (Bring Your Own Project) : projet Google Cloud appartenant à votre organisation et associé à votre instance Google SecOps. Il s'agit du projet dans lequel l'ensemble de données associé apparaît, et dans lequel vous exécutez vos requêtes et générez des coûts d'analyse.
  • ID du projet : identifiant unique global de votre projet Google Cloud associé à votre instance Google SecOps.
  • Ensemble de données associé : ensemble de données BigQuery en lecture seule qui sert de lien symbolique ou de pointeur vers un ensemble de données partagé dans un autre projet. Il vous permet d'interroger des données sans les copier, ce qui vous offre un accès sécurisé tandis que le fournisseur de données gère le stockage physique.
  • LMD précis : processus de backend automatisé utilisé par l'exportation BigQuery avancée pour effectuer des upserts (mises à jour et insertions). Si un événement arrive en retard ou est réenrichi, le système met à jour la ligne existante sur place, en fonction de son identifiant unique (par exemple, metadata.id), au lieu de créer un doublon.
  • Modèle de données unifié (UDM, Unified Data Model) : schéma standard et extensible de Google permettant d'analyser et de normaliser les données de télémétrie de sécurité de centaines de produits de fournisseurs dans un format cohérent.
  • Fournisseurs de services de sécurité gérés (MSSP) : Google Cloud les MSSP certifiés proposent une suite complète d'outils et d'expertise pour renforcer vos défenses contre les menaces de cybersécurité en constante évolution.

Configurer votre système

Pour utiliser BigQuery Export avancé, vous devez d'abord configurer votre système. Selon votre environnement et vos besoins, suivez les instructions de l'une des sections suivantes.

Configuration par défaut

Pour configurer votre système afin d'utiliser l'exportation BigQuery avancée et commencer à interroger vos données, procédez comme suit :

  1. Confirmez votre licence : assurez-vous que votre organisation dispose d'une licence Google SecOps Enterprise Plus.
  2. Identifiez votre projet : connectez-vous à la console Google Cloud et sélectionnez le projet Google Cloud associé à votre instance Google SecOps.
  3. Localisez l'ensemble de données associé : dans la console BigQuery, utilisez le volet Explorateur pour accéder aux ressources de votre projet. Vous voyez un ensemble de données associé nommé secops_linked_datalake. Cet ensemble de données est un pointeur en lecture seule vers les données de sécurité en direct gérées par Google SecOps.
  4. Vérifiez les autorisations IAM (Identity and Access Management) : pour interroger les données, votre compte utilisateur ou compte de service doit disposer des rôles IAM suivants accordés sur votre projet :

    • roles/bigquery.dataViewer : obligatoire pour que les utilisateurs finaux ou les outils de BI de votre organisation puissent exécuter des requêtes SQL sur les vues d'ensembles de données associés.
    • roles/bigquery.jobUser : obligatoire pour que les utilisateurs finaux ou les outils de BI de votre organisation puissent exécuter des requêtes SQL sur les vues d'ensembles de données associés.
    • Chronicle API Admin : obligatoire dans Google SecOps pour exécuter les API du plan de données (par exemple, ProvisionPartnerSubscription) afin de gérer les abonnements MSSP.

    Ces rôles permettent aux utilisateurs (tels que les analystes de sécurité et les consommateurs de données) d'interroger les données de l'ensemble de données associé et d'exécuter des jobs BigQuery dans leur projet.

  5. Exécutez une requête de test : ouvrez l'espace de travail BigQuery SQL et exécutez une requête de base pour vérifier que votre accès est correctement configuré. Vous pouvez utiliser l'extrait de code suivant :

    SELECT *
    FROM `PROJECT_ID.secops_linked_datalake.events`
    LIMIT 10;
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud .

Configurer l'exportation BigQuery avancée dans un périmètre VPC Service Controls

Pour configurer BigQuery Export avancé dans votre périmètre VPC Service Controls, vous devez configurer une règle d'entrée spécifique. Cette règle permet aux comptes de service Google SecOps nécessaires d'interagir avec BigQuery et les services associés sur les projets protégés par le périmètre. Pour obtenir des instructions détaillées et en savoir plus, consultez Configurer VPC Service Controls pour Google Security Operations.

  • Pour configurer l'exportation BigQuery avancée dans votre périmètre VPC Service Controls, configurez la règle d'entrée suivante :

    - ingressFrom:
        identities:
        - serviceAccount:malachite-advanced-bq-exporter@system.gserviceaccount.com
        - serviceAccount:malachite-data-export-service@system.gserviceaccount.com
        sources:
        - accessLevel: "*"
      ingressTo:
        operations:
        - serviceName: analyticshub.googleapis.com
          methodSelectors:
          - method: "*"
        - serviceName: bigquery.googleapis.com
          methodSelectors:
          - method: "*"
        resources:
        - projects/PROJECT_NUMBER
    

    Remplacez PROJECT_NUMBER par le numéro de votre projet Google Cloud associé à Google SecOps.

Pour les MSSP : configurez un accès centralisé aux données BigQuery de vos sous-locataires

Si vous êtes un MSSP, vous pouvez utiliser les API du plan de données Google SecOps pour créer de manière programmatique des ensembles de données associés BigQuery dans votre projet hub central. Ces ensembles de données associés pointent vers les données BigQuery de vos clients (spokes), ce qui vous permet d'interroger plusieurs locataires à partir d'une vue centralisée. Pour ce faire, votre client doit accorder l'accès à votre instance MSSP.

Voici les principaux avantages :

  • Visibilité centralisée : analysez les données de sécurité de tous vos clients au même endroit.
  • Workflows efficaces : simplifiez la recherche et le signalement des menaces pour l'ensemble de votre clientèle.
  • Gestion programmatique : automatisez la configuration et la suppression de l'accès aux données.

Prérequis

  • MSSP

    • Un projet Google Cloud qui servira de "hub" central.
    • Une instance Google SecOps.
    • Les autorisations IAM appropriées pour gérer les ensembles de données BigQuery dans votre projet hub.
  • Client (sous-locataire)

    • Une licence Google SecOps Enterprise Plus.
    • Un projet Google Cloud (BYOP) associé à votre instance Google SecOps.
    • Autorisations IAM appropriées pour gérer l'accès à l'API Google SecOps.
    • La CLI gcloud est installée et authentifiée.

Étape 1 : Le client accorde l'accès au MSSP

Le client peut appeler l'API ProvisionPartnerSubscription pour accorder des autorisations à l'instance Google SecOps de son MSSP. Google SecOps provisionne automatiquement un ensemble de données associé à BigQuery, nommé au format secops_linked_datalake_<customer_id> dans le projet Google Cloud du MSSP associé à l'instance Google SecOps du MSSP. Cet ensemble de données est associé aux données Google SecOps du client.

Point de terminaison de l'API :
POST
https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription
Méthode

POST

Corps de la requête

Objet JSON vide.

{}

Exemple de commande CURL (à exécuter par le client) :

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:provisionPartnerSubscription"

Remplacez les espaces réservés suivants :

  • CUSTOMER_PROJECT : ID ou numéro du projet du client Google Cloud . Consultez Créer et gérer des projets.
  • REGION : région Google Cloud dans laquelle réside l'instance Google SecOps du client (par exemple, "us" ou "europe-west2"). Consultez la liste des régions.
  • CUSTOMER_INSTANCE_ID : ID de l'instance Google SecOps du client.
Corps de la réponse

Renvoie ProvisionPartnerSubscriptionResponse contenant les détails de l'abonnement.

{
  "subscriptionDetails": {
    "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
    "linkedDataset": "string"
  }
}
  • SUBSCRIBER_PROJECT_ID : ID du projet MSSP de l'abonné. Google Cloud
  • SUBSCRIBER_REGION : région où se trouve le projet Google Cloud de l'abonné.
  • SUBSCRIPTION_ID : identifiant unique de l'abonnement existant.

Étape 2 : Le MSSP interroge les données de plusieurs locataires

Une fois les ensembles de données associés de plusieurs clients provisionnés dans votre projet Google Cloud (MSSP), vous pouvez utiliser des requêtes SQL BigQuery standards pour analyser les données. Pour interroger plusieurs clients, utilisez l'opérateur UNION ALL.

Exemple de requête (à exécuter par le MSSP dans son projet hub) :

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_1.events`
WHERE <your_conditions>

UNION ALL

SELECT event_type, timestamp
FROM `PARTNER_PROJECT_ID.secops_linked_datalake_CUSTOMER_ID_2.events`
WHERE <your_conditions>

-- Add more UNION ALL clauses for other customers

Étape 3 : Le client vérifie l'accès

Le client peut appeler l'API fetchSubscriptions pour afficher tous les abonnements actifs et les instances MSSP qui accèdent à ses données.

point de terminaison de l'API
GET https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions
Méthode

GET

Exemple de commande CURL (à exécuter par le client) :

curl -X GET \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:fetchSubscriptions"

Remplacez les espaces réservés suivants :

  • CUSTOMER_PROJECT : ID ou numéro du projet du client Google Cloud . Consultez Créer et gérer des projets.
  • REGION : région Google Cloud dans laquelle réside l'instance Google SecOps du client (par exemple, "us" ou "europe-west2"). Consultez la liste des régions.
  • CUSTOMER_INSTANCE_ID : ID de l'instance Google SecOps du client.
Corps de la réponse

Renvoie FetchSubscriptionsResponse avec une liste des abonnements actifs.

{
  "subscriptions": [
    {
      "subscription": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID",
      "linkedDataset": "string"
    }
  ]
}
  • SUBSCRIBER_PROJECT_ID : ID du projet Google Cloud de l'abonné. L'abonné peut faire référence au client ou à un MSSP.
  • SUBSCRIBER_REGION : région où se trouve le projet Google Cloud de l'abonné.
  • SUBSCRIPTION_ID : identifiant unique de l'abonnement existant.

Étape 4 : Le client révoque l'accès (si nécessaire)

Si un client doit révoquer l'accès d'un MSSP, il peut utiliser l'API revokePartnerSubscription. Cette action révoque immédiatement l'autorisation d'interroger l'ensemble de données associé à l'aide du projet hub du MSSP. L'ID de l'abonnement révoqué devient inactif.

point de terminaison de l'API
POST https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription
Méthode

POST

Corps de la requête

Nécessite l'URI de l'abonnement à révoquer, qui a été obtenu à partir de l'appel d'API fetchSubscriptions.

{
  "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
}

Exemple de commande CURL (à exécuter par le client) :

# Set subscription details obtained from Fetch Subscriptions
export SUBSCRIBER_PROJECT_ID="partner-byop-project-id"
export SUBSCRIBER_REGION="subscription-location"
export SUBSCRIPTION_ID="subscription-id"

curl -X POST \
  -H "Authorization: Bearer ${OAUTH_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "subscriptionUri": "projects/SUBSCRIBER_PROJECT_ID/locations/SUBSCRIBER_REGION/subscriptions/SUBSCRIPTION_ID"
  }' \
  "https://chronicle.googleapis.com/v1alpha/projects/CUSTOMER_PROJECT/locations/REGION/instances/CUSTOMER_INSTANCE_ID/bigQueryExport:revokePartnerSubscription"

Remplacez les espaces réservés suivants :

  • SUBSCRIBER_PROJECT_ID : ID du projet Google Cloud de l'abonné.
  • SUBSCRIBER_REGION : région où se trouve le projet Google Cloud de l'abonné.
  • SUBSCRIPTION_ID : identifiant unique de l'abonnement existant.
  • CUSTOMER_PROJECT : ID ou numéro du projet du client Google Cloud .
  • REGION : région Google Cloud dans laquelle réside l'instance Google SecOps du client.
  • CUSTOMER_INSTANCE_ID : ID de l'instance Google SecOps du client.
Corps de la réponse

Objet JSON vide.

{}

Interroger vos données BigQuery

Vous pouvez exécuter des requêtes directement dans BigQuery ou connecter votre propre outil d'informatique décisionnelle, tel que Microsoft Power BI, à BigQuery.

Pour en savoir plus sur les requêtes, consultez les pages suivantes :

Période de conservation des données dans votre projet locataire BigQuery

La période de conservation de vos données dans BigQuery est identique à celle configurée pour votre locataire Google SecOps. Il n'existe pas de paramètre configurable distinct pour personnaliser votre règle de conservation des données dans BigQuery. Les données sont automatiquement supprimées des tables BigQuery lorsqu'elles dépassent la période de conservation de votre locataire.

Ensembles de données associés

Les ensembles de données associés contiennent des tableaux correspondant à différents types de données de sécurité.

Le tableau suivant récapitule les ensembles de données disponibles, leur fraîcheur cible et les identifiants uniques utilisés pour garantir l'intégrité des données :

Nom de l'ensemble de données Description Meilleure fraîcheur attendue Identifiants uniques pour la déduplication
events Événements de sécurité normalisés dans le schéma UDM. Pour en savoir plus sur le schéma, consultez Schéma des événements Google SecOps. < 5 minutes id (représentation sous forme de chaîne)
rule_detections Détections générées par les règles du moteur de détection Google SecOps. < 5 minutes detection.id
ioc_matches Correspondances d'indicateurs de compromission (IoC) trouvées par rapport aux événements UDM. < 5 minutes Clé composite de day_bucket_seconds, feed_log_type, ioc_type, ioc_value
entity_graph Données contextuelles sur les entités (utilisateurs, composants) et leurs relations. ~4 heures (par lot) Clé composite de partition_day, metadata.product_entity_id, metadata.event_metadata.id
ingestion_metrics Statistiques sur le volume d'ingestion des journaux et les sources de données. ~5 minutes Aucun (série temporelle en mode Ajout uniquement)
entity_enum_value_to_name_mapping Mappe les valeurs numériques sur les valeurs de chaîne pour les types énumérés du graphique d'entités. N/A Aucun
udm_enum_value_to_name_mapping Mappe les valeurs numériques aux valeurs de chaîne pour les types énumérés d'événements UDM. N/A Aucun

Exemples de requêtes

Les exemples suivants montrent comment interroger les ensembles de données pour des cas d'utilisation courants liés à la sécurité.

Exemple : Trouver toutes les connexions réseau à partir d'une adresse IP spécifique au cours des dernières 24 heures

Cette requête recherche dans la table des événements l'activité réseau récente provenant d'une adresse IP suspecte.

SELECT
  metadata.product_event_type,
  principal.ip,
  target.ip,
  network.application_protocol
FROM
  `PROJECT_ID.secops_linked_datalake.events`
WHERE
  principal.ip = '192.0.2.1'
  AND metadata.event_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR);
  • Remplacez PROJECT_ID par l'ID de votre projet Google Cloud .

Exemple : Compter les 10 détections de règles les plus fréquentes

Cette requête sur la table rule_detections permet d'identifier les menaces ou les cas de non-respect des règles les plus courants détectés dans votre environnement.

SELECT
  rule_name,
  COUNT(*) AS detection_count
FROM
  `PROJECT_ID.secops_linked_datalake.rule_detections`
WHERE
  detection.id IS NOT NULL
GROUP BY
  1
ORDER BY
  2 DESC
LIMIT
  10;
  • Remplacez PROJECT_ID par l'ID de votre projet Google Cloud .

Bonnes pratiques

Voici quelques bonnes pratiques pour exécuter des requêtes avec l'exportation BigQuery avancée :

  • Optimisez les coûts des requêtes : même si le stockage est sans frais, les coûts de calcul sont facturés à votre projet. Pour les optimiser, procédez comme suit :

    • Évitez d'utiliser SELECT *. Dans votre requête, spécifiez uniquement les colonnes dont vous avez besoin pour réduire la quantité de données analysées et les coûts associés.
    • Assurez-vous que vos requêtes tirent parti du partitionnement BigQuery (à l'aide de la colonne de partitionnement "hour_time_bucket") et du clustering ("hour_time_bucket", "log_type", "event_type", "id") pour analyser moins de données et réduire considérablement les coûts de vos requêtes.
  • Utilisez des filtres de partition : la table des événements est partitionnée par la colonne hour_time_bucket. Incluez toujours un filtre de clause WHERE sur cette colonne pour limiter les requêtes à la plus petite période possible, ce qui améliore considérablement les performances et réduit les coûts.

  • Écrivez des requêtes efficaces : le schéma UDM est large et clairsemé. Pour filtrer efficacement les types d'événements spécifiques, utilisez WHERE... IS NOT NULL sur les champs concernés. Par exemple, pour n'afficher que les requêtes DNS, filtrez WHERE network.dns.questions.name IS NOT NULL.

  • Valider les requêtes : utilisez le validateur de requêtes dans l'UI BigQuery avant d'exécuter une requête. L'outil de validation des requêtes fournit une estimation des données traitées, ce qui vous aide à éviter les requêtes trop volumineuses et coûteuses.

  • Utilisez des tables de mappage d'énumérations : l'exportation BigQuery avancée inclut les tables entity_enum_value_to_name_mapping et udm_enum_value_to_name_mapping. Utilisez-les pour joindre vos événements afin de traduire les valeurs d'énumération numériques en chaînes lisibles sans écrire de logique de traduction manuelle dans vos requêtes.

  • Intégration de la journalisation d'audit : l'exportation BigQuery avancée s'intègre au service d'identification des ressources fédérées (FRIS, Federated Resource Identification Service). Les journaux d'audit destinés aux clients, qui utilisent la fonctionnalité Google Access Transparency, sont fournis de manière native dans votre espace de travail Cloud Logging BYOP si le personnel Google accède au projet de locataire géré.

Limitations connues

Voici les limites connues de la fonctionnalité d'exportation BigQuery avancée :

  • Latence du graphique d'entités : l'ensemble de données entity_graph est exporté à l'aide d'un processus par lot et sa fraîcheur des données est d'environ quatre heures.
  • Limites de colonnes du schéma UDM : BigQuery impose une limite flexible de 10 000 colonnes par table. Le schéma UDM contient plus de 27 000 champs et est peu renseigné. Le pipeline d'exportation n'inclut de manière intelligente que les colonnes renseignées pour un événement donné, ce qui permet à la plupart des clients de rester bien en deçà de la limite. L'équipe Google SecOps surveille l'utilisation des colonnes et demande de manière proactive une augmentation de la limite pour le projet de votre locataire si elle approche de ce seuil.
  • La période de conservation n'est pas configurable : la période de conservation des données pour toutes les données de sécurité exportées vers BigQuery est automatiquement synchronisée avec la période de conservation des données de votre projet Google SecOps. Elle n'est pas configurable séparément.
  • Les données SOAR ne sont pas acceptées : les données de Google Security Operations SOAR (search_everything_db) ne sont pas acceptées dans Advanced BigQuery Export.
  • La fédération interrégionale n'est pas acceptée : les abonnements MSSP hub-and-spoke sont acceptés dans la même région. La fédération interrégionale (par exemple, des États-Unis vers l'Europe) n'est pas acceptée.
  • Des événements en double sont possibles (probabilité inférieure à 1 %) : bien que le système utilise des fusions LMD pour gérer automatiquement la déduplication, en raison de la nature du streaming distribué, il existe une faible probabilité (< 1%) que des événements en double apparaissent pendant les fenêtres d'ingestion de cas extrêmes avant la fin de la fusion en arrière-plan.
  • Les données historiques sont accessibles, mais nécessitent des méthodes spécifiques : l'exportation des données commence à partir du moment où l'exportation Advanced BigQuery Export est activée. Les données plus anciennes restent accessibles dans votre projet existant. Pour interroger les données exportées avant l'activation de l'exportation BigQuery avancée, vous devez utiliser une seule requête qui joint les données des deux projets ou exécuter deux requêtes distinctes sur les projets respectifs (une pour l'ancien ensemble de données et une pour le nouveau).

Dépannage et assistance

Le tableau suivant fournit des solutions aux problèmes courants que vous pouvez rencontrer :

Symptôme observé Cause possible Action recommandée
Les requêtes échouent avec Access Denied: User does not have permission. L'utilisateur ou le compte de service ne dispose pas des rôles IAM BigQuery nécessaires sur le projet Google Cloud associé à votre instance Google SecOps. Attribuez les rôles Lecteur de données BigQuery et Utilisateur de job BigQuery au principal. Vérifiez-le avec gcloud projects get-iam-policy YOUR_PROJECT_ID --flatten="bindings.members" --format='table(bindings.role)' --filter="bindings.members:user:your-user@example.com".
L'ensemble de données secops_linked_datalake n'est pas visible dans mon projet BigQuery. 1. Vous n'êtes pas dans le bon Google Cloud projet.
2. Votre organisation n'utilise pas le forfait Enterprise Plus.
3. Votre organisation utilise le forfait Enterprise Plus, mais l'exportation BigQuery avancée n'est pas activée dans votre instance Google SecOps.
1. Dans la console Google Cloud , vérifiez que vous avez sélectionné le projet associé à votre instance Google SecOps.
2. Contactez votre représentant Google pour confirmer votre niveau de licence Google SecOps.
3. Contactez votre représentant Google SecOps et demandez-lui d'activer l'exportation BigQuery avancée dans votre instance Google SecOps.
L'appel d'API échoue avec une erreur d'autorisation pour ProvisionPartnerSubscription ou FetchSubscriptions L'identité appelante ne dispose pas des autorisations requises. Assurez-vous que le compte de service ou l'utilisateur qui effectue l'appel dispose du rôle IAM Administrateur de l'API Chronicle, qui inclut des autorisations sur la ressource d'instance de hub.
Colonnes personnalisées manquantes ou schéma non correspondant Un tout nouveau type de journal ou un champ UDM profondément imbriqué a été ingéré. L'exportation BigQuery avancée utilise des mises à jour dynamiques du schéma. Lorsque de nouveaux champs UDM sont renseignés, le système détecte automatiquement l'incompatibilité de schéma, met en pause brièvement, met à jour le schéma BigQuery et réessaie l'insertion. Aucune action n'est requise de votre part.

Questions fréquentes

Vous trouverez ci-dessous les réponses à quelques questions fréquemment posées.

Dois-je modifier mes anciennes requêtes SQL BigQuery existantes pour utiliser l'exportation Google SecOps avancée ?

Non. Pour maintenir une compatibilité ascendante à 100 %, Google SecOps expose des vues (par exemple, "events" et "ioc_matches") dans l'ensemble de données associé qui correspondent parfaitement au schéma des tables de l'ancienne fonctionnalité d'exportation Google SecOps.

Puis-je ajuster la période de conservation des données pour mon exportation BigQuery avancée ?

Non. La période de conservation des données dans l'exportation BigQuery avancée reflète directement votre règlement sur la conservation des données Google SecOps. Lorsque les données expirent dans Google SecOps, elles expirent automatiquement et sont supprimées du projet locataire BigQuery.

Serai-je facturé pour les mises à jour et la déduplication du LMD de backend ?

Non. Tous les coûts de stockage backend, d'opérations d'insertion en flux continu et de calcul LMD précis sont absorbés par Google SecOps. Vous ne payez que pour les requêtes que vous exécutez explicitement dans votre BYOP.

Cette fonctionnalité est-elle disponible pour les niveaux Google SecOps Standard ou Enterprise ?

Non. L'exportation BigQuery avancée (stockage géré et streaming) est une fonctionnalité premium réservée au niveau Google SecOps Enterprise Plus. Les clients Standard et Enterprise peuvent utiliser le modèle Bring Your Own BigQuery (BYOBQ), dans lequel ils fournissent le projet BigQuery et couvrent les coûts de stockage et de calcul.

Pourquoi puis-je constater des différences temporaires dans les nombres entre les données de l'exportation BigQuery avancée et les statistiques affichées dans l'interface utilisateur Google Security Operations ?

Des écarts temporaires peuvent se produire en raison de la nature en flux continu et en temps quasi réel du pipeline Advanced BigQuery Export. Voici les principales raisons :

  • Données arrivant tardivement : le pipeline d'exportation est conçu pour un débit élevé. La plupart des données apparaissent dans BigQuery sous cinq à dix minutes. Toutefois, il arrive que des événements arrivent en retard dans le pipeline de traitement en raison de problèmes de réseau ou de système source. Bien que le système vise à fusionner ces événements tardifs, il peut y avoir un bref délai pendant lequel les statistiques de l'UI en direct, qui reflètent l'état le plus récent, diffèrent des données BigQuery qui sont mises à jour en continu.

  • Réenrichissement des données : Google SecOps enrichit en permanence les données d'événement avec les dernières informations contextuelles et sur les menaces. L'exportation BigQuery avancée exporte les événements en fonction de leur état au moment de l'enrichissement initial. Si un événement est réenrichi avec de nouvelles informations après avoir été diffusé en flux continu vers BigQuery, il est possible que cette version mise à jour ne soit pas immédiatement reflétée dans BigQuery. Cela peut entraîner des différences lorsque vous comparez les données à des éléments d'UI qui affichent toujours les données entièrement réenrichies.

  • Latence de fusion LMD : pour que les données de BigQuery restent à jour et pour gérer les données arrivant tardivement ou les doublons potentiels, le pipeline utilise des opérations MERGE du langage de manipulation de données (LMD) en arrière-plan. Ces opérations, bien qu'efficaces, ne sont pas instantanées. Il existe une latence inhérente au traitement de ces fusions, en particulier pour les mises à jour précises. Pendant cet intervalle de fusion, il est possible que les requêtes envoyées à BigQuery ne capturent pas les toutes dernières micro-mises à jour déjà visibles dans l'interface utilisateur Google Security Operations.

En raison des facteurs mentionnés (données tardives, gestion du réenrichissement et latences de fusion), il est possible qu'une correspondance parfaite entre les statistiques BigQuery et celles de l'UI en direct à une seconde précise ne soit pas toujours possible. L'exportation BigQuery avancée fournit des données quasiment en temps réel, optimisées pour des cas d'utilisation tels que la chasse aux menaces, l'analyse personnalisée et les tableaux de bord, où la fraîcheur des données en quelques minutes est cruciale. Pour les audits nécessitant une cohérence absolue à un moment précis, tenez compte de la possibilité de différences mineures et temporaires.

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