ServiceNow-CMDB-Daten erheben

Unterstützt in:

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

ServiceNow IP-Bereiche hinzufügen

  1. Melden Sie sich als Administrator in Ihrer ServiceNow-Instanz an.
  2. Rufen Sie Alle > Systemsicherheit > IP-Adressen-Zugriffssteuerung auf.
  3. Klicken Sie auf Neu.
  4. 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.
  5. Klicken Sie auf Senden.
  6. 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.

  1. Melden Sie sich in der ServiceNow Admin Console an.
  2. Klicken Sie auf Alle > Nutzerverwaltung > Nutzer.
  3. Klicken Sie auf Neu.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Nutzer-ID: Geben Sie einen aussagekräftigen Nutzernamen ein, z. B. google_secops_integration.
    • Vorname: Geben Sie Google ein.
    • Nachname: Geben Sie SecOps Integration ein.
    • 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).
  5. Klicken Sie auf Senden.

Erforderliche Berechtigungen zuweisen

  1. Öffnen Sie nach dem Erstellen des Nutzers den Nutzerdatensatz.
  2. Rufen Sie den Bereich Rollen auf.
  3. Klicken Sie auf Bearbeiten.
  4. Suchen Sie in der Liste Sammlung nach der folgenden Rolle und fügen Sie sie hinzu:
    • cmdb_read: Gewährt Lesezugriff auf CMDB-Tabellen.
  5. 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.
  • 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)

  1. Melden Sie sich als Integrationsnutzer in Ihrer ServiceNow-Instanz an.
  2. Rufen Sie Alle > System Web Services > REST > REST API Explorer auf.
  3. Wählen Sie im Drop-down-Menü für den Namespace die Option Table API aus.
  4. Wählen Sie Einträge aus einer Tabelle abrufen (GET) aus.
  5. Geben Sie unter Pfadparameter den Tabellennamen ein, z. B. cmdb_ci.
  6. Klicken Sie auf Senden.
  7. 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-Instanz
      • your-username: Der Nutzername Ihres Integrationsnutzers
      • your-password: Das Passwort für den Integrationsnutzer

Bei einer erfolgreichen Antwort werden JSON-Daten mit Konfigurationselementen zurückgegeben.

Feeds einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. ServiceNow CMDB - All CIs oder ServiceNow CMDB - Servers.
  5. Wählen Sie Drittanbieter-API als Quelltyp aus.
  6. Wählen Sie ServiceNow CMDB als Log type (Protokolltyp) aus.
  7. Klicken Sie auf Weiter.
  8. 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
    • 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.
    • 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.
    • Asset-Namespace: Der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
  9. Klicken Sie auf Weiter.

  10. 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:

  1. Erstellen Sie den ersten Feed anhand der obigen Anleitung (z. B. für cmdb_ci_server).
  2. Klicken Sie auf Neuen Feed hinzufügen, um weitere Feeds zu erstellen.
  3. 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