Collecter les journaux de contexte d'identité Google Cloud

Version de l'analyseur : 1.0

Compatible avec :

Ce document explique comment ingérer des journaux de contexte d'identité Google Cloud dans Google Security Operations à l'aide de Google Cloud Storage V2.

Le contexte Cloud Identity fournit des informations sur les utilisateurs et les appareils pour les décisions d'accès basées sur l'identité, y compris la posture de l'appareil, les attributs utilisateur et les appartenances aux groupes utilisés pour enrichir le contexte de sécurité.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Un projet GCP avec l'API Cloud Storage activée
  • Autorisations permettant de créer et de gérer des buckets GCS
  • Autorisations permettant de gérer les stratégies IAM sur les buckets GCS
  • Un environnement Google Workspace ou Cloud Identity avec des utilisateurs et des appareils
  • Autorisations IAM permettant de créer des récepteurs de journaux dans le projet GCP
  • Un rôle d'administrateur de la journalisation (roles/logging.admin) ou des autorisations équivalentes

Créer un bucket Google Cloud Storage

Utiliser la console Google Cloud

  1. Accédez à la console Google Cloud.
  2. Sélectionnez votre projet ou créez-en un.
  3. Dans le menu de navigation, accédez à Cloud Storage > Buckets.
  4. Cliquez sur Créer un bucket.
  5. Fournissez les informations de configuration suivantes :

    Paramètre Valeur
    Attribuez un nom au bucket Saisissez un nom unique (par exemple, cloud-identity-context-logs).
    Type d'emplacement Choisissez en fonction de vos besoins (région, birégion, multirégion).
    Emplacement Sélectionnez l'emplacement (par exemple, us-central1).
    Classe de stockage Standard (recommandé pour les journaux auxquels vous accédez fréquemment)
    Access control (Contrôle des accès) Uniforme (recommandé)
    Outils de protection Facultatif : Activez la gestion des versions des objets ou la règle de conservation.
  6. Cliquez sur Créer.

Utiliser l'outil de ligne de commande gcloud

  • Vous pouvez également créer un bucket à l'aide de la commande gcloud :

      gcloud storage buckets create gs://cloud-identity-context-logs \
        --location=us-central1 \
        --default-storage-class=STANDARD
    
    • Remplacez cloud-identity-context-logs par le nom de votre bucket (unique au niveau mondial).
    • Remplacez us-central1 par la région de votre choix (par exemple, us-central1 ou europe-west1).

Exporter les journaux de contexte Cloud Identity vers GCS

Les journaux de contexte Cloud Identity sont collectés dans Cloud Logging. Pour les exporter vers GCS, créez un récepteur Cloud Logging :

  1. Accédez à la console Google Cloud.
  2. Sélectionnez votre projet.
  3. Accédez à Logging > Routeur de journaux.
  4. Cliquez sur Créer un récepteur.
  5. Saisissez les informations suivantes :

    • Nom du récepteur : cloud-identity-context-sink
    • Description du récepteur : description facultative
    • Cliquez sur Suivant.
  6. Dans la section Sélectionner le service de récepteur :

    • Sélectionnez Bucket Cloud Storage comme service de récepteur.
    • Sélectionnez le bucket que vous avez créé précédemment.
    • Cliquez sur Suivant.
  7. Dans la section Sélectionner les journaux à inclure dans le récepteur, utilisez le filtre suivant :

        resource.type="audited_resource"
        protoPayload.serviceName="cloudidentity.googleapis.com"
    
  8. Cliquez sur Suivant.

  9. Vérifiez la configuration de votre récepteur, puis cliquez sur Créer un récepteur.

  10. Copiez le compte de service affiché dans le message de confirmation (par exemple, service-PROJECT_NUMBER@gcp-sa-logging.iam.gserviceaccount.com).

  11. Accédez à Cloud Storage > Buckets.

  12. Sélectionnez votre bucket.

  13. Accédez à l'onglet Autorisations.

  14. Cliquez sur Accorder l'accès.

  15. Collez l'adresse e-mail du compte de service de l'étape 9.

  16. Attribuez le rôle Créateur d'objets Storage.

  17. Cliquez sur Enregistrer.

Récupérer le compte de service Google SecOps

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Ajouter un flux.
  3. Sélectionnez Google Cloud Storage V2 comme Type de source.
  4. Cliquez sur Obtenir un compte de service.
  5. Une adresse e-mail de compte de service unique s'affiche, par exemple :

        chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  6. Copiez cette adresse e-mail. Vous en aurez besoin lors de la tâche suivante.

Accorder des autorisations IAM au compte de service Google SecOps

Utiliser la console Google Cloud

  1. Accédez à Cloud Storage > Buckets.
  2. Cliquez sur le nom du bucket.
  3. Accédez à l'onglet Autorisations.
  4. Cliquez sur Accorder l'accès.
  5. Fournissez les informations de configuration suivantes :
    • Ajouter des comptes principaux : collez l'adresse e-mail du compte de service Google SecOps.
    • Attribuer des rôles : sélectionnez Lecteur d'objets Storage.
  6. Cliquez sur Enregistrer.

Utiliser l'outil de ligne de commande gcloud

  • Exécutez la commande suivante :

      gcloud storage buckets add-iam-policy-binding gs://cloud-identity-context-logs \
        --member="serviceAccount:<SECOPS_SERVICE_ACCOUNT_EMAIL>" \
        --role="roles/storage.objectViewer"
    

    Remplacez :

    • cloud-identity-context-logs : avec le nom de votre bucket.
    • <SECOPS_SERVICE_ACCOUNT_EMAIL> : avec l'adresse e-mail du compte de service Google SecOps.

Configurer un flux dans Google SecOps pour ingérer les journaux de contexte Cloud Identity

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Ajouter un flux.
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Cloud Identity Context Logs).
  5. Sélectionnez Google Cloud Storage V2 comme Type de source.
  6. Sélectionnez Contexte d'identité Google Cloud comme type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • URI du bucket de stockage : saisissez l'URI du bucket GCS :

        gs://cloud-identity-context-logs/
      
    • Option de suppression de la source : sélectionnez l'option de suppression de votre choix :

      • Ne jamais supprimer les fichiers : ne supprime jamais aucun fichier après le transfert.
      • Supprimer les fichiers transférés et les répertoires vides : supprime les fichiers et les répertoires vides une fois le transfert réussi.
    • Âge maximal des fichiers (en jours) : incluez les fichiers modifiés au cours des derniers jours. La valeur par défaut est 180.

    • Espace de noms de l'élément : espace de noms de l'élément.

    • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.

  9. Cliquez sur Suivant.

  10. Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.

Pour en savoir plus sur les flux Google Security Operations, consultez la documentation sur les flux Google Security Operations. Pour en savoir plus sur les exigences de chaque type de flux, consultez Configuration des flux par type.

Si vous rencontrez des problèmes lors de la création de flux, contactez l'assistance Google Security Operations.

Référence du mappage de champs

L'analyseur de contexte Cloud Identity extrait les informations d'identité des utilisateurs et des appareils de Google Cloud Identity, y compris les attributs utilisateur, les adresses e-mail, les appartenances aux groupes, les chemins d'unité organisationnelle et les données de posture des appareils. Il mappe ces champs au modèle UDM entity avec le type d'entité USER.

Table de mappage UDM

Champ de journal Mappage UDM Logique
product_object_id entity.asset.product_object_id Mappé directement
data.protoPayload.requestMetadata.callerIp entity.ip Fusionné
authorizationInfodata_granted_label entity.labels Fusionné
authorizationInfodata_permission_label entity.labels Fusionné
authorizationInfodata_resource_label entity.labels Fusionné
data_logname_label entity.labels Fusionné
field_ entity.labels Fusionné
referencedTables_datasetId_label entity.labels Fusionné
referencedTables_projectId_label entity.labels Fusionné
referencedTables_tableId_label entity.labels Fusionné
referencedViews_datasetId_label entity.labels Fusionné
referencedViews_projectId_label entity.labels Fusionné
referencedViews_tableId_label entity.labels Fusionné
value entity.location.country_or_region Mappé directement
data.protoPayload.resourceName entity.resource.name Mappé directement
company_name entity.user.company_name Renommé/Mappé
depart entity.user.department Fusionné
organisation entity.user.department Fusionné
alias entity.user.email_addresses Fusionné
data.protoPayload.authenticationInfo.principalEmail entity.user.email_addresses Fusionné
email entity.user.email_addresses Fusionné
emails entity.user.email_addresses Fusionné
primaryEmail entity.user.email_addresses Fusionné
employeeId entity.user.employee_id Mappé directement
employee_id entity.user.employee_id Mappé directement
ext.value entity.user.employee_id Mappé directement
first_name entity.user.first_name Mappé directement
givenName entity.user.first_name Mappé directement
name.givenName entity.user.first_name Mappé directement
orgUnitPath entity.user.group_identifiers Fusionné
familyName entity.user.last_name Mappé directement
last_name entity.user.last_name Mappé directement
name.familyName entity.user.last_name Mappé directement
office_address.country_or_region entity.user.office_address.country_or_region Mappé directement
office_address.state entity.user.office_address.state Mappé directement
number entity.user.phone_numbers Fusionné
data.insertId entity.user.product_object_id Mappé directement
id entity.user.product_object_id Mappé directement
title entity.user.title Mappé directement
familyName entity.user.user_display_name Mappé directement
givenName entity.user.user_display_name Mappé directement
name.fullName entity.user.user_display_name Mappé directement
user_display_name entity.user.user_display_name Mappé directement
data.insertId entity.user.userid Mappé directement
userid entity.user.userid Mappé directement
windows_sid entity.user.windows_sid Mappé directement
value metadata.event_timestamp Analysé en tant que ISO8601
N/A metadata.description Constante : From BigQuery
N/A metadata.entity_type Constante : USER
N/A metadata.product_entity_id Constante : unknown
N/A metadata.product_name Constante : Cloud Identity
N/A metadata.vendor_name Constante : Google

Journal des modifications

Afficher le journal des modifications pour ce parseur

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