Raccogli i log di IBM OpenPages
Questo documento spiega come configurare IBM OpenPages per inviare i log a Google Security Operations utilizzando i webhook.
IBM OpenPages è una piattaforma di governance, rischio e conformità (GRC) basata sull'AI che fornisce una soluzione centralizzata per la gestione di rischi, conformità normativa, audit interni, governance IT e gestione delle norme. OpenPages supporta i webhook (versione 9.1.2 e successive) che inviano notifiche di eventi in tempo reale quando gli oggetti GRC vengono creati, aggiornati, eliminati, associati o dissociati.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- IBM OpenPages supporta webhook o HTTP POST per la consegna dei log
- Accesso alla Google Cloud Console (per la creazione della chiave API)
- IBM OpenPages versione 9.1.2 o successive con accesso amministrativo
- Per i deployment on-premise e Cloud Pak for Data, RabbitMQ installato e configurato con la configurazione della connessione OpenPages a RabbitMQ
- Per i deployment SaaS, il dominio dell'endpoint webhook di Google SecOps deve essere presente nella lista consentita approvata
Crea un feed webhook in Google SecOps
Crea il feed
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed di notizie.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
IBM OpenPages Events). - Seleziona Webhook come Tipo di origine.
- Seleziona IBM OpenPages come Tipo di log.
- Fai clic su Avanti.
- Specifica i valori per i seguenti parametri di input:
- Delimitatore di suddivisione (facoltativo): inserisci
\nper suddividere gli eventi su più righe - Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed
- Delimitatore di suddivisione (facoltativo): inserisci
- Fai clic su Avanti.
- Esamina la nuova configurazione del feed di notizie nella schermata Finalizza, quindi fai clic su Invia.
Genera e salva la chiave segreta
Dopo aver creato il feed, devi generare una chiave segreta per l'autenticazione:
- Nella pagina dei dettagli del feed, fai clic su Genera chiave segreta.
- Viene visualizzata una finestra di dialogo con la chiave segreta.
- Copia e salva la chiave segreta in modo sicuro.
Recupera l'URL dell'endpoint del feed
- Vai alla scheda Dettagli del feed.
- Nella sezione Informazioni sull'endpoint, copia l'URL dell'endpoint del feed.
Il formato dell'URL è:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:importDove
{region}è la regione dell'istanza Google SecOps (ad esempio,us,europeoasia-southeast1) e{parent}è il percorso della risorsa nel formatoprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.Salva questo URL per i passaggi successivi.
Fai clic su Fine.
Crea una chiave API Google Cloud
Google SecOps richiede una chiave API per l'autenticazione. Crea una chiave API con limitazioni nella Google Cloud Console.
Crea la chiave API
- Vai alla pagina Credenziali della console Google Cloud.
- Seleziona il tuo progetto (il progetto associato alla tua istanza Google SecOps).
- Fai clic su Crea credenziali > Chiave API.
- Viene creata una chiave API e visualizzata in una finestra di dialogo.
- Fai clic su Modifica chiave API per limitare la chiave.
Limita la chiave API
- Nella pagina delle impostazioni della chiave API :
- Nome: inserisci un nome descrittivo (ad esempio,
Google SecOps Webhook API Key)
- Nome: inserisci un nome descrittivo (ad esempio,
- In Restrizioni delle API:
- Seleziona Limita chiave.
- Nel menu a discesa Seleziona API, cerca e seleziona API Google SecOps (o API Chronicle).
- Fai clic su Salva.
- Copia il valore della chiave API dal campo Chiave API nella parte superiore della pagina.
- Salva la chiave API in modo sicuro.
Configura il webhook di IBM OpenPages
Crea l'URL del webhook
Combina l'URL dell'endpoint Chronicle e la chiave API:
<ENDPOINT_URL>?key=<API_KEY>Esempio:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...
Crea un webhook in IBM OpenPages
- Accedi alla console di amministrazione IBM OpenPages come amministratore.
- Vai a Amministrazione > Integrazioni > Webhook.
- Fai clic su Crea webhook.
Fornisci i seguenti dettagli di configurazione:
URL dell'endpoint: incolla l'URL dell'endpoint completo con la chiave API riportata sopra (ad esempio,
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...).Metodo di autenticazione: seleziona Token di connessione.
Token di connessione: incolla la chiave segreta generata nel passaggio di creazione del feed Google SecOps.
Nella sezione Sottoscrizioni di eventi, seleziona i tipi di oggetti e gli eventi da monitorare:
- Tipi di oggetti: seleziona i tipi di oggetti GRC da monitorare (ad esempio,
SOXRisk,SOXIssue,SOXBusEntity,SOXControl,SOXProcess,SOXTask). - Tipi di eventi: seleziona gli eventi da inviare a Google SecOps:
- create : pubblicato quando viene creato un oggetto di un tipo sottoscritto
- update : pubblicato quando viene aggiornato un oggetto di un tipo sottoscritto (include i campi modificati)
- delete : pubblicato quando viene eliminato un oggetto di un tipo sottoscritto
- associate : pubblicato quando un oggetto è associato a un oggetto principale
- disassociate : pubblicato quando un oggetto viene rimosso da un oggetto principale
- Tipi di oggetti: seleziona i tipi di oggetti GRC da monitorare (ad esempio,
Testa e attiva il webhook
Per i deployment SaaS:
- Per prima cosa, attiva il webhook impostando l'opzione Attivata su On.
- Attendi circa 1-2 minuti per l'apertura della connessione in uscita.
- Fai clic su Verifica connessione per verificare che l'endpoint sia raggiungibile.
- Verifica che il test restituisca una risposta positiva.
Per i deployment on-premise:
- Fai clic su Verifica connessione per verificare che l'endpoint sia raggiungibile.
- Verifica che il test restituisca una risposta positiva.
- Attiva il webhook impostando l'opzione Attivata su On.
- Attendi circa 5 minuti affinché il broker di eventi recuperi la configurazione.
Formato del payload del webhook
IBM OpenPages invia gli eventi webhook come payload JSON tramite HTTP POST. Di seguito è riportato un esempio di payload webhook per un aggiornamento dell'oggetto di rischio:
{ "action": "update", "type": "GRC_OBJECT", "objectType": "SOXRisk", "message": { "event": "update", "publishedDate": "2025-09-25 02:14:26.797Z", "details": { "object_id": "9032", "object_name": "RB-01-Risk00190", "object_path": "/_op_sox/Project/Default/ICDocumentation/Risks/Global Financial Services/North America/Retail Banking/RB-01-Risk00190.txt", "updated_fields": [ "OPSS-Risk-Qual:Inherent Likelihood", "OPSS-Risk-Qual:Inherent Risk Rating", "OPSS-Risk-Quant:Inherent Frequency", "OPSS-Risk-Quant:Inherent Risk Exposure" ], "last_modification": "2025-08-30 08:58:48.000Z" }, "actor": { "iam_id": "user1@ibm.com", "user_id": "2087", "user_name": "user1" } }, "version": "9.1.2" }
Vincoli di sistema del webhook
| Vincolo | Valore |
|---|---|
| Numero massimo di webhook attivati | 50 (valore predefinito), configurabile fino a 100 tramite l'impostazione del registro /Platform/Messaging/Webhooks Limit |
| URL dell'endpoint univoco | Ogni webhook deve utilizzare un URL dell'endpoint univoco |
| TTL dell'evento nella coda | 1 giorno (gli eventi non inviati entro questo periodo vengono rimossi) |
| Ritardo di recupero del broker | 5 minuti dopo l'attivazione di un webhook |
Riferimento ai metodi di autenticazione
I feed webhook di Google SecOps supportano più metodi di autenticazione. Scegli il metodo supportato dal tuo fornitore.
Metodo 1: intestazioni personalizzate (consigliato)
Se il tuo fornitore supporta le intestazioni HTTP personalizzate, utilizza questo metodo per una maggiore sicurezza.
Formato della richiesta:
POST <ENDPOINT_URL> HTTP/1.1 Content-Type: application/json x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Vantaggi:
- La chiave API e il secret non sono visibili nell'URL
- Più sicuro (le intestazioni non vengono registrate nei log di accesso del server web)
- Metodo preferito quando il fornitore lo supporta
Metodo 2: parametri di query
Se il tuo fornitore non supporta le intestazioni personalizzate, aggiungi le credenziali all'URL.
Formato dell'URL:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>Esempio:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...Formato della richiesta:
POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1 Content-Type: application/json { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Svantaggi:
- Credenziali visibili nell'URL
- Potrebbe essere registrato nei log di accesso del server web
- Meno sicuro delle intestazioni
Metodo 3: ibrido (URL + intestazione)
Alcune configurazioni utilizzano la chiave API nell'URL e la chiave segreta nell'intestazione.
Formato della richiesta:
POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Nomi delle intestazioni di autenticazione
Google SecOps accetta i seguenti nomi di intestazione per l'autenticazione:
Per la chiave API:
x-goog-chronicle-auth(consigliato)X-Goog-Chronicle-Auth(senza distinzione tra maiuscole e minuscole)
Per la chiave segreta:
x-chronicle-auth(consigliato)X-Chronicle-Auth(senza distinzione tra maiuscole e minuscole)
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
| column5 | metadata.description | Descrizione dell'evento |
| has_principal_user | metadata.event_type | Tipo di evento (ad es. USER_LOGIN, NETWORK_CONNECTION) |
| column1 | metadata.product_event_type | Tipo di evento specifico del prodotto |
| metadata.product_name | metadata.product_name | Nome del prodotto |
| metadata.vendor_name | metadata.vendor_name | Nome del fornitore/dell'azienda |
| column6 | principal.user.userid | ID utente del principale |
| is_successful | security_result.action | Azione intrapresa |
| is_successful | security_result.action_details | Dettagli dell'azione |
| column4 | security_result.detection_fields | Campi di rilevamento aggiuntivi |
| column5 | security_result.detection_fields | |
| counter | security_result.detection_fields | |
| column4 | security_result.description | Descrizione del risultato di sicurezza |
| column2 | security_result.summary | Riepilogo del risultato di sicurezza |
| column4 | target.user.attribute.roles | Ruoli associati all'utente di destinazione |
| column4 | target.user.userid | ID utente della destinazione |
target_user |
target.user.userid |
Mappato dal log delle modifiche |
IBM_OPENPAGES |
metadata.vendor_name |
Mappato dal log delle modifiche |
IBM_OPENPAGES |
metadata.product_name |
Mappato dal log delle modifiche |
OpenPages |
metadata.product_name |
Mappato dal log delle modifiche |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.