Intégrer BigQuery à Google SecOps

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

Version de l'intégration : 15.0

Cette intégration utilise un ou plusieurs composants Open Source. Vous pouvez télécharger une copie compressée du code source de cette intégration à partir d'un bucket Cloud Storage.

Cas d'utilisation

Dans la plate-forme Google SecOps, l'intégration de BigQuery peut vous aider à résoudre les cas d'utilisation suivants :

  • Enrichissement des renseignements sur les menaces : enrichissez automatiquement les alertes de sécurité avec les données de renseignements sur les menaces stockées dans BigQuery pour évaluer la gravité et la crédibilité des menaces potentielles.

    Par exemple, vous pouvez configurer Google SecOps pour qu'il interroge une table BigQuery contenant des adresses IP malveillantes connues chaque fois qu'une adresse IP suspecte déclenche une alerte. Google SecOps recherche une correspondance dans la table BigQuery et récupère des informations contextuelles supplémentaires, comme les familles de logiciels malveillants associées.

  • Analyse du comportement des utilisateurs : identifiez les activités utilisateur anormales en analysant les journaux d'activité utilisateur historiques stockés dans BigQuery pour détecter les menaces internes et les comptes piratés.

    Par exemple, vous pouvez configurer Google SecOps pour interroger BigQuery sur les tentatives de connexion en dehors de la géolocalisation habituelle d'un utilisateur et déclencher une réponse automatisée aux incidents en cas d'activité suspecte détectée.

  • Analyse du lac de données de sécurité : utilisez les fonctionnalités de requête BigQuery pour analyser de grands volumes de données de sécurité provenant de diverses sources et agrégées dans un lac de données. Vous pourrez ainsi améliorer la chasse aux menaces et l'investigation des incidents.

    Par exemple, vous pouvez configurer Google SecOps pour interroger BigQuery afin d'obtenir tous les événements liés à un hachage de fichier spécifique dans les journaux de plusieurs outils de sécurité stockés dans le lac de données.

  • Conservation des données de sécurité à long terme : utilisez le stockage BigQuery pour conserver de grands volumes de journaux de sécurité pendant de longues périodes afin de faciliter l'analyse historique, la création de rapports de conformité et les investigations.

    Par exemple, vous pouvez configurer Google SecOps pour archiver automatiquement les données des incidents résolus dans BigQuery afin de les stocker à long terme et de garantir leur disponibilité pour les futurs audits ou enquêtes.

Avant de commencer

Pour utiliser l'intégration, vous avez besoin d'un compte de service Google Cloud .

Créer et configurer un compte de service

Pour intégrer BigQuery à Google SecOps, vous pouvez utiliser un compte de service existant ou en créer un. Pour savoir comment créer un compte de service, consultez Créer des comptes de service.

Si vous n'utilisez pas d'adresse e-mail d'identité de charge de travail pour configurer l'intégration, créez une clé de compte de service au format JSON après avoir créé un compte de service. Vous devez fournir l'intégralité du contenu du fichier de clé JSON téléchargé lorsque vous configurez les paramètres d'intégration.

Pour des raisons de sécurité, nous vous recommandons d'utiliser des adresses e-mail Workload Identity au lieu de clés JSON de compte de service. Pour en savoir plus sur les identités de charge de travail, consultez Identités pour les charges de travail.

Paramètres d'intégration

L'intégration BigQuery nécessite les paramètres suivants :

Paramètres Description
Account Type

Facultatif.

Type de compte BigQuery.

Indiquez la valeur définie dans le paramètre type du fichier JSON de clé de compte de service.

La valeur par défaut est service_account.

Project ID

Facultatif.

ID du projet du compte BigQuery.

Indiquez la valeur définie dans le paramètre project_id du fichier JSON d'authentification.

Private Key ID

Facultatif.

ID de clé privée du compte BigQuery.

Indiquez la valeur définie dans le paramètre private_key_id du fichier JSON d'authentification.

Private Key

Facultatif.

Clé privée du compte BigQuery.

Indiquez la valeur définie dans le paramètre private_key du fichier JSON d'authentification.

Client Email

Facultatif.

Adresse e-mail du client du compte BigQuery.

Indiquez la valeur définie dans le paramètre client_email du fichier JSON d'authentification.

Client ID

Facultatif.

ID client du compte BigQuery.

Indiquez la valeur définie dans le paramètre client_id du fichier JSON d'authentification.

Auth URI

Facultatif.

URI d'authentification du compte BigQuery.

Indiquez la valeur définie dans le paramètre auth_uri du fichier JSON d'authentification.

La valeur par défaut est https://accounts.google.com/o/oauth2/auth.

Token URI

Facultatif.

URI du jeton du compte BigQuery.

Indiquez la valeur définie dans le paramètre token_uri du fichier JSON d'authentification.

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

Auth Provider X509 URL

Facultatif.

URL X.509 du fournisseur d'authentification du compte BigQuery.

Indiquez la valeur définie dans le paramètre auth_provider_x509_cert_url du fichier JSON d'authentification.

La valeur par défaut est https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

Facultatif.

URL X.509 du client du compte BigQuery.

Indiquez la valeur définie dans le paramètre client_x509_cert_url du fichier JSON d'authentification.

La valeur par défaut est https://www.googleapis.com/oauth2/v1/certs.

Service Account Json File Content

Facultatif.

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

Vous pouvez configurer ce paramètre ou le paramètre Workload Identity Email, ou définir tous les paramètres d'intégration précédents.

Pour configurer ce paramètre, indiquez l'intégralité du contenu du fichier JSON de la clé de compte de service que vous avez téléchargé lors de la création d'un compte de service.

Si vous configurez ce paramètre, l'intégration ignore les autres paramètres de connexion.

Workload Identity Email

Facultatif.

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

Vous pouvez configurer ce paramètre ou le paramètre Service Account Json File Content.

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 sur la façon de les utiliser, consultez Identités pour les charges de travail.

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 .

Verify SSL

Facultatif.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion à Google Cloud.

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 dans Votre espace de travail et Effectuer une action manuelle.

Ping

Utilisez l'action Ping pour tester la connectivité à BigQuery.

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 Google BigQuery server with the provided connection parameters! Action effectuée.
Failed to connect to the Google BigQuery 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

Exécuter une requête personnalisée

Utilisez l'action Exécuter une requête personnalisée pour exécuter des requêtes personnalisées dans BigQuery.

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

Entrées d'action

L'action Exécuter une requête personnalisée nécessite les paramètres suivants :

Paramètres Description
Query

Obligatoire.

Requête SQL à exécuter.

Max Results To Return

Facultatif.

Nombre de résultats à renvoyer pour chaque réponse.

La valeur par défaut est 50.

Sorties d'action

L'action Exécuter une requête personnalisée 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 Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Exécuter une requête personnalisée :

{
    "Airport_Code": "CODE",
    "Airport_Name": "NAME",
    "Time_Label": "2015/05",
    "Time_Month": 5,
    "Time_Month_Name": "May",
    "Time_Year": 2015,
    "Statistics___of_Delays_Carrier": 351,
    "Statistics___of_Delays_Late_Aircraft": 546,
    "Statistics___of_Delays_National_Aviation_System": 292,
    "Statistics___of_Delays_Security": 2,
    "Statistics___of_Delays_Weather": 100,
    "Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
    "Statistics_Carriers_Total": 3,
    "Statistics_Flights_Cancelled": 88,
    "Statistics_Flights_Delayed": 1289,
    "Statistics_Flights_Diverted": 32,
    "Statistics_Flights_On_Time": 6182,
    "Statistics_Flights_Total": 7591,
    "Statistics_Minutes_Delayed_Carrier": 19332,
    "Statistics_Minutes_Delayed_Late_Aircraft": 34376,
    "Statistics_Minutes_Delayed_National_Aviation_System": 12346,
    "Statistics_Minutes_Delayed_Security": 48,
    "Statistics_Minutes_Delayed_Total": 76163,
    "Statistics_Minutes_Delayed_Weather": 100061
}
Messages de sortie

L'action Exécuter une requête personnalisée peut renvoyer les messages de sortie suivants :

Message affiché Description du message
Successfully executed query in Google BigQuery! Action effectuée.
Error executing action "Run Custom Query". 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 Exécuter une requête personnalisée :

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

Exécuter une requête SQL

Utilisez l'action Exécuter une requête SQL pour exécuter des requêtes dans BigQuery.

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

Entrées d'action

L'action Exécuter une requête SQL nécessite les paramètres suivants :

Paramètres Description
Dataset Name

Obligatoire.

Nom de l'ensemble de données à utiliser lors de l'exécution des requêtes.

Query

Obligatoire.

Requête SQL à exécuter.

Max Results To Return

Facultatif.

Nombre de résultats à renvoyer pour chaque réponse.

La valeur par défaut est 50.

Sorties d'action

L'action Exécuter une requête SQL 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
Résultat JSON

L'exemple suivant décrit le résultat JSON reçu lors de l'utilisation de l'action Exécuter une requête SQL :

{
    "Airport_Code": "CODE",
    "Airport_Name": "NAME",
    "Time_Label": "2015/05",
    "Time_Month": 5,
    "Time_Month_Name": "May",
    "Time_Year": 2015,
    "Statistics___of_Delays_Carrier": 351,
    "Statistics___of_Delays_Late_Aircraft": 546,
    "Statistics___of_Delays_National_Aviation_System": 292,
    "Statistics___of_Delays_Security": 2,
    "Statistics___of_Delays_Weather": 100,
    "Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
    "Statistics_Carriers_Total": 3,
    "Statistics_Flights_Cancelled": 88,
    "Statistics_Flights_Delayed": 1289,
    "Statistics_Flights_Diverted": 32,
    "Statistics_Flights_On_Time": 6182,
    "Statistics_Flights_Total": 7591,
    "Statistics_Minutes_Delayed_Carrier": 19332,
    "Statistics_Minutes_Delayed_Late_Aircraft": 34376,
    "Statistics_Minutes_Delayed_National_Aviation_System": 12346,
    "Statistics_Minutes_Delayed_Security": 48,
    "Statistics_Minutes_Delayed_Total": 76163,
    "Statistics_Minutes_Delayed_Weather": 100061
}
Messages de sortie

L'action Exécuter une requête SQL peut renvoyer les messages de sortie suivants :

Message affiché Description du message
Successfully executed query in the BigQuery dataset DATASET_NAME. Action effectuée.
Error executing action "Run SQL Query". 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 Exécuter une requête SQL :

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

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