Exporter les journaux bruts vers un bucket de stockage autogéré Google Cloud
L'API Data Export facilite l'exportation groupée de vos données de sécurité depuis Google Security Operations vers un bucket Google Cloud Storage que vous contrôlez. Cette fonctionnalité permet de conserver les données critiques à long terme, d'effectuer des analyses forensiques historiques et de respecter des exigences de conformité strictes (comme SOX, HIPAA et le RGPD).
Important : Une fois la nouvelle API améliorée activée, vous ne pouvez plus l'utiliser pour accéder à vos anciens jobs existants.
Pour en savoir plus sur l'API Data Export, consultez API Data Export (version améliorée).
L'API Data Export fournit une solution évolutive et fiable pour les exportations de données ponctuelles et gère les demandes jusqu'à 100 To.
En tant que pipeline géré, il propose des fonctionnalités essentielles de niveau Enterprise, y compris :
- Nouvelles tentatives automatiques en cas d'erreurs temporaires
- Surveillance complète de l'état des jobs
- Une piste d'audit complète pour chaque tâche d'exportation
L'API partitionne logiquement les données exportées par date et heure dans votre bucket Google Cloud Storage.
Cette fonctionnalité vous permet de créer des workflows de déchargement de données à grande échelle. Google SecOps gère la complexité du processus d'exportation pour assurer la stabilité et les performances.
Principaux avantages
L'API Data Export fournit une solution résiliente et auditable pour gérer le cycle de vie de vos données de sécurité.
- Fiabilité : le service gère les transferts de données à grande échelle. Le système utilise une stratégie d'intervalle exponentiel entre les tentatives pour réessayer automatiquement les tâches d'exportation qui rencontrent des problèmes temporaires (par exemple, des problèmes de réseau temporaires), ce qui le rend résilient. Si votre tâche d'exportation échoue en raison d'une erreur temporaire, elle est automatiquement relancée plusieurs fois. Si un job échoue définitivement après toutes les tentatives, le système met à jour son état sur
FINISHED_FAILURE. La réponse de l'API pour ce job contient un message d'erreur détaillé qui explique la cause de l'échec. Auditabilité complète : pour répondre aux normes strictes de conformité et de sécurité, le système enregistre chaque action liée à un job d'exportation dans un journal d'audit immuable. Ce journal inclut la création, le démarrage, la réussite ou l'échec de chaque job, ainsi que l'utilisateur qui a lancé l'action, un code temporel et les paramètres du job.
Optimisée pour les performances et l'évolutivité : l'API utilise un système robuste de gestion des tâches. Ce système inclut la mise en file d'attente et la hiérarchisation pour assurer la stabilité de la plate-forme et empêcher un locataire unique de monopoliser les ressources.
Intégrité et accessibilité améliorées des données : le système organise automatiquement les données dans une structure de répertoire logique au sein de votre bucket Google Cloud Storage, ce qui vous aide à localiser et à interroger des périodes spécifiques pour l'analyse historique.
Termes et concepts clés
- Tâche d'exportation : opération asynchrone unique permettant d'exporter une plage de données de journaux spécifique vers un bucket Google Cloud Storage. Le système suit chaque job avec un
dataExportIdunique. - État du job : état actuel d'un job d'exportation au cours de son cycle de vie (par exemple,
IN_QUEUE,PROCESSING,FINISHED_SUCCESS). - Bucket Google Cloud Storage : bucket Google Cloud Storage appartenant à l'utilisateur et servant de destination pour les données exportées.
- Types de journaux : catégories spécifiques de journaux que vous pouvez exporter (par exemple,
NIX_SYSTEM,WINDOWS_DNS,CB_EDR). Pour en savoir plus, consultez la liste de tous les types de journaux compatibles.
Comprendre la structure des données exportées
Lorsqu'un job se termine correctement, le système écrit les données dans votre bucket Google Cloud Storage. Il utilise une structure de répertoire partitionnée spécifique pour simplifier l'accès aux données et les requêtes.
Structure du chemin d'accès au répertoire : gs://<gcs-bucket-name>/<export-job-name>/<logtype>/<event-time-bucket>/<epoch_execution_time>/<file-shard-name>.csv
- gcs-bucket-name : nom de votre bucket Google Cloud Storage.
- export-job-name : nom unique de votre job d'exportation.
- logtype : nom du type de journal pour les données exportées.
event-time-bucket : plage horaire des codes temporels des événements des journaux exportés.
Le format est un code temporel UTC :
year/month/day/UTC-timestamp(oùUTC-timestampcorrespond àhour/minute/second).
Par exemple,2025/08/25/01/00/00correspond àUTC 01:00:00 AM, August 25, 2025.epoch-execution-time : valeur de l'heure epoch Unix indiquant le début du job d'exportation.
file-shard-name : nom des fichiers fragmentés contenant les journaux bruts. La taille de chaque fichier est limitée à 100 Mo.
Performances et limites
Le service est soumis à des limites spécifiques pour assurer la stabilité de la plate-forme et une allocation équitable des ressources.
- Volume de données maximal par job : chaque job d'exportation individuel peut demander jusqu'à 100 To de données. Pour les ensembles de données plus volumineux, nous vous recommandons de diviser l'exportation en plusieurs tâches avec des plages de temps plus courtes.
- Tâches simultanées : chaque locataire client peut exécuter ou mettre en file d'attente un maximum de trois tâches d'exportation simultanément. Le système rejette toute nouvelle demande de création de job qui dépasse cette limite.
- Temps d'exécution des tâches : le volume de données exportées détermine le temps d'exécution des tâches. Une tâche unique peut prendre jusqu'à 18 heures.
- Format d'exportation et champ de données : cette API est compatible avec les exportations groupées ponctuelles, avec les limites et fonctionnalités suivantes :
- Journaux bruts uniquement : vous ne pouvez exporter que les journaux bruts (et non les journaux UDM, les événements UDM ni les détections). Pour exporter des données UDM, consultez Configurer l'exportation de données vers BigQuery dans un projet Google Cloudautogéré.
- Compression des données : l'API exporte les données sous forme de texte non compressé.
Prérequis et architecture
Cette section décrit l'architecture système et les exigences nécessaires pour utiliser l'API Data Export. Utilisez ces informations pour vérifier que votre environnement est correctement configuré.
Avant de commencer
Avant d'utiliser l'API Data Export, suivez ces étapes préalables pour configurer votre destination Google Cloud Storage et accorder les autorisations nécessaires.
Accorder des autorisations à l'utilisateur de l'API : pour utiliser l'API Data Export, vous avez besoin des rôles IAM suivants.
Chronicle administrator (creating/managing jobs): accorde des autorisations complètes pour créer, modifier, annuler et afficher les jobs d'exportation à l'aide de l'API.Chronicle Viewer: accorde un accès en lecture seule pour afficher les configurations et l'historique des jobs à l'aide de l'API.
Créez un bucket Google Cloud Storage : dans votre projet Google Cloud, créez un bucket Google Cloud Storage (destination de vos données exportées) dans la même région que votre locataire Google SecOps. Rendez-le privé pour empêcher tout accès non autorisé. Pour en savoir plus, consultez Créer un bucket.
Accorder des autorisations au compte de service : accordez au compte de service Google SecOps, qui est associé à votre locataire Google SecOps, les rôles IAM nécessaires pour écrire des données dans votre bucket.
Appelez le point de terminaison de l'API
FetchServiceAccountForDataExportpour identifier le compte de service unique de votre instance Google SecOps. L'API renvoie l'adresse e-mail du compte de service.Exemple de requête :
{ "parent": "projects/myproject/locations/us/instances/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }Exemple de réponse :
{ "service_account_email": "service-1234@gcp-sa-chronicle.iam.gserviceaccount.com" }Accordez au compte de service Google SecOps le rôle IAM suivant pour le bucket Google Cloud Storage de destination : ce rôle permet au service Google SecOps d'écrire des fichiers de données exportés dans votre bucket Google Cloud Storage.
Storage object administrator (roles/storage.objectAdmin)Legacy bucket reader (roles/storage.legacyBucketReader)
Pour en savoir plus, consultez Accorder l'accès au compte de service Google SecOps.
Authentification complète : l'API Data Export authentifie vos appels. Pour configurer cette authentification, suivez les instructions des sections suivantes :
Principaux cas d'utilisation
L'API Data Export fournit une suite de points de terminaison permettant de créer des tâches d'exportation de données et de gérer l'ensemble du cycle de vie de l'exportation groupée de données. Toutes les interactions se font à l'aide d'appels d'API.
Les cas d'utilisation suivants décrivent comment créer, surveiller et gérer les tâches d'exportation de données.
Workflow principal
Cette section explique comment gérer le cycle de vie de vos jobs d'exportation.
Créer un job d'exportation de données
Le système stocke les spécifications des jobs d'exportation de données sur l'instance Google SecOps de la ressource parente. Cette instance est la source des données de journaux pour le job d'exportation.
Identifiez le compte de service unique de votre instance Google SecOps. Pour en savoir plus, consultez FetchServiceAccountForDataExports.
Pour démarrer une exportation, envoyez une requête
POSTau point de terminaisondataExports.create.
Pour en savoir plus, consultez le point de terminaisonCreateDataExport.
Surveiller l'état des tâches d'exportation de données
Affichez les détails et l'état d'un job d'exportation de données spécifique, ou définissez un filtre pour afficher certains types de jobs.
Pour afficher un job d'exportation spécifique, consultez GetDataExport.
Pour lister certains types de tâches d'exportation de données à l'aide d'un filtre, consultez ListDataExport.
Gérer les jobs en file d'attente
Vous pouvez modifier ou annuler une tâche lorsqu'elle est à l'état IN_QUEUE.
Pour modifier des paramètres (tels que la plage de dates, la liste des types de journaux ou le bucket de destination), consultez UpdateDataExport.
Pour annuler une tâche en file d'attente, consultez CancelDataExport.
Résoudre les problèmes courants
L'API fournit des messages d'erreur détaillés pour vous aider à diagnostiquer les problèmes.
| Code canonique | Message d'erreur |
|---|---|
| INVALID_ARGUMENT | INVALID_REQUEST : paramètre de requête <Parameter1, Parameter2,..> non valide. Veuillez corriger les paramètres de requête et réessayer. |
| NOT_FOUND | BUCKET_NOT_FOUND : le bucket Google Cloud Storage de destination <bucketName> n'existe pas. Veuillez créer le bucket Google Cloud Storage de destination et réessayer. |
| NOT_FOUND | REQUEST_NOT_FOUND : l'exportation de données dataExportId:<dataExportId> n'existe pas. Veuillez ajouter un dataExportId valide et réessayer. |
| FAILED_PRECONDITION | BUCKET_INVALID_REGION : la région du bucket Google Cloud Storage <bucketId> : <region1> n'est pas la même que celle du locataire SecOps :<region2>. Veuillez créer le bucket Google Cloud Storage dans la même région que le locataire SecOps et réessayer. |
| FAILED_PRECONDITION | INSUFFICIENT_PERMISSIONS : le compte de service <P4SA> ne dispose pas des autorisations storage.objects.create, storage.objects.get et storage.buckets.get sur le bucket Google Cloud Storage de destination <bucketName>. Veuillez fournir l'accès requis au compte de service et réessayer. |
| FAILED_PRECONDITION | INVALID_UPDATE : l'état de la demande est<status> et ne peut pas être modifié. Vous ne pouvez modifier la demande que si son état est "IN_QUEUE". |
| FAILED_PRECONDITION | INVALID_CANCELLATION : l'état de la demande est<status> et ne peut pas être annulé. Vous ne pouvez annuler la demande que si son état est "EN FILE D'ATTENTE". |
| RESOURCE_EXHAUSTED | CONCURRENT_REQUEST_LIMIT_EXCEEDED : la limite maximale de requêtes simultanées (<limit>) a été atteinte pour la taille de requête <sizelimit>. Veuillez attendre que les requêtes existantes soient traitées, puis réessayer. |
| RESOURCE_EXHAUSTED | REQUEST_SIZE_LIMIT_EXCEEDED : le volume d'exportation estimé (<estimatedVolume>) pour la requête est supérieur au volume d'exportation maximal autorisé (<allowedVolume>) par requête. Veuillez réessayer avec une demande respectant la limite de volume d'exportation autorisée. |
| INTERNAL | INTERNAL_ERROR : une erreur interne s'est produite. Veuillez réessayer. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.