Raccogliere i dati CMDB di ServiceNow
Questo documento spiega come raccogliere i dati CMDB di ServiceNow configurando un feed Google Security Operations utilizzando l'API di terze parti.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Accesso privilegiato all'istanza ServiceNow con accesso alla Console di amministrazione
- Account utente ServiceNow con ruolo
cmdb_read(requisito minimo per l'accesso in lettura) - API REST abilitata nell'istanza ServiceNow (abilitata per impostazione predefinita)
Configurare la lista consentita IP
Prima di creare il feed, devi inserire gli intervalli IP di Google SecOps nella lista consentita del firewall o delle impostazioni di rete di ServiceNow.
Ottenere gli intervalli IP di Google SecOps
- Recupera gli intervalli IP dal file JSON degli intervalli di indirizzi IP di Google.
Aggiungere intervalli IP a ServiceNow
- Accedi alla tua istanza ServiceNow come amministratore.
- Vai a All (Tutti) > System Security (Sicurezza del sistema) > IP Address Access Control (Controllo accesso indirizzi IP).
- Fai clic su New (Nuovo).
- Fornisci i seguenti dettagli di configurazione:
- Tipo: seleziona Consenti.
- Indirizzo IP: inserisci un intervallo IP di Google SecOps in notazione CIDR (ad esempio,
192.0.2.0/24). - Nome: inserisci un nome descrittivo (ad esempio,
GGoogle SecOps IP Range 1). - Attiva: seleziona la casella di controllo per attivare la regola.
- Fai clic su Invia.
- Ripeti i passaggi da 3 a 5 per ogni intervallo IP Google SecOps aggiuntivo.
Configurare l'accesso all'API ServiceNow
Per consentire a Google SecOps di estrarre i dati CMDB, devi creare un utente ServiceNow con le autorizzazioni appropriate.
Crea un utente di integrazione dedicato (opzione consigliata)
- Accedi alla Console di amministrazione ServiceNow.
- Vai a All (Tutti) > User Administration (Amministrazione utenti) > Users (Utenti).
- Fai clic su New (Nuovo).
- Fornisci i seguenti dettagli di configurazione:
- ID utente: inserisci un nome utente descrittivo (ad esempio
google_secops_integration). - Nome: inserisci
Google. - Cognome: inserisci
SecOps Integration. - Email: inserisci un indirizzo email valido per le notifiche.
- Password: fai clic su Imposta password e crea una password efficace.
- Attivo: seleziona la casella di controllo.
- Solo accesso al servizio web: seleziona la casella di controllo (opzione consigliata per l'accesso solo API).
- ID utente: inserisci un nome utente descrittivo (ad esempio
- Fai clic su Invia.
Assegnare le autorizzazioni richieste
- Dopo aver creato l'utente, apri il record utente.
- Vai alla sezione Ruoli.
- Fai clic su Modifica.
- Nell'elenco Raccolta, cerca e aggiungi il seguente ruolo:
- cmdb_read: fornisce l'accesso in lettura alle tabelle CMDB.
- Fai clic su Salva.
Registra le credenziali API
Dopo aver creato l'utente, registra le seguenti credenziali:
- Nome utente: l'ID utente che hai creato (ad esempio,
google_secops_integration) - Password: la password impostata per l'utente
- Nome host API: il nome di dominio completo (FQDN) della tua istanza ServiceNow (ad esempio
myinstance.servicenow.com)- Non includere
https://o percorsi. - Non includere la barra finale.
- Non includere
- Nome tabella: la tabella CMDB da interrogare (ad esempio
cmdb_ci,cmdb_ci_server,cmdb_ci_computer)
Informazioni sulle tabelle CMDB di ServiceNow
ServiceNow CMDB è organizzato in una struttura gerarchica di tabelle. Le tabelle più comuni per l'importazione dati degli asset includono:
| Nome tabella | Descrizione | Caso d'uso |
|---|---|---|
cmdb_ci |
Tabella Elemento di configurazione di base (principale di tutte le tabelle CI) | Tutti gli elementi di configurazione |
cmdb_ci_server |
Elementi di configurazione del server | Server fisici e virtuali |
cmdb_ci_computer |
Elementi di configurazione del computer | Workstation, laptop, computer |
cmdb_ci_linux_server |
Elementi di configurazione del server Linux | Server Linux in particolare |
cmdb_ci_win_server |
Elementi di configurazione di Windows Server | Server Windows in particolare |
cmdb_ci_vm_instance |
Istanze di macchine virtuali | Macchine virtuali |
cmdb_ci_network_adapter |
Adattatori di rete | Schede di interfaccia di rete |
cmdb_ci_ip_address |
Indirizzi IP | Record di indirizzi IP |
cmdb_ci_service |
Servizi aziendali | Elementi del catalogo di servizi |
cmdb_ci_appl |
Applicazioni | Elementi di configurazione dell'applicazione |
Verificare l'accesso all'API REST
Prima di creare il feed, verifica che le credenziali dell'API ServiceNow funzionino correttamente.
Testa utilizzando Explorer API REST (facoltativo)
- Accedi alla tua istanza ServiceNow come utente di integrazione.
- Vai a Tutti > Servizi web di sistema > REST > Explorer API REST.
- Seleziona API Table dal menu a discesa dello spazio dei nomi.
- Seleziona Recupera record da una tabella (GET).
- In Parametri percorso, inserisci il nome della tabella, ad esempio
cmdb_ci. - Fai clic su Invia.
- Verifica che lo stato della risposta sia 200 OK e che vengano restituiti i record.
Testa utilizzando curl (facoltativo)
In alternativa, testa l'API utilizzando curl:
curl "https://your-instance.service-now.com/api/now/table/cmdb_ci?sysparm_limit=10" \ --request GET \ --header "Accept: application/json" \ --user 'your-username':'your-password'- Sostituisci:
your-instance.service-now.com: il nome host dell'istanza ServiceNowyour-username: Il nome utente dell'utente di integrazioneyour-password: la password dell'utente di integrazione
- Sostituisci:
Una risposta positiva restituirà dati JSON con elementi di configurazione.
Configurare i 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,
ServiceNow CMDB - All CIsoServiceNow CMDB - Servers). - Seleziona API di terze parti come Tipo di origine.
- Seleziona ServiceNow CMDB come Tipo di log.
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input:
- Nome utente: inserisci l'ID utente ServiceNow (ad esempio,
google_secops_integration). - Secret (Segreto): inserisci la password dell'utente ServiceNow. Importante: questo è un campo sensibile. La password viene criptata e non può essere visualizzata dopo il salvataggio.
- Nome host API: inserisci il nome di dominio completo della tua istanza ServiceNow.
- Esempio:
myinstance.servicenow.com - Non includere:
- Protocollo (
https://) - Percorsi (
/api/now/table/) - Barra finale
- Protocollo (
- Esempio:
- Istanze regionali:se la tua istanza ServiceNow si trova in una regione specifica, utilizza il formato del nome host corretto:
- Standard:
instance.service-now.com - Unione Europea:
instance.service-now.eu - Altre regioni: verifica con l'amministratore di ServiceNow
- Standard:
- Nome tabella: inserisci la tabella ServiceNow CMDB da interrogare.
- Esempi:
cmdb_ci(tutti gli elementi di configurazione)cmdb_ci_server(tutti i server)cmdb_ci_computer(workstation e computer)cmdb_ci_linux_server(solo server Linux)cmdb_ci_win_server(solo server Windows) Nota: il nome della tabella è sensibile alle maiuscole e deve corrispondere esattamente. Puoi eseguire query su una sola tabella per feed. Per importare più tabelle, crea feed separati per ciascuna tabella.
- Esempi:
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
- Nome utente: inserisci l'ID utente ServiceNow (ad esempio,
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Dopo la configurazione, il feed inizia a recuperare i record CMDB dall'istanza ServiceNow. La sincronizzazione iniziale potrebbe richiedere diversi minuti, a seconda del numero di record nella tabella.
Importazione di più tabelle CMDB
Per importare i dati da più tabelle CMDB, crea feed separati per ogni tabella:
- Crea il primo feed seguendo i passaggi precedenti (ad esempio, per
cmdb_ci_server). - Fai clic su Aggiungi nuovo feed per creare altri feed.
- Utilizza le stesse credenziali ServiceNow, ma specifica nomi di tabella diversi.
Esempio di configurazione:
| Nome feed | Nome tabella | Finalità |
|---|---|---|
| ServiceNow CMDB - Servers | cmdb_ci_server |
Tutti gli IC server |
| ServiceNow CMDB - Computer | cmdb_ci_computer |
CI workstation |
| ServiceNow CMDB - Network Adapters | cmdb_ci_network_adapter |
Elementi di configurazione dell'interfaccia di rete |
| ServiceNow CMDB - Applications | cmdb_ci_appl |
CI dell'applicazione |
Autorizzazioni API richieste
L'utente di integrazione richiede le seguenti autorizzazioni ServiceNow:
| Autorizzazione/Ruolo | Livello di accesso | Finalità |
|---|---|---|
| cmdb_read | Leggi | Recuperare i dati degli elementi di configurazione CMDB |
(Facoltativo) Ruoli aggiuntivi:
- itil: obbligatorio se hai bisogno dell'accesso in scrittura per creare o aggiornare le CI (non obbligatorio per l'importazione di Google SecOps)
- rest_api_explorer: utile per testare l'accesso all'API durante la configurazione
Tabella di mappatura UDM
| Campo ServiceNow | Mappatura UDM | Logic |
|---|---|---|
name |
entity.asset.hostname |
Nome host principale dell'asset |
ip_address |
entity.asset.ip |
Indirizzo IP principale dell'asset |
mac_address |
entity.asset.mac |
Indirizzo MAC dell'asset |
serial_number |
entity.asset.hardware.serial_number |
Numero di serie dell'hardware |
asset_tag |
entity.asset.asset_id |
Etichetta asset o identificatore |
sys_class_name |
entity.asset.asset_type |
Classe CI (server, computer e così via) |
os |
entity.asset.platform_software.platform |
Sistema operativo |
sys_created_on |
entity.asset.first_seen_time |
Timestamp della creazione dell'asset |
sys_updated_on |
entity.asset.last_seen_time |
Timestamp ultimo aggiornamento |
location |
entity.asset.location.name |
Posizione fisica |
company |
entity.asset.attribute.labels.value |
Società/organizzazione proprietaria |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.