Raccogliere i log del contesto di Cloud Storage

Supportato in:

Questo documento spiega come esportare ed eseguire l'importazione dei log di contesto di Cloud Storage in Google Security Operations utilizzando Cloud Storage. Lo scanner ripulisce e struttura i dati JSON in entrata dai log di Cloud Storage. Poi mappa i campi pertinenti al modello di dati unificato (UDM), arricchendo i dati con etichette e metadati per una rappresentazione e un'analisi coerenti all'interno dell'ecosistema di sicurezza.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati che Cloud Storage sia configurato e attivo nel tuo Google Cloud ambiente.
  • Assicurati di disporre dell'accesso privilegiato a Google Cloud e delle autorizzazioni appropriate.

Crea un bucket Cloud Storage

  1. Accedi alla console Google Cloud.
  2. Vai alla pagina Bucket Cloud Storage.

    Vai a Bucket

  3. Fai clic su Crea.

  4. Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio che segue, fai clic su Continua per passare al passaggio successivo:

    1. Nella sezione Inizia:

      1. Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket, ad esempio google-storage-context-logs.
      2. Per attivare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per i workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita uno spazio dei nomi gerarchico in questo bucket.

      3. Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.

      4. Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.

    2. Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:

      1. Seleziona un Tipo di località.
      2. Utilizza il menu del tipo di località per selezionare una Località in cui verranno archiviati in modo permanente i dati degli oggetti all'interno del bucket.

      3. Per configurare la replica tra bucket, espandi la sezione Configura la replica tra bucket.

    3. Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket o Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.

    4. Nella sezione Scegli come controllare l'accesso agli oggetti, seleziona no per applicare la prevenzione dell'accesso pubblico e seleziona un modello di controllo dell'accesso per gli oggetti del bucket.

    5. Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:

      1. Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
      2. Per scegliere la modalità di crittografia dei dati degli oggetti, fai clic sulla freccia di espansione etichettata Crittografia dei dati e seleziona un Metodo di crittografia dei dati.
  5. Fai clic su Crea.

Configurare l'esportazione dei log di contesto di Cloud Storage

  1. Accedi alla console Google Cloud.
  2. Vai a Logging > Router dei log.
  3. Fai clic su Crea sink.
  4. Fornisci i seguenti parametri di configurazione:

    • Nome sink: inserisci un nome significativo, ad esempio Storage-Context-Sink.
    • Destinazione della destinazione: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio gs://google-storage-context-logs.
    • Filtro log:

      logName="*storage*"
      resource.type="gcs_bucket"
      
  5. Fai clic su Crea.

Configura le autorizzazioni per Cloud Storage

  1. Vai a IAM e amministrazione > IAM.
  2. Individua l'account di servizio Cloud Logging.
  3. Concedi il ruolo roles/storage.admin al bucket.

Configurare un feed in Google SecOps per importare i log di contesto di Cloud Storage

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed, ad esempio Log del contesto Cloud Storage.
  4. Seleziona Google Cloud Storage come Tipo di origine.
  5. Seleziona Contesto Google Cloud Storage di Google Cloud come Tipo di log.
  6. Fai clic su Ottieni account di servizio accanto al campo Account di servizio Chronicle.
  7. Fai clic su Avanti.
  8. Specifica i valori per i seguenti parametri di input:

    • URI del bucket di archiviazione: URL del bucket Cloud Storage, ad esempio gs://google-storage-context-logs.
    • URI è: seleziona Directory che include sottodirectory.
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.

    • Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.

    • Etichette di importazione: l'etichetta applicata agli eventi di questo feed.

  9. Fai clic su Avanti.

  10. Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
antenati event.idm.entity.entity.resource.attribute.labels.value Il valore dell'antenato viene estratto dall'array degli antenati nel log non elaborato.
assetType event.idm.entity.entity.resource.type Mappato direttamente dal campo assetType nel log non elaborato.
insertId event.idm.entity.metadata.product_entity_id Mappato direttamente dal campo insertId nel log non elaborato.
labels.compute.googleapis.com/resource_name event.idm.entity.entity.resource.name Mappato direttamente dal campo labels.compute.googleapis.com/resource_name nel log non elaborato.
labels.k8s-pod/controller-revision-hash event.idm.entity.entity.file.sha1 Mappato direttamente dal campo labels.k8s-pod/controller-revision-hash nel log non elaborato.
labels.k8s-pod/name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo labels.k8s-pod/name nel log non elaborato.
labels.k8s-pod/pod-template-generation event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo labels.k8s-pod/pod-template-generation nel log non elaborato.
logName event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo logName nel log non elaborato.
nome event.idm.entity.entity.resource.name Mappato direttamente dal campo del nome nel log non elaborato.
receiveTimestamp event.idm.entity.entity.resource.attribute.creation_time Convertito in formato timestamp dal campo receiveTimestamp nel log non elaborato.
resource.data.iamConfiguration.publicAccessPrevention event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.iamConfiguration.publicAccessPrevention nel log non elaborato.
resource.data.id event.idm.entity.entity.resource.product_object_id Mappato direttamente dal campo resource.data.id nel log non elaborato.
resource.data.kind event.idm.entity.entity.resource.type Mappato direttamente dal campo resource.data.kind nel log non elaborato.
resource.data.labels.app_id event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.app_id nel log non elaborato.
resource.data.labels.app_name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.app_name nel log non elaborato.
resource.data.labels.bucket_id event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.bucket_id nel log non elaborato.
resource.data.labels.data_classification event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.data_classification nel log non elaborato.
resource.data.labels.dept_name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.dept_name nel log non elaborato.
resource.data.labels.dept_no event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.dept_no nel log non elaborato.
resource.data.labels.environment event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.environment nel log non elaborato.
resource.data.labels.goog-composer-environment event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.goog-composer-environment nel log non elaborato.
resource.data.labels.goog-composer-location event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.goog-composer-location nel log non elaborato.
resource.data.labels.goog-composer-version event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.goog-composer-version nel log non elaborato.
resource.data.labels.technical_contact event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.technical_contact nel log non elaborato.
resource.data.labels.type event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.data.labels.type nel log non elaborato.
resource.data.location event.idm.entity.entity.location.name Mappato direttamente dal campo resource.data.location nel log non elaborato.
resource.data.projectNumber event.idm.entity.entity.resource.attribute.cloud.project.id Mappato direttamente dal campo resource.data.projectNumber nel log non elaborato.
resource.data.selfLink event.idm.entity.entity.url Mappato direttamente dal campo resource.data.selfLink nel log non elaborato.
resource.data.timeCreated event.idm.entity.entity.resource.attribute.creation_time Convertito in formato timestamp dal campo resource.data.timeCreated nel log non elaborato.
resource.data.updated event.idm.entity.entity.resource.attribute.last_update_time Convertito in formato timestamp dal campo resource.data.updated nel log non elaborato.
resource.discoveryDocumentUri event.idm.entity.entity.file.full_path Mappato direttamente dal campo resource.discoveryDocumentUri nel log non elaborato.
resource.labels.cluster_name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.labels.cluster_name nel log non elaborato.
resource.labels.container_name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.labels.container_name nel log non elaborato.
resource.labels.location event.idm.entity.entity.location.name Mappato direttamente dal campo resource.labels.location nel log non elaborato.
resource.labels.namespace_name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.labels.namespace_name nel log non elaborato.
resource.labels.pod_name event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.labels.pod_name nel log non elaborato.
resource.labels.project_id event.idm.entity.entity.resource.attribute.cloud.project.id Mappato direttamente dal campo resource.labels.project_id nel log non elaborato.
resource.parent event.idm.entity.entity.resource.parent Mappato direttamente dal campo resource.parent nel log non elaborato.
resource.type event.idm.entity.entity.resource.type Mappato direttamente dal campo resource.type nel log non elaborato.
resource.version event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo resource.version nel log non elaborato.
textPayload event.idm.entity.entity.resource.attribute.labels.value Mappato direttamente dal campo textPayload nel log non elaborato.
N/D event.idm.entity.metadata.collected_timestamp Il timestamp raccolto è il timestamp della voce di log.
N/D event.idm.entity.metadata.entity_type Hardcoded a RESOURCE.
N/D event.idm.entity.metadata.product_name Hardcoded a GCP Storage Context.
N/D event.idm.entity.metadata.vendor_name Hardcoded a Google Cloud Platform.
N/D event.idm.entity.entity.resource.attribute.cloud.environment Hardcoded a GOOGLE_CLOUD_PLATFORM.
N/D event.idm.entity.entity.resource.resource_type Hardcoded a STORAGE_BUCKET.
N/D event.timestamp Il timestamp dell'evento è il timestamp della voce di log.

Modifiche

2024-05-28

Miglioramento:

  • Sono stati gestiti i log JSON non analizzati.

2023-04-13

Miglioramento:

  • resource.data.iamConfiguration.publicAccessPrevention e resource.version sono stati mappati a entity.resource.attribute.label.
  • resource.discoveryDocumentUri è stato mappato a entity.file.full_path.

2022-12-07

Correzione di bug:

  • La mappatura di resource.data.timeCreated è stata modificata da event.timestamp a entity.resource.attribute.creation_time.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.