Raccogliere i log di contesto di Cloud Storage
Questo documento spiega come esportare e importare i log di contesto di Cloud Storage in Google Security Operations utilizzando Cloud Storage. Il parser pulisce e struttura i dati JSON in entrata dai log di Cloud Storage. Poi, mappa i campi pertinenti al modello unificato dei dati (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 soddisfare i seguenti prerequisiti:
- Istanza Google SecOps.
- Cloud Storage è configurato e attivo nel tuo ambiente Google Cloud .
- Accesso privilegiato a Google Cloud e autorizzazioni appropriate.
Crea un bucket Cloud Storage
- Accedi alla consoleGoogle Cloud .
Vai alla pagina Bucket Cloud Storage.
Fai clic su Crea.
Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio riportato di seguito, fai clic su Continua per passare al passaggio successivo:
Nella sezione Inizia, segui questi passaggi:
- Inserisci un nome univoco che soddisfi i requisiti del nome del bucket, ad esempio google-storage-context-logs.
Per attivare lo spazio dei nomi gerarchico, fai clic sulla freccia di espansione per espandere la sezione Ottimizza per workload orientati ai file e con uso intensivo dei dati, poi seleziona Abilita spazio dei nomi gerarchico in questo bucket.
Per aggiungere un'etichetta del bucket, fai clic sulla freccia di espansione per espandere la sezione Etichette.
Fai clic su Aggiungi etichetta e specifica una chiave e un valore per l'etichetta.
Nella sezione Scegli dove archiviare i tuoi dati, segui questi passaggi:
- Seleziona un Tipo di località.
Utilizza il menu del tipo di località per selezionare una Località in cui i dati degli oggetti all'interno del bucket verranno archiviati in modo permanente.
Per configurare la replica tra bucket, espandi la sezione Configura replica tra bucket.
Nella sezione Scegli una classe di archiviazione per i tuoi dati, seleziona una classe di archiviazione predefinita per il bucket oppure Autoclass per la gestione automatica della classe di archiviazione dei dati del bucket.
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.
Nella sezione Scegli come proteggere i dati degli oggetti, segui questi passaggi:
- Seleziona una delle opzioni in Protezione dei dati che vuoi impostare per il bucket.
- Per scegliere come criptare i dati degli oggetti, fai clic sulla freccia di espansione con l'etichetta Crittografia dei dati e seleziona un Metodo di crittografia dei dati.
Fai clic su Crea.
Configura l'esportazione dei log di contesto di Cloud Storage
- Accedi alla consoleGoogle Cloud .
- Vai a Logging > Router dei log.
- Fai clic su Crea sink.
Fornisci i seguenti parametri di configurazione:
- Nome sink: inserisci un nome significativo, ad esempio
Storage-Context-Sink
. - Destinazione sink: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio
gs://google-storage-context-logs/
. Filtro log:
logName="*storage*" resource.type="gcs_bucket"
- Nome sink: inserisci un nome significativo, ad esempio
Fai clic su Crea.
Configura le autorizzazioni per Cloud Storage
- Vai a IAM e amministrazione > IAM.
- Individua il account di servizio Cloud Logging.
- Concedi il ruolo roles/storage.admin sul bucket.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed > Aggiungi nuovo feed
- Hub dei contenuti > Pacchetti di contenuti > Inizia
Come configurare il feed contestuale di Cloud Storage
- Fai clic sul pacchetto Google Cloud Compute platform.
- Individua il tipo di log Contesto Google Cloud Storage di GCP e fai clic su Aggiungi nuovo feed.
Specifica i valori per i seguenti campi:
- Tipo di origine: Google Cloud Storage V2.
- URI bucket di archiviazione: URL del bucket Cloud Storage, ad esempio
gs://compute-context-logs/
. Questo URL deve terminare con una barra (/). - Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
- Età massima del file: includi i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
- Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
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 nel 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 nel formato timestamp dal campo resource.data.timeCreated nel log non elaborato. |
resource.data.updated | event.idm.entity.entity.resource.attribute.last_update_time | Convertito nel 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 | Codificato in modo permanente su RESOURCE . |
N/D | event.idm.entity.metadata.product_name | Codificato in modo permanente su GCP Storage Context . |
N/D | event.idm.entity.metadata.vendor_name | Codificato in modo permanente su Google Cloud Platform . |
N/D | event.idm.entity.entity.resource.attribute.cloud.environment | Codificato in modo permanente su GOOGLE_CLOUD_PLATFORM . |
N/D | event.idm.entity.entity.resource.resource_type | Codificato in modo permanente su STORAGE_BUCKET . |
N/D | event.timestamp | Il timestamp evento è il timestamp della voce di log. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.