Raccogliere i log degli utenti dei dispositivi Cloud Identity
Questo documento spiega come esportare i log degli utenti dei dispositivi Cloud Identity in Google Security Operations utilizzando Cloud Storage. Il parser estrae innanzitutto i dati dai log Cloud Identity Device Users
in formato JSON e trasforma il timestamp nel formato standardizzato. Poi, mappa campi specifici dei dati dei log non elaborati ai campi corrispondenti nel modello UDM (Unified Data Model) per le entità utente, le loro relazioni con gli asset e attributi utente aggiuntivi come gli stati di gestione e password.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Google Cloud Identity è abilitato nel tuo progetto Google Cloud .
- Istanza Google SecOps.
- Accesso privilegiato a Google Cloud Identity e Cloud Logging.
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:
- Inserisci un nome univoco che soddisfi i requisiti per i nomi dei bucket, ad esempio gcp-cloudidentity-users-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 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 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, deseleziona Applica 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.
Configurare l'esportazione dei log degli utenti dei dispositivi Cloud Identity
- 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
Cloudidentity-Users-Sink
. - Destinazione sink: seleziona Cloud Storage e inserisci l'URI del bucket, ad esempio
gs://gcp-cloudidentity-users-logs
. Filtro log:
logName="projects/<your-project-id>/logs/cloudaudit.googleapis.com%2Factivity" resource.type="cloud_identity_user"
Imposta opzioni di esportazione: includi tutte le voci di log.
- 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 l'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
- Hub dei contenuti > Pacchetti di contenuti
Configura i feed da Impostazioni SIEM > Feed
Per configurare un feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed, ad esempio Log DU di Cloud Identity.
- Seleziona API di terze parti come Tipo di origine.
- Seleziona Utenti di dispositivi Cloud Identity GCP come Tipo di log.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- Endpoint JWT OAuth: endpoint per recuperare il token JWT (JSON Web Token) OAuth.
- Emittente delle attestazioni JWT: di solito l'ID client.
- Oggetto delle attestazioni JWT: in genere un indirizzo email.
- Pubblico delle attestazioni JWT: pubblico delle attestazioni JWT.
- Chiave privata RSA: inserisci in formato PEM.
- Fai clic su Avanti.
- Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- URI bucket di archiviazione: URL del bucket Cloud Storage, ad esempio
gs://gcp-cloudidentity-users-logs
. - URI Is A: seleziona Directory which includes subdirectories (Directory che include sottodirectory).
Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
collection_time.nanos | timestamp.nanos | Mappato direttamente dal campo log. Rappresenta il timestamp dell'evento in nanosecondi. |
collection_time.seconds | timestamp.seconds | Mappato direttamente dal campo log. Rappresenta il timestamp dell'evento in secondi. |
Ora di creazione | entity.metadata.creation_timestamp | Mappato direttamente dal campo del log dopo l'analisi del filtro date . Rappresenta il timestamp di creazione dell'utente. |
managementState | entity.additional.fields.value.string_value | Mappato direttamente dal campo log. Rappresenta lo stato di gestione dell'utente. |
nome | entity.entity.resource.name | Mappato direttamente dal campo log. Rappresenta il nome completo della risorsa dell'utente del dispositivo. |
passwordState | entity.additional.fields.value.string_value | Mappato direttamente dal campo log. Rappresenta lo stato della password dell'utente. Questo campo viene mappato solo se il campo passwordState esiste nel log non elaborato. |
userEmail | entity.entity.user.email_addresses | Mappato direttamente dal campo log. Rappresenta l'indirizzo email dell'utente. |
entity.additional.fields.key | Imposta un valore costante Management State all'interno del parser. Questo campo viene utilizzato per fornire il contesto al valore managementState . |
|
entity.additional.fields.key | Imposta un valore costante Password State all'interno del parser. Questo campo viene utilizzato per fornire il contesto al valore passwordState ed è presente solo se passwordState esiste nel log non elaborato. |
|
entity.entity.user.product_object_id | Estratto dal campo name utilizzando il filtro grok , acquisendo la parte deviceuser_id . Rappresenta l'identificatore univoco dell'utente del dispositivo. |
|
entity.metadata.collected_timestamp.nanos | Copiato da collection_time.nanos . Rappresenta il timestamp di raccolta del log. |
|
entity.metadata.collected_timestamp.seconds | Copiato da collection_time.seconds . Rappresenta il timestamp di raccolta del log. |
|
entity.metadata.entity_type | Imposta un valore costante USER all'interno del parser. |
|
entity.metadata.product_name | Imposta un valore costante GCP Cloud Identity Device Users all'interno del parser. |
|
entity.metadata.vendor_name | Imposta un valore costante Google Cloud Platform all'interno del parser. |
|
relations.entity.asset.product_object_id | Estratto dal campo name utilizzando il filtro grok , acquisendo la parte device_id . Rappresenta l'identificatore univoco del dispositivo. |
|
relations.entity_type | Imposta un valore costante ASSET all'interno del parser. |
|
relations.relationship | Imposta un valore costante MEMBER all'interno del parser. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.