ServiceNow-CMDB-Daten erheben
In diesem Dokument wird beschrieben, wie Sie ServiceNow CMDB-Daten erfassen, indem Sie einen Google Security Operations-Feed über die Drittanbieter-API einrichten.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- Eine Google SecOps-Instanz
- Privilegierter Zugriff auf die ServiceNow-Instanz mit Zugriff auf die Admin-Konsole
- ServiceNow-Nutzerkonto mit der Rolle
cmdb_read(Mindestanforderung für Lesezugriff) - REST API in Ihrer ServiceNow-Instanz aktiviert (standardmäßig aktiviert)
Zulassen von IP-Adressen konfigurieren
Bevor Sie den Feed erstellen, müssen Sie die Google SecOps-IP-Bereiche in Ihrer ServiceNow-Firewall oder Ihren Netzwerkeinstellungen auf die Zulassungsliste setzen.
Google SecOps-IP-Bereiche abrufen
- Rufen Sie IP-Bereiche aus der JSON-Datei mit den IP-Adressbereichen von Google ab.
ServiceNow IP-Bereiche hinzufügen
- Melden Sie sich als Administrator in Ihrer ServiceNow-Instanz an.
- Rufen Sie Alle > Systemsicherheit > IP-Adressen-Zugriffssteuerung auf.
- Klicken Sie auf Neu.
- Geben Sie die folgenden Konfigurationsdetails an:
- Typ: Wählen Sie Zulassen aus.
- IP-Adresse: Geben Sie einen oneGoogle SecOps-IP-Bereich in CIDR-Notation ein (z. B.
192.0.2.0/24). - Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
GGoogle SecOps IP Range 1. - Aktiv: Klicken Sie das Kästchen an, um die Regel zu aktivieren.
- Klicken Sie auf Senden.
- Wiederholen Sie die Schritte 3 bis 5 für jeden zusätzlichen Google SecOps-IP-Bereich.
ServiceNow-API-Zugriff konfigurieren
Damit Google SecOps CMDB-Daten abrufen kann, müssen Sie einen ServiceNow-Nutzer mit den entsprechenden Berechtigungen erstellen.
Dedizierten Integrationsnutzer erstellen (empfohlen)
- Melden Sie sich in der ServiceNow Admin Console an.
- Klicken Sie auf Alle > Nutzerverwaltung > Nutzer.
- Klicken Sie auf Neu.
- Geben Sie die folgenden Konfigurationsdetails an:
- Nutzer-ID: Geben Sie einen aussagekräftigen Nutzernamen ein, z. B.
google_secops_integration. - Vorname: Geben Sie
Googleein. - Nachname: Geben Sie
SecOps Integrationein. - E‑Mail: Geben Sie eine gültige E‑Mail-Adresse für Benachrichtigungen ein.
- Passwort: Klicken Sie auf Passwort festlegen und erstellen Sie ein starkes Passwort.
- Aktiv: Aktivieren Sie das Kästchen.
- Nur Webdienstzugriff: Aktivieren Sie das Kästchen (empfohlen für den reinen API-Zugriff).
- Nutzer-ID: Geben Sie einen aussagekräftigen Nutzernamen ein, z. B.
- Klicken Sie auf Senden.
Erforderliche Berechtigungen zuweisen
- Öffnen Sie nach dem Erstellen des Nutzers den Nutzerdatensatz.
- Rufen Sie den Bereich Rollen auf.
- Klicken Sie auf Bearbeiten.
- Suchen Sie in der Liste Sammlung nach der folgenden Rolle und fügen Sie sie hinzu:
- cmdb_read: Gewährt Lesezugriff auf CMDB-Tabellen.
- Klicken Sie auf Speichern.
API-Anmeldedaten aufzeichnen
Notieren Sie sich nach dem Erstellen des Nutzers die folgenden Anmeldedaten:
- Nutzername: Die von Ihnen erstellte Nutzer-ID (z. B.
google_secops_integration) - Passwort: Das Passwort, das Sie für den Nutzer festgelegt haben
- API-Hostname: Der FQDN Ihrer ServiceNow-Instanz (z. B.
myinstance.servicenow.com)- Fügen Sie
https://oder Pfade nicht ein. - Fügen Sie keinen nachgestellten Schrägstrich ein.
- Fügen Sie
- Tabellenname: Die CMDB-Tabelle, die abgefragt werden soll (z. B.
cmdb_ci,cmdb_ci_server,cmdb_ci_computer)
ServiceNow CMDB-Tabellen
Die ServiceNow CMDB ist in einer hierarchischen Struktur von Tabellen organisiert. Die gängigsten Tabellen für die Aufnahme von Asset-Daten sind:
| Tabellenname | Beschreibung | Anwendungsfall |
|---|---|---|
cmdb_ci |
Basistabelle für Konfigurationselemente (übergeordnet für alle CI-Tabellen) | Alle Konfigurationselemente |
cmdb_ci_server |
Serverkonfigurationselemente | Physische und virtuelle Server |
cmdb_ci_computer |
Elemente der Computerkonfiguration | Workstations, Laptops, Desktop-Computer |
cmdb_ci_linux_server |
Konfigurationselemente für Linux-Server | insbesondere Linux-Server |
cmdb_ci_win_server |
Windows Server-Konfigurationselemente | Insbesondere Windows-Server |
cmdb_ci_vm_instance |
VM-Instanzen | Virtuelle Maschinen |
cmdb_ci_network_adapter |
Netzwerkadapter | Netzwerkkarten |
cmdb_ci_ip_address |
IP-Adressen | IP-Adressdatensätze |
cmdb_ci_service |
Geschäftsdienstleistungen | Service Catalog-Elemente |
cmdb_ci_appl |
Anwendungen | Elemente der App-Konfiguration |
REST API-Zugriff prüfen
Prüfen Sie vor dem Erstellen des Feeds, ob Ihre ServiceNow API-Anmeldedaten richtig funktionieren.
Mit dem REST API Explorer testen (optional)
- Melden Sie sich als Integrationsnutzer in Ihrer ServiceNow-Instanz an.
- Rufen Sie Alle > System Web Services > REST > REST API Explorer auf.
- Wählen Sie im Drop-down-Menü für den Namespace die Option Table API aus.
- Wählen Sie Einträge aus einer Tabelle abrufen (GET) aus.
- Geben Sie unter Pfadparameter den Tabellennamen ein, z. B.
cmdb_ci. - Klicken Sie auf Senden.
- Prüfen Sie, ob der Antwortstatus 200 OK lautet und Datensätze zurückgegeben werden.
Mit curl testen (optional)
Alternativ können Sie die API mit curl testen:
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'- Ersetzen Sie:
your-instance.service-now.com: Der Hostname Ihrer ServiceNow-Instanzyour-username: Der Nutzername Ihres Integrationsnutzersyour-password: Das Passwort für den Integrationsnutzer
- Ersetzen Sie:
Bei einer erfolgreichen Antwort werden JSON-Daten mit Konfigurationselementen zurückgegeben.
Feeds einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
ServiceNow CMDB - All CIsoderServiceNow CMDB - Servers. - Wählen Sie Drittanbieter-API als Quelltyp aus.
- Wählen Sie ServiceNow CMDB als Log type (Protokolltyp) aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Nutzername: Geben Sie die ServiceNow-Nutzer-ID ein, z. B.
google_secops_integration. - Secret: Geben Sie das ServiceNow-Nutzerpasswort ein. Wichtig: Dies ist ein sensibles Feld. Das Passwort wird verschlüsselt und kann nach dem Speichern nicht mehr angezeigt werden.
- API Hostname (API-Hostname): Geben Sie den vollqualifizierten Domainnamen Ihrer ServiceNow-Instanz ein.
- Beispiel:
myinstance.servicenow.com - Nicht zulässig:
- Protokoll (
https://) - Pfade (
/api/now/table/) - Schrägstrich am Ende
- Protokoll (
- Beispiel:
- Regionale Instanzen:Wenn sich Ihre ServiceNow-Instanz in einer bestimmten Region befindet, verwenden Sie das richtige Hostname-Format:
- Standard:
instance.service-now.com - Europäische Union:
instance.service-now.eu - Andere Regionen: Wenden Sie sich an Ihren ServiceNow-Administrator.
- Standard:
- Tabellenname: Geben Sie die ServiceNow CMDB-Tabelle ein, die abgefragt werden soll.
- Beispiele:
cmdb_ci(alle Konfigurationselemente)cmdb_ci_server(alle Server)cmdb_ci_computer(Workstations und Computer)cmdb_ci_linux_server(nur Linux-Server)cmdb_ci_win_server(nur Windows-Server) Hinweis: Beim Tabellennamen muss die Groß- und Kleinschreibung beachtet werden. Sie können nur eine Tabelle pro Feed abfragen. Wenn Sie mehrere Tabellen aufnehmen möchten, erstellen Sie für jede Tabelle separate Feeds.
- Beispiele:
- Asset-Namespace: Der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
- Nutzername: Geben Sie die ServiceNow-Nutzer-ID ein, z. B.
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Nach der Einrichtung werden CMDB-Datensätze aus der ServiceNow-Instanz abgerufen. Die erste Synchronisierung kann je nach Anzahl der Datensätze in der Tabelle einige Minuten dauern.
Mehrere CMDB-Tabellen aufnehmen
Wenn Sie Daten aus mehreren CMDB-Tabellen aufnehmen möchten, erstellen Sie separate Feeds für jede Tabelle:
- Erstellen Sie den ersten Feed anhand der obigen Anleitung (z. B. für
cmdb_ci_server). - Klicken Sie auf Neuen Feed hinzufügen, um weitere Feeds zu erstellen.
- Verwenden Sie dieselben ServiceNow-Anmeldedaten, geben Sie aber unterschiedliche Tabellennamen an.
Beispielkonfiguration:
| Feedname | Tabellenname | Zweck |
|---|---|---|
| ServiceNow CMDB – Server | cmdb_ci_server |
Alle Server-CIs |
| ServiceNow CMDB – Computer | cmdb_ci_computer |
Workstation-CIs |
| ServiceNow CMDB – Netzwerkadapter | cmdb_ci_network_adapter |
CIs für Netzwerkschnittstellen |
| ServiceNow CMDB – Anwendungen | cmdb_ci_appl |
Anwendungs-CIs |
Erforderliche API-Berechtigungen
Der Integrationsnutzer benötigt die folgenden ServiceNow-Berechtigungen:
| Berechtigung/Rolle | Zugriffsebene | Zweck |
|---|---|---|
| cmdb_read | Lesen | CMDB-Konfigurationselementdaten abrufen |
Zusätzliche Rollen (optional):
- itil: Erforderlich, wenn Sie Schreibzugriff zum Erstellen oder Aktualisieren von CIs benötigen (nicht für die Google SecOps-Erfassung erforderlich)
- rest_api_explorer: Nützlich zum Testen des API-Zugriffs während der Einrichtung
UDM-Zuordnungstabelle
| ServiceNow-Feld | UDM-Zuordnung | Logik |
|---|---|---|
name |
entity.asset.hostname |
Primärer Hostname des Assets |
ip_address |
entity.asset.ip |
Primäre IP-Adresse des Assets |
mac_address |
entity.asset.mac |
MAC-Adresse des Assets |
serial_number |
entity.asset.hardware.serial_number |
Seriennummer der Hardware |
asset_tag |
entity.asset.asset_id |
Asset-Tag oder ‑ID |
sys_class_name |
entity.asset.asset_type |
CI-Klasse (Server, Computer usw.) |
os |
entity.asset.platform_software.platform |
Betriebssystem |
sys_created_on |
entity.asset.first_seen_time |
Zeitstempel der Asset-Erstellung |
sys_updated_on |
entity.asset.last_seen_time |
Zeitstempel der letzten Aktualisierung |
location |
entity.asset.location.name |
Physischer Standort |
company |
entity.asset.attribute.labels.value |
Eigentümerunternehmen/Organisation |
event.idm.entity.entity.metadata.entity_type |
USER |
Aus dem Änderungsprotokoll zugeordnet |
calendar_integration", "u_ldap_source", "u_show_popup", "source", "building", "web_service_access_only", "notification", "enable_multifactor_authn", "sso_source", "sys_domain.display_value", "sys_domain.link", "u_itil_license_type", and "u_assets_validated |
entity.entity.asset.attribute.labels |
Aus dem Änderungsprotokoll zugeordnet |
last_login_time |
entity.relation.entity.user.last_login_time |
Aus dem Änderungsprotokoll zugeordnet |
x_bmgr_support_ent_bomgar_username", "vip", "zip", "time_format", "active", "gender", "failed_attempts", "federated_id", "internal_integration_user", "u_business_line", "department.link", "introduction", "preferred_language", "manager.link", "photo", "avatar", "time_zone", "schedule", and "correlation_id |
entity.relation.entity.user.attribute.labels |
Aus dem Änderungsprotokoll zugeordnet |
street |
entity.relation.entity.user.personal_address.name |
Aus dem Änderungsprotokoll zugeordnet |
department.display_value |
entity.relation.entity.user.department |
Aus dem Änderungsprotokoll zugeordnet |
u_office |
entity.relation.entity.user.company_name |
Aus dem Änderungsprotokoll zugeordnet |
title |
entity.relation.entity.user.title |
Aus dem Änderungsprotokoll zugeordnet |
first_name |
entity.relation.entity.user.first_name |
Aus dem Änderungsprotokoll zugeordnet |
last_name |
entity.relation.entity.user.last_name |
Aus dem Änderungsprotokoll zugeordnet |
middle_name |
entity.relation.entity.user.middle_name |
Aus dem Änderungsprotokoll zugeordnet |
manager.display_value |
entity.relation.entity.user.managers.user_display_name |
Aus dem Änderungsprotokoll zugeordnet |
sys_domain_path", "transaction_log", "cost_center", "sys_mod_count", and "sys_tags |
entity.entity.labels |
Aus dem Änderungsprotokoll zugeordnet |
employee_number", "phone", "home_phone", and "mobile_phone |
entity.relation.entity.user.phone_numbers |
Aus dem Änderungsprotokoll zugeordnet |
city |
entity.relation.entity.user.personal_address.city |
Aus dem Änderungsprotokoll zugeordnet |
state |
entity.relation.entity.user.personal_address.state |
Aus dem Änderungsprotokoll zugeordnet |
country |
entity.location.country_or_region |
Aus dem Änderungsprotokoll zugeordnet |
u_site_code |
entity.location.city |
Aus dem Änderungsprotokoll zugeordnet |
u_region |
entity_labels |
Aus dem Änderungsprotokoll zugeordnet |
location.display_value |
entity.labels |
Aus dem Änderungsprotokoll zugeordnet |
location.link |
entity.labels |
Aus dem Änderungsprotokoll zugeordnet |
email |
_relation.entity.user.email_addresses |
Aus dem Änderungsprotokoll zugeordnet |
sys_id |
entity.asset.product_object_id |
Aus dem Änderungsprotokoll zugeordnet |
u_sima_bs_activation_date", "attestation_status", "u_oracle_asm_lun_size", "u_app_resource_jndi_name", "is_encrypted", "monitor", "operational_status", "u_updated_ci", "u_cluster_node", "firewall_status", "skip_sync", "u_excluded", "u_data_classification", "u_sla_report", "u_restriction", "u_rack_slot", "u_account_aztech_oe.link", "u_account_aztech_oedisplay_value", "u_organisational_entity.link", "u_organisational_entity.display_value", "assignment_group.link", "assignment_group.display_value", "cost_center.link", "cost_center.display_value", "u_service_instance", "u_local_oe_cost_center", "managed_by", "u_mode_of_operation", "install_status", and "u_provider_tag |
entity.labels |
Aus dem Änderungsprotokoll zugeordnet |
u_build_user |
entity.user.email_addresses |
Aus dem Änderungsprotokoll zugeordnet |
metadata.entity_type |
ASSET |
Aus dem Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten