Raccogliere i log di analisi di Cloud Identity and Access Management (IAM)
Questo documento spiega come esportare ed eseguire l'importazione dei log di analisi IAM di Cloud in Google Security Operations utilizzando Cloud Storage. Il parser estrae le informazioni sugli utenti e sulle risorse dai Google Cloud dati JSON IAM. Poi mappa i campi estratti all'UDM, creando entità utente con ruoli e relazioni con le risorse associati, arricchendo così il contesto di sicurezza all'interno della piattaforma Google SecOps.
Prima di iniziare
- Assicurati di avere un'istanza Google SecOps.
- Assicurati che l' Google Cloud IAM sia configurata e attiva nel tuo Google Cloud ambiente.
- Assicurati di disporre dell'accesso privilegiato a Google Cloud e delle autorizzazioni appropriate per accedere ai log IAM.
Crea un bucket Cloud Storage
- Accedi alla console Google Cloud.
Vai alla pagina Bucket Cloud Storage.
Fai clic su Crea.
Nella pagina Crea un bucket, inserisci le informazioni del bucket. Dopo ogni passaggio che segue, fai clic su Continua per passare al passaggio successivo:
Nella sezione Inizia:
- Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket, ad esempio google-cloud-iam-logs.
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.
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 verranno archiviati in modo permanente i dati degli oggetti all'interno del bucket.
Per configurare la replica tra bucket, espandi la sezione Configura la replica tra bucket.
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.
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 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.
Fai clic su Crea.
Configura l' Google Cloud esportazione dei log di analisi IAM
- Accedi alla console Google 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
IAM-Analysis-Sink
. - Destinazione della destinazione: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio
gs://gcp-iam-analysis-logs
. Filtro log:
logName="*iam*" resource.type="gce_instance"
Configura le autorizzazioni per Cloud Storage
- Nome sink: inserisci un nome significativo, ad esempio
Vai a IAM e amministrazione > IAM.
Individua l'account di servizio Cloud Logging.
Concedi il ruolo roles/storage.admin al bucket.
Configura un feed in Google SecOps per importare i Google Cloud log di analisi IAM
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Google Cloud Log di analisi IAM.
- Seleziona Google Cloud Storage come Tipo di origine.
- Seleziona Analisi IAM di Google Cloud come Tipo di log.
- Fai clic su Ottieni account di servizio accanto al campo Account di servizio Chronicle.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- URI del bucket di archiviazione: URL del bucket Cloud Storage, ad esempio
gs://gcp-iam-analysis-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.
- URI del bucket di archiviazione: URL del bucket Cloud Storage, ad esempio
Fai clic su Avanti.
Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
accessControlLists.accesses.permission | relations.entity.resource.attribute.permissions.name | Direttamente dal campo accessControlLists.accesses.permission nel log non elaborato. |
attachedResourceFullName | relations.entity.resource.name | Direttamente dal campo attachedResourceFullName nel log non elaborato, ma con i nomi delle risorse finali rimossi. |
relations.entity.resource.attribute.cloud.environment | Impostato su GOOGLE_CLOUD_PLATFORM . |
|
relations.entity.resource.product_object_id | Per STORAGE_BUCKET, direttamente dal campo attachedResourceFullName nel log non elaborato, ma con i nomi delle risorse finali rimossi. Per i set di dati BigQuery, è projectName (estratto da attachedResourceFullName ) seguito da due punti e dal campo datasetName (estratto da attachedResourceFullName ). |
|
relations.entity.resource.resource_type | Determinato dal pattern del campo attachedResourceFullName nel log non elaborato. |
|
relations.entity_type | Impostato su RESOURCE , tranne per SERVICE_ACCOUNT, dove è impostato su USER . |
|
relations.relationship | Impostato su MEMBER . |
|
metadata.collected_timestamp | Direttamente dal campo timestamp nel log non elaborato. |
|
metadata.entity_type | Imposta su USER . |
|
metadata.product_name | Impostato su GCP IAM ANALYSIS . |
|
metadata.vendor_name | Imposta su Google Cloud Platform . |
|
iamBinding.role | entity.user.attribute.roles.name | Direttamente dal campo iamBinding.role nel log non elaborato. |
identityList.identities.name | entity.user.attribute.roles.type | Impostato su SERVICE_ACCOUNT se il campo identityList.identities.name contiene la stringa serviceAccount . |
entity.user.email_addresses | Se il campo identityList.identities.name contiene un simbolo @ , viene trattato come un indirizzo email. |
|
entity.user.userid | Se il campo identityList.identities.name non contiene un simbolo @ , viene considerato un ID utente. |
|
identityList.identities.product_object_id | entity.user.product_object_id | Direttamente dal campo identityList.identities.product_object_id nel log non elaborato. |
timestamp | timestamp | Direttamente dal campo timestamp nel log non elaborato. |
Modifiche
2023-02-27
Correzione di bug:
- È stata rimossa la mappatura del campo
iamBinding.members
aentity.user.group_identifiers
.
2022-12-28
Miglioramento:
- È stato mappato il campo
iamBinding.role
aentity.user.attribute.role.name
. - È stato mappato il campo
iamBinding.members
aentity.user.group_identifiers
.
2022-07-27
Miglioramento:
- È stata rimossa la mappatura di
identity.product_object_id
, che era associata aevent.idm.entity.entity.user.userid
.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.