Ingérer des données Google Cloud dans Google Security Operations
Cette page explique comment activer et désactiver l'ingestion de données Google Cloud dans Google SecOps. Cela vous permet de stocker, de rechercher et d'examiner les informations de sécurité agrégées de votre entreprise qui remontent à plusieurs mois ou plus, conformément à votre période de conservation des données.
Présentation
Deux options permettent d'envoyer des données Google Cloud à Google SecOps. Le choix de la bonne option dépend du type de journal.
Option 1 : Ingestion directe
Un filtre Cloud Logging spécial peut être configuré dans Google Cloud pour envoyer des types de journaux spécifiques à Google SecOps en temps réel. Ces journaux sont générés par les services Google Cloud . Les journaux sont collectés à partir du moment où le filtre est configuré. Les journaux générés avant la configuration ne sont pas inclus. Ce transfert en temps réel s'applique à Cloud Logging, aux métadonnées des éléments cloud et aux résultats Security Command Center Premium.
Google Security Operations n'ingère que les types de journaux compatibles. Voici les types de journaux disponibles :
- Cloud Audit Logs
- Cloud NAT
- Cloud DNS
- Cloud Next Generation Firewall
- Cloud Intrusion Detection System
- Cloud Load Balancing
- Cloud SQL
- Journaux des événements Windows
- Syslog Linux
- Linux Sysmon
- Zeek
- Google Kubernetes Engine
- Daemon Audit (
auditd
) - Apigee
- reCAPTCHA Enterprise
- Journaux Cloud Run (
GCP_RUN
) - Google Cloud Événements d'utilisation abusive
Pour en savoir plus sur les filtres de journaux spécifiques et sur l'ingestion, consultez Exporter les journaux Google Cloud vers Google SecOps.
Vous pouvez également envoyer les métadonnées des éléments Google Cloud utilisées pour l'enrichissement du contexte. Pour en savoir plus, consultez Exporter les métadonnées des ressources Google Cloud vers Google SecOps.
Option 2 : Google Cloud Stockage
Cloud Logging peut acheminer les journaux vers Cloud Storage par Google SecOps de manière planifiée.
Pour savoir comment configurer Cloud Storage pour Google SecOps, consultez Gestion des flux : Cloud Storage.
Avant de commencer
Avant de pouvoir ingérer des données Google Cloud dans une instance Google SecOps, vous devez effectuer les étapes suivantes :
Attribuez les rôles IAM (Identity and Access Management) suivants au niveau de l'organisation pour accéder à la section Google SecOps :
- Administrateur de services Chronicle (
roles/chroniclesm.admin
) : rôle IAM permettant d'effectuer toutes les activités. - Lecteur de service Chronicle (
roles/chroniclesm.viewer
) : rôle IAM permettant d'afficher uniquement l'état de l'ingestion. - Éditeur administrateur du centre de sécurité (
roles/securitycenter.adminEditor
) : requis pour activer l'ingestion des métadonnées des éléments cloud.
- Administrateur de services Chronicle (
Si vous prévoyez d'activer les métadonnées des éléments cloud, vous devez intégrer l'organisation à Security Command Center. Pour en savoir plus, consultez Présentation de l'activation au niveau de l'organisation.
Attribuer des rôles IAM
Vous pouvez attribuer les rôles IAM requis à l'aide de la console Google Cloud ou de gcloud CLI.
Pour attribuer des rôles IAM à l'aide de la console Google Cloud , procédez comme suit :
Connectez-vous à l'organisation Google Cloud à laquelle vous souhaitez vous connecter, puis accédez à l'écran IAM à l'aide de la section Produits > IAM et administration > IAM.
Sur l'écran IAM, sélectionnez l'utilisateur, puis cliquez sur Modifier le membre.
Sur l'écran "Modifier les autorisations", cliquez sur Ajouter un autre rôle et recherchez Google SecOps pour trouver les rôles IAM.
Une fois que vous avez attribué les rôles, cliquez sur Enregistrer.
Pour attribuer des rôles IAM à l'aide de la Google Cloud CLI, procédez comme suit :
Exécutez
gcloud init
pour vérifier que vous êtes connecté à la bonne organisation et au bon projet.Pour attribuer le rôle IAM "Administrateur du service Chronicle" à l'aide de
gcloud
, exécutez la commande suivante :gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/chroniclesm.admin
Remplacez les éléments suivants :
ORGANIZATION_ID
: ID numérique de l'organisation.USER_EMAIL
: Adresse e-mail de l'utilisateur.
Pour attribuer le rôle IAM "Lecteur du service Chronicle" à l'aide de
gcloud
, exécutez la commande suivante :gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/chroniclesm.viewer
Pour attribuer le rôle "Éditeur de l'administrateur du centre de sécurité" à l'aide de
gcloud
, exécutez la commande suivante :gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/securitycenter.adminEditor`
Activer l'ingestion directe depuis Google Cloud
La procédure à suivre pour activer l'ingestion directe à partir de Google Cloud varie selon la propriété du projet auquel votre instance Google SecOps est liée.
S'il est associé à un projet dont vous êtes propriétaire et que vous gérez, suivez la procédure décrite dans Configurer l'ingestion lorsque le projet appartient au client. Cette approche vous permet de configurer l'ingestion de données à partir de plusieurs organisations Google Cloud .
S'il est lié à un projet que Google Cloud possède et gère, suivez les étapes décrites dans Configurer l'ingestion pour un projet géré par Google.
Une fois l'ingestion directe configurée, vos données Google Cloud sont envoyées à Google SecOps. Vous pouvez utiliser les fonctionnalités d'analyse de Google SecOps pour examiner les problèmes liés à la sécurité.
Configurer l'ingestion lorsque le projet appartient au client
Si vous êtes propriétaire du projet Google Cloud , procédez comme suit.
Vous pouvez configurer l'ingestion directe à partir de plusieurs organisations à l'aide de la même page de configuration au niveau du projet. Pour créer une configuration et modifier une configuration existante, procédez comme suit.
Lorsque vous migrez une instance Google SecOps existante pour qu'elle soit associée à un projet dont vous êtes propriétaire, et si l'ingestion directe a été configurée avant la migration, la configuration de l'ingestion directe est également migrée.
- Accédez à la page Google SecOps > Paramètres d'ingestion dans la console Google Cloud .
Accéder à la page Google SecOps - Sélectionnez le projet lié à votre instance Google SecOps.
Dans le menu Organisation, sélectionnez l'organisation à partir de laquelle les journaux seront exportés. Le menu affiche les organisations auxquelles vous êtes autorisé à accéder. La liste peut inclure des organisations qui ne sont pas associées à l'instance Google SecOps. Vous ne pouvez pas configurer une organisation qui envoie des données à une autre instance Google SecOps.
Dans la section Paramètre d'ingestion Google Cloud, cliquez sur le bouton Envoi de données à Google Security Operations pour activer l'envoi des journaux à Google SecOps.
Sélectionnez une ou plusieurs des options suivantes pour définir le type de données envoyées à Google SecOps :
- Google Cloud Logging : pour en savoir plus sur cette option, consultez Exporter les journaux Google Cloud .
- Métadonnées des éléments cloud : pour en savoir plus sur cette option, consultez Exporter les métadonnées des éléments Google Cloud .
- Résultats Security Command Center Premium : pour en savoir plus sur cette option, consultez Exporter les résultats Security Command Center Premium.
Dans la section Paramètres de filtrage des exportations client, configurez les filtres d'exportation pour personnaliser les données Cloud Logging envoyées à Google SecOps. Consultez la liste des types de journauxGoogle Cloud compatibles avec l'exportation.
Pour ingérer des journaux provenant d'une autre organisation dans la même instance Google SecOps, sélectionnez l'organisation dans le menu Organisation, puis répétez les étapes pour définir le type de données à exporter et les filtres d'exportation. Plusieurs organisations s'affichent dans le menu Organisation.
Pour exporter des données Sensitive Data Protection (anciennement appelées données Google Cloud Data Loss Prevention) vers Google SecOps, consultez Exporter des données Sensitive Data Protection.
Configurer l'ingestion pour un projet géré par Google
Si Google Cloud est propriétaire du projet, procédez comme suit pour configurer l'ingestion directe depuis votre organisation Google Cloud dans votre instance Google SecOps :
- Accédez à l'onglet Ingestion de la console Google Cloud , sous Google SecOps > Vue d'ensemble. Accéder à l'onglet "Ingestion Google SecOps"
- Cliquez sur le bouton Gérer les paramètres d'ingestion de l'organisation.
- Si le message Page non visible pour les projets s'affiche, sélectionnez une organisation, puis cliquez sur Sélectionner.
- Saisissez votre code d'accès unique dans le champ 1-time Google SecOps access code (Code d'accès unique Google SecOps).
- Cochez la case intitulée J'accepte les conditions d'utilisation de Google SecOps liées à l'exploitation de mes données Google Cloud .
- Cliquez sur Connecter Google SecOps.
- Accédez à l'onglet Paramètres d'ingestion globaux de l'organisation.
Sélectionnez le type de données à envoyer en activant une ou plusieurs des options suivantes :
- Google Cloud Logging : pour en savoir plus sur cette option, consultez Exporter les journaux Google Cloud .
- Métadonnées des éléments cloud : pour en savoir plus sur cette option, consultez Exporter les métadonnées des éléments Google Cloud .
- Résultats Security Command Center Premium : pour en savoir plus sur cette option, consultez Exporter les résultats Security Command Center Premium.
Accédez à l'onglet Paramètres de filtre d'exportation.
Dans la section Paramètres de filtrage des exportations client, configurez les filtres d'exportation pour personnaliser les données Cloud Logging envoyées à Google SecOps. Consultez la liste des types de journauxGoogle Cloud compatibles avec l'exportation.
Pour exporter des données Sensitive Data Protection (anciennement appelées données Google Cloud Data Loss Prevention) vers Google SecOps, consultez Exporter des données Sensitive Data Protection.
Exporter les journaux Google Cloud
Après avoir activé Cloud Logging, vous pouvez exporter les données de journaux pour lesGoogle Cloud types de journaux compatibles vers votre instance Google SecOps.
Pour exporter les journaux Google Cloud vers Google SecOps, définissez le bouton Activer les journaux Cloud sur Activé.
Types de journaux compatibles avec l'exportation
Vous pouvez personnaliser le filtre d'exportation des journaux à exporter vers Google SecOps. Incluez ou excluez des types de journaux en ajoutant ou en supprimant des filtres d'exportation compatibles, qui sont listés dans cette section.
Vous pouvez exporter les types de journaux suivants vers votre instance Google SecOps. Google Cloud La liste suivante est organisée par type de journal et par libellé d'ingestion Google SecOps correspondant :
Journaux d'audit Cloud (
GCP_CLOUDAUDIT
) :Cela inclut les journaux d'activité d'administration, d'accès, d'événements système, Access Transparency et de refus de règle.
log_id("cloudaudit.googleapis.com/activity")
(exporté par le filtre par défaut)log_id("cloudaudit.googleapis.com/system_event")
(exporté par le filtre par défaut)log_id("cloudaudit.googleapis.com/policy")
log_id("cloudaudit.googleapis.com/access_transparency")
Journaux Cloud NAT (
GCP_CLOUD_NAT
) :log_id("compute.googleapis.com/nat_flows")
Journaux Cloud DNS (
GCP_DNS
) :log_id("dns.googleapis.com/dns_queries")
(exporté par le filtre par défaut)
Journaux Cloud Next Generation Firewall (
GCP_FIREWALL
) :log_id("compute.googleapis.com/firewall")
GCP_IDS
:log_id("ids.googleapis.com/threat")
log_id("ids.googleapis.com/traffic")
GCP_LOADBALANCING
:Cela inclut les journaux de Google Cloud Armor et Cloud Load Balancing.
log_id("requests")
GCP_CLOUDSQL
:log_id("cloudsql.googleapis.com/mysql-general.log")
log_id("cloudsql.googleapis.com/mysql.err")
log_id("cloudsql.googleapis.com/postgres.log")
log_id("cloudsql.googleapis.com/sqlagent.out")
log_id("cloudsql.googleapis.com/sqlserver.err")
NIX_SYSTEM
:log_id("syslog")
log_id("authlog")
log_id("securelog")
log_id("osconfig.googleapis.com/patch_job")
LINUX_SYSMON
:log_id("sysmon.raw")
WINEVTLOG
:log_id("winevt.raw")
log_id("windows_event_log")
BRO_JSON
:log_id("zeek_json_streaming_conn")
log_id("zeek_json_streaming_dhcp")
log_id("zeek_json_streaming_dns")
log_id("zeek_json_streaming_http")
log_id("zeek_json_streaming_ssh")
log_id("zeek_json_streaming_ssl")
KUBERNETES_NODE
:log_id("events")
log_id("stdout")
log_id("stderr")
AUDITD
:log_id("audit_log")
GCP_APIGEE_X
:log_id("apigee.googleapis.com/ingress_instance")
log_id("apigee.googleapis.com")
log_id("apigee-logs")
log_id("apigee")
logName =~ "^projects/[\w\-]+/logs/apigee[\w\-\.]*$"
GCP_RECAPTCHA_ENTERPRISE
:log_id("recaptchaenterprise.googleapis.com/assessment")
log_id("recaptchaenterprise.googleapis.com/annotation")
GCP_RUN
:log_id("run.googleapis.com/stderr")
log_id("run.googleapis.com/stdout")
log_id("run.googleapis.com/requests")
log_id("run.googleapis.com/varlog/system")
GCP_NGFW_ENTERPRISE
:log_id("networksecurity.googleapis.com/firewall_threat")
GCP_ABUSE_EVENTS
:log_id("abuseevent.googleapis.com/abuseevent")
Personnaliser les paramètres de filtre d'exportation
Par défaut, vos journaux Cloud Audit Logs (activités d'administration et événements système) et Cloud DNS sont envoyés à votre instance Google SecOps. Toutefois, vous pouvez personnaliser le filtre d'exportation pour inclure ou exclure des types de journaux spécifiques.
Pour définir un filtre personnalisé pour vos journaux, procédez comme suit :
Identifiez les journaux de votre filtre personnalisé à l'aide de l'outil de champ d'application des journaux.
Dans la section Filtre de journal généré automatiquement qui suit l'outil de champ d'application des journaux, copiez le code du filtre de journal personnalisé généré.
Accédez à la page Google SecOps dans la console Google Cloud , puis sélectionnez un projet.
Accéder à la page Google SecOpsLancez l'explorateur de journaux à l'aide du lien de l'onglet Paramètres du filtre d'exportation.
Copiez votre nouvelle requête dans le champ Requête, puis cliquez sur Exécuter la requête pour la tester.
Copiez votre nouvelle requête dans le champ Explorateur de journaux > Requête, puis cliquez sur Exécuter la requête pour la tester.
Vérifiez que les journaux correspondants affichés dans l'explorateur de journaux sont exactement ceux que vous souhaitez exporter vers Google SecOps. Lorsque le filtre est prêt, copiez-le dans la section Paramètres de filtre d'exportation personnalisés pour Google SecOps.
Revenez à la section Paramètres de filtre d'exportation personnalisés sur la page Google SecOps.
Cliquez sur l'icône Modifier dans le champ Filtre d'exportation, puis collez le filtre copié dans le champ.
Cliquez sur Enregistrer.
Si le message d'erreur suivant s'affiche : "Le filtre fourni peut potentiellement autoriser des types de journaux non compatibles", cela signifie qu'un type de journal non compatible est peut-être inclus dans le filtre d'exportation. Supprimez le type de journal non compatible du filtre d'exportation. N'incluez que les types de journaux listés dans Google Cloud types de journaux compatibles avec l'exportation.
Si l'enregistrement réussit, votre nouveau filtre personnalisé fonctionne pour tous les nouveaux journaux exportés vers votre instance Google SecOps.
Facultatif : Pour réinitialiser le filtre d'exportation sur la version par défaut, enregistrez une copie de votre filtre personnalisé, puis cliquez sur Rétablir la valeur par défaut.
Ajuster les filtres Cloud Audit Logs
Les journaux d'accès aux données écrits par Cloud Audit Logs peuvent générer un grand volume de données sans grande valeur pour la détection des menaces. Si vous choisissez d'envoyer ces journaux à Google SecOps, vous devez filtrer ceux générés par les activités de routine.
Le filtre d'exportation suivant capture les journaux d'accès aux données et exclut les événements à volume élevé tels que les opérations de lecture et de liste de Cloud Storage et Cloud SQL :
( log_id("cloudaudit.googleapis.com/data_access")
AND NOT protoPayload.methodName =~ "^storage\.(buckets|objects)\.(get|list)$"
AND NOT protoPayload.request.cmd = "select"
AND NOT protoPayload.methodName =~ "^google\.spanner\.v1\.Spanner\.(ExecuteStreamingSql|BeginTransaction|Commit)$" )
Pour en savoir plus sur l'ajustement des journaux d'accès aux données générés par Cloud Audit Logs, consultez Gérer le volume des journaux d'audit des accès aux données.
Exemples de filtres d'exportation
Les exemples de filtres d'exportation suivants illustrent comment inclure ou exclure certains types de journaux de l'exportation vers votre instance Google SecOps.
Exemple de filtre d'exportation : inclure des types de journaux supplémentaires
Le filtre d'exportation suivant exporte les journaux Access Transparency en plus des journaux par défaut :
log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
log_id("cloudaudit.googleapis.com/access_transparency")
Exemple de filtre d'exportation : inclure des journaux supplémentaires d'un projet spécifique
Le filtre d'exportation suivant exporte les journaux Access Transparency d'un projet spécifique, en plus des journaux par défaut :
log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "projects/my-project-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"
Exemple de filtre d'exportation : inclure des journaux supplémentaires d'un dossier spécifique
Le filtre d'exportation suivant exporte les journaux Access Transparency d'un dossier spécifique, en plus des journaux par défaut :
log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "folders/my-folder-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"
Exemple de filtre d'exportation : exclure les journaux d'un projet spécifique
Le filtre d'exportation suivant exporte les journaux par défaut de l'ensemble de l'organisation Google Cloud , à l'exception d'un projet spécifique :
(log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event")) AND
(NOT logName =~ "^projects/my-project-id/logs/.*$")
Exporter les métadonnées d'un élément Google Cloud
Vous pouvez exporter les métadonnées de vos Google Cloud éléments depuis l'inventaire des éléments cloud vers Google SecOps. Ces métadonnées d'éléments sont extraites de votre inventaire des éléments cloud et comprennent des informations sur vos éléments, vos ressources et vos identités, dont les informations suivantes :
- Environnement
- Emplacement
- Zone
- Modèles de matériel
- Relations de contrôle de l'accès entre les ressources et les identités
Les types de métadonnées d'éléments suivants seront exportés vers votre instance Google SecOps : Google Cloud
GCP_BIGQUERY_CONTEXT
GCP_COMPUTE_CONTEXT
GCP_IAM_CONTEXT
GCP_IAM_ANALYSIS
GCP_STORAGE_CONTEXT
GCP_CLOUD_FUNCTIONS_CONTEXT
GCP_SQL_CONTEXT
GCP_NETWORK_CONNECTIVITY_CONTEXT
GCP_RESOURCE_MANAGER_CONTEXT
Voici des exemples de métadonnées d'éléments Google Cloud :
- Nom de l'application :
Google-iamSample/0.1
- Nom du projet :
projects/my-project
Pour exporter les métadonnées d'éléments Google Cloud vers Google SecOps, activez l'option Métadonnées d'éléments cloud.
Pour en savoir plus sur l'exportation de journaux de contexte spécifiques et leur ingestion dans Google SecOps, consultez Configuration et ingestion du parseur par défaut, puis recherchez "contexte" ou "analyse".
Exporter les résultats de Security Command Center
Vous pouvez exporter les résultats Event Threat Detection de Security Command Center Premium et tous les autres résultats vers Google SecOps.
Pour en savoir plus sur les résultats d'ETD, consultez Présentation d'Event Threat Detection.
Pour exporter vos résultats Security Command Center Premium vers Google SecOps, activez le bouton Résultats Security Command Center Premium.
Exporter les données de Sensitive Data Protection
Vous pouvez exporter vos données de protection des données sensibles vers Google SecOps.
Pour ingérer les métadonnées des composants Sensitive Data Protection (DLP_CONTEXT
), procédez comme suit :
- Activez l'ingestion des données Google Cloud en suivant les instructions de la section précédente de ce document.
- Configurez la protection des données sensibles pour profiler les données.
- Définissez la configuration d'analyse sur Publier les profils de données dans Google SecOps.
Pour en savoir plus sur la création de profils de données pour les données BigQuery, consultez la documentation Sensitive Data Protection.
Désactiver l'ingestion de données Google Cloud
La procédure à suivre pour désactiver l'ingestion directe de données depuis Google Cloud varie en fonction de la configuration de Google SecOps. Choisissez l'une des options suivantes :
Si votre instance Google SecOps est liée à un projet dont vous êtes propriétaire et que vous gérez, procédez comme suit :
- Sélectionnez le projet lié à votre instance Google SecOps.
- Dans la console Google Cloud , accédez à l'onglet Ingestion sous Google SecOps.
Accéder à la page Google SecOps - Dans le menu Organisation, sélectionnez l'organisation à partir de laquelle les journaux sont exportés.
- Définissez le paramètre Envoi de données à Google Security Operations sur Désactivé.
- Si vous avez configuré l'exportation de données à partir de plusieurs organisations et que vous souhaitez également la désactiver, suivez ces étapes pour chaque organisation.
Si votre instance Google SecOps est liée à un projet qui possède et gère Google Cloud , procédez comme suit :
- Accédez à la page Google SecOps > Ingestion dans la console Google Cloud .
Accéder à la page Google SecOps - Dans le menu des ressources, sélectionnez l'organisation liée à votre instance Google SecOps et à partir de laquelle vous ingérez des données.
- Cochez la case I want to disconnect Google SecOps and stop sending Google Cloud Logs into Google SecOps (Je souhaite déconnecter Google SecOps et arrêter d'envoyer des journaux Google Cloud à Google SecOps).
- Cliquez sur Déconnecter Google SecOps.
- Accédez à la page Google SecOps > Ingestion dans la console Google Cloud .
Contrôler le taux d'ingestion
Lorsque le taux d'ingestion de données d'un locataire atteint un certain seuil, Google Security Operations limite le taux d'ingestion des nouveaux flux de données pour éviter qu'une source à taux d'ingestion élevé n'affecte le taux d'ingestion d'une autre source de données. Dans ce cas, il y a un délai, mais aucune donnée n'est perdue. Le seuil est déterminé par le volume d'ingestion et l'historique d'utilisation du locataire.
Vous pouvez demander une augmentation de la limite de débit en contactant Cloud Customer Care.
Dépannage
- Si les relations entre les ressources et les identités sont manquantes dans votre instance Google SecOps, désactivez, puis réactivez l'ingestion directe des données de journaux dans Google SecOps.
- Les métadonnées des élémentsGoogle Cloud sont ingérées régulièrement dans Google SecOps. Plusieurs heures peuvent s'écouler avant que les modifications n'apparaissent dans l'UI et les API Google SecOps.
Lorsque vous ajoutez un type de journal au filtre d'exportation, le message suivant peut s'afficher : "Le filtre fourni peut potentiellement autoriser des types de journaux non compatibles".
Solution de contournement : N'incluez dans le filtre d'exportation que les types de journaux qui figurent dans la liste Google Cloud Types de journaux compatibles avec l'exportation.
Étapes suivantes
- Ouvrez votre instance Google SecOps à l'aide de l'URL spécifique à votre client, fournie par votre conseiller Google SecOps.
- En savoir plus sur Google SecOps
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.