Integra Cloud Logging con Google SecOps
Questo documento spiega come integrare Cloud Logging con Google Security Operations.
Casi d'uso
L'integrazione Cloud Logging utilizza le funzionalità di Google SecOps per supportare i seguenti casi d'uso:
Recupero dei log forensici: esegui query avanzate per trovare eventi di sicurezza specifici nel tuo ambiente durante un'indagine. Google Cloud
Ricerca automatica delle minacce: utilizza i playbook per eseguire periodicamente query sui log per indicatori di compromissione (IoC) noti o pattern sospetti.
Prima di iniziare
Prima di configurare l'integrazione Cloud Logging in Google SecOps, completa i seguenti passaggi preliminari:
Crea un account di servizio e concedigli i ruoli necessari.
Scegli e configura uno dei seguenti metodi di autenticazione:
Opzione 1: Workload Identity (consigliata): questo metodo utilizza token di accesso temporanei di breve durata tramite la rappresentazione dell'account di servizio, quindi non è necessario archiviare i secret.
Opzione 2: chiave JSON dell'account di servizio: questo metodo si basa su un file di chiavi secret statico e di lunga durata. Utilizza questo metodo solo se l'autenticazione Workload Identity non è disponibile nel tuo ambiente.
Crea un account di servizio
Per creare un account di servizio per l'integrazione, completa i seguenti passaggi:
Nella Google Cloud console, vai a IAM e amministrazione > Account di servizio.
Fai clic su addCrea account di servizio.
Fornisci un nome (ad es. "Integrazione di Cloud Logging con SecOps") e una descrizione, quindi fai clic su Crea e continua.
Nel passaggio Concedi a questo account di servizio l'accesso al progetto, aggiungi il ruolo Visualizzatore log (
roles/logging.viewer).Fai clic su Fine. L'indirizzo email di questo account di servizio viene utilizzato durante la configurazione.
Configura le credenziali di Workload Identity
Scegli questo metodo o il metodo della chiave JSON per autenticare l'integrazione. L'utilizzo di Workload Identity è l'approccio consigliato perché utilizza
token di accesso temporanei di breve durata tramite la simulazione dell'identità dei account di servizio.
Identifica l'identità univoca dell'istanza
La concessione all'istanza Google SecOps dell'autorizzazione a rappresentare il tuo account di servizio è l'ultimo passaggio per proteggere l'accesso.
In Google SecOps, vai a Content Hub > Integrazioni di risposta.
Cerca e seleziona l'integrazione Cloud Logging e inserisci l'indirizzo email del tuo account di servizio in Email di Workload Identity.
Inserisci un ID progetto valido in ID progetto quota.
Fai clic su Salva > Test. È previsto che il test non vada a buon fine.
Fai clic sul pulsante close_small accanto a Test e individua l'indirizzo email dell'identità che inizia con
gke-init-python@...osoar-python@....Copia questo indirizzo email univoco e incollalo in
Workload Identity Emaildurante la configurazione dell'integrazione.
Autorizza l'identità dell'istanza in Google Cloud
L'autorizzazione dell'identità univoca recuperata consente la simulazione dell'identità dei account di servizio, consentendo alla piattaforma di agire per tuo conto senza chiavi statiche.
Nella Google Cloud console, vai a IAM e amministrazione > Account di servizio.
Seleziona l'account di servizio di destinazione e vai a Autorizzazioni > Concedi accesso.
Incolla l'indirizzo email univoco nel campo Nuove entità.
Assegna il ruolo Creatore token account di servizio (
roles/iam.serviceAccountTokenCreator).
Concedi l'accesso al progetto quota
L'autenticazione con Workload Identity richiede un Quota Project ID per monitorare l'utilizzo e la fatturazione dell'API.
Nella Google Cloud console, vai a IAM e amministrazione > IAM e seleziona il progetto utilizzato per l'ID progetto quota.
Individua il tuo account di servizio e fai clic su Modifica entità.
Fai clic su Aggiungi un altro ruolo e seleziona Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer).Fai clic su Salva.
Configura una chiave JSON
I file di chiavi secret statici e di lunga durata richiedono la gestione manuale. Questo metodo deve essere utilizzato solo se le credenziali di Workload Identity non sono disponibili.
Nella Google Cloud console, vai a IAM e amministrazione > Account di servizio e seleziona il tuo account di servizio.
Vai alla scheda Chiavi e fai clic su Aggiungi chiave > Crea nuova chiave.
Seleziona JSON come tipo di chiave e fai clic su Crea.
Copia l'intero contenuto del file scaricato e incollalo in
User's Service Accountdurante la configurazione.
Parametri di integrazione
L'integrazione Cloud Logging richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
API Root |
Facoltativo. L'URL di base per l'API Cloud Logging (ad es.
|
User's Service Account |
Facoltativo. L'intero contenuto del file JSON della chiave dell'account di servizio. Utilizza questo parametro solo se esegui l'autenticazione utilizzando una chiave JSON. |
Workload Identity Email |
Facoltativo. L'indirizzo email del client del tuo account di servizio. Utilizza questo parametro solo se esegui l'autenticazione utilizzando le credenziali di Workload Identity |
Project ID |
Facoltativo. L'ID progetto da utilizzare nell'integrazione. Se non viene fornito alcun valore, l'integrazione recupera l'ID dalle credenziali del account di servizio. |
Quota Project ID |
Facoltativo. L'ID progetto utilizzato per l'utilizzo e la fatturazione dell'API. Questo parametro è obbligatorio quando si esegue l'autenticazione utilizzando le credenziali di Workload Identity. |
Organization ID |
Facoltativo. L'ID organizzazione utilizzato per definire l'ambito delle query. |
Verify SSL |
Facoltativo. Se selezionata, l'integrazione convalida il certificato SSL quando si connette al server di Cloud Logging. Abilitato per impostazione predefinita. |
Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.
Se necessario, puoi apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supportare più istanze.
Azioni
Per saperne di più sulle azioni, consulta Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un' azione manuale.
Esegui query
Utilizza l'azione Esegui query per eseguire query personalizzate in Cloud Logging.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
L'azione Esegui query richiede i seguenti parametri:
| Parametro | Descrizione |
|---|---|
Project ID |
Facoltativo L'ID progetto da utilizzare nell'integrazione. Se non imposti un valore per questo parametro, l'integrazione recupera l'ID progetto dal tuo Google Cloud account di servizio. |
Organization ID |
Facoltativo L'ID organizzazione da utilizzare nell'integrazione. Se non imposti un valore per questo parametro, l'integrazione recupera l'ID progetto dal tuo Google Cloud account di servizio. |
Query |
Obbligatorio Una query per trovare i log. |
Time Frame |
Facoltativo Un periodo da cui recuperare i risultati. Se selezioni I valori possibili sono i seguenti:
Last Hour. |
Start Time |
Facoltativo L'ora di inizio per recuperare i risultati. Questo parametro è obbligatorio se hai selezionato l'opzione Per configurare questo parametro, utilizza il formato ISO 8601. |
End Time |
Facoltativo L'ora di fine per recuperare i risultati. Se non imposti un valore per questo parametro e selezioni l'opzione Per configurare questo parametro, utilizza il formato ISO 8601. |
Max Results To Return |
Facoltativo Il numero massimo di risultati da restituire. Il valore predefinito è 50. |
Output azione
L'azione Esegui query fornisce i seguenti output:
| Tipo di output azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link della bacheca casi | Non disponibile |
| Tabella della bacheca casi | Non disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Disponibile |
| Messaggi di output | Disponibile |
| Risultato script | Disponibile |
Risultato JSON
L'esempio seguente descrive l'output del risultato JSON ricevuto quando si utilizza l'azione Esegui query:
[{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "system:clouddns"
},
"authorizationInfo": [
{
"granted": true,
"permission": "io.k8s.coordination.v1.leases.update",
"resource": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock"
}
],
"methodName": "io.k8s.coordination.v1.leases.update",
"requestMetadata": {
"callerIp": "192.0.2.6",
"callerSuppliedUserAgent": "clouddns-leader-election"
},
"resourceName": "coordination.k8s.io/v1/namespaces/kube-system/leases/clouddns-lock",
"serviceName": "k8s.io",
"status": {
"code": 0
}
},
"insertId": "ID",
"resource": {
"type": "k8s_cluster",
"labels": {
"cluster_name": "CLUSTER_NAME",
"project_id": "PROJECT_ID",
"location": "us-central1"
}
},
"timestamp": "2024-09-18T09:46:38.647428Z",
"labels": {
"authorization.k8s.io/reason": "RBAC: allowed by ClusterRoleBinding \"system:clouddns\" of ClusterRole \"system:clouddns-role\" to User \"system:clouddns\"",
"authorization.k8s.io/decision": "allow"
},
"logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
"operation": {
"id": "ID",
"producer": "k8s.io",
"first": true,
"last": true
},
"receiveTimestamp": "2024-09-18T09:46:39.063264993Z"
}]
Messaggi di output
L'azione Esegui query fornisce i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
|
L'azione è riuscita. |
Error executing action "Execute Query". Reason:
ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato script
La tabella seguente descrive i valori per l'output del risultato dello script quando si utilizza l'azione Esegui query:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
True o False |
Dindin
Utilizza l'azione Dindin per testare la connettività a Cloud Logging.
Questa azione non viene eseguita sulle entità Google SecOps.
Input azione
Nessuno.
Output azione
L'azione Dindin fornisce i seguenti output:
| Tipo di output azione | Disponibilità |
|---|---|
| Allegato della bacheca casi | Non disponibile |
| Link della bacheca casi | Non disponibile |
| Tabella della bacheca casi | Non disponibile |
| Tabella di arricchimento | Non disponibile |
| Risultato JSON | Non disponibile |
| Messaggi di output | Disponibile |
| Risultato script | Disponibile |
Messaggi di output
L'azione Dindin fornisce i seguenti messaggi di output:
| Messaggio di output | Descrizione del messaggio |
|---|---|
Successfully connected to the Cloud Logging server with
the provided connection parameters! |
L'azione è riuscita. |
Failed to connect to the Cloud Logging server! Error is
ERROR_REASON |
L'azione non è riuscita. Controlla la connessione al server, i parametri di input o le credenziali. |
Risultato script
La tabella seguente descrive i valori per l'output del risultato dello script quando si utilizza l'azione Dindin:
| Nome del risultato dello script | Valore |
|---|---|
is_success |
True o False |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.