Workday HCM-Logs erfassen

Unterstützt in:

In diesem Dokument wird erläutert, wie Sie Workday-Logs über die API in Google Security Operations aufnehmen. Der Parser extrahiert Workday HCM-Nutzerdaten aus JSON-formatierten Logs. Es werden verschiedene Datentransformationen durchgeführt, darunter das Umbenennen von Feldern, das Zusammenführen verschachtelter Objekte, das Parsen von Datumsangaben und das Einfügen von UDM-Feldern für Nutzerattribute, Beschäftigungsdetails und die Organisationsstruktur. Außerdem enthält sie die Fehlerbehandlung für fehlerhaftes JSON und fehlende kritische Felder.

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz.
  • Privilegierter Zugriff auf Workday.

Workday-API-Authentifizierung konfigurieren

Integrationssystemnutzer (Integration System User, ISU) in Workday erstellen

  1. Melden Sie sich mit Administratorberechtigungen in Workday an.
  2. Geben Sie Create Integration System User in die Suchleiste ein und wählen Sie die Aufgabe aus den Ergebnissen aus.
  3. Geben Sie einen Nutzernamen ein.
  4. Legen Sie ein Passwort fest.
  5. Legen Sie Session Timeout Minutes (Zeitüberschreitung für Sitzungen in Minuten) auf 0 fest, um zu verhindern, dass die ISU eine Zeitüberschreitung auslöst.
  6. Aktivieren Sie UI-Sitzungen nicht zulassen, um die Sicherheit zu erhöhen, indem Sie UI-Anmeldungen einschränken.
  7. Rufen Sie die Aufgabe Passwortregeln verwalten auf.
  8. Fügen Sie den Integrationssystemnutzer dem Feld Systemnutzer, die nicht vom Ablauf des Passworts betroffen sind hinzu.

Sicherheitsgruppe für die Integration in Workday erstellen

  1. Geben Sie Create Security Group in die Suchleiste ein und wählen Sie die Aufgabe aus den Ergebnissen aus.
  2. Suchen Sie das Feld Type of Tenanted Security Group (Typ der Mandantensicherheitsgruppe) und wählen Sie Integration System Security Group (Unconstrained) (Sicherheitsgruppe für Integrationssystem (uneingeschränkt)) aus.
  3. Geben Sie einen Namen für die Sicherheitsgruppe an.
  4. Klicken Sie auf OK.
  5. Klicken Sie bei der neu erstellten Sicherheitsgruppe auf Bearbeiten.
  6. Weisen Sie der Sicherheitsgruppe den Integrationssystemnutzer aus dem vorherigen Schritt zu.
  7. Klicken Sie auf Fertig.

Domainzugriff auf Sicherheitsgruppe in Workday gewähren

  1. Geben Sie Maintain Permissions for Security Group (Berechtigungen für Sicherheitsgruppe verwalten) in die Suchleiste ein und wählen Sie die Aufgabe aus den Ergebnissen aus.
  2. Wählen Sie die von Ihnen erstellte Sicherheitsgruppe in der Liste Quellsicherheitsgruppe aus, um ihre Berechtigungen zu ändern.
  3. Klicken Sie auf OK.
  4. Gehen Sie zu Berechtigungen für Sicherheitsgruppe beibehalten > Berechtigungen für die Domänensicherheitsrichtlinie.
  5. Weisen Sie jeder Domain die erforderlichen Berechtigungen zu, z. B. für GET-Vorgänge.
  6. Klicken Sie auf OK.
  7. Klicken Sie auf Fertig, um die Änderungen zu speichern.

Änderungen an Sicherheitsrichtlinien in Workday aktivieren

  1. Geben Sie Activate Pending Security Policy Changes in die Suchleiste ein und wählen Sie die Aufgabe aus den Ergebnissen aus.
  2. Starten Sie die Aufgabe Ausstehende Änderungen an der Sicherheitsrichtlinie aktivieren, indem Sie im Kommentarfeld einen Grund für die Überprüfung eingeben und dann auf OK klicken.
  3. Wählen Sie auf dem nächsten Bildschirm Bestätigen aus und klicken Sie dann auf OK.

API-Client für Integrationen konfigurieren

  1. Geben Sie in die Suchleiste Register API Client for Integrations ein und wählen Sie die Option aus.
  2. Klicken Sie auf Erstellen.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Client Name (Clientname): Geben Sie einen Namen für den API-Client ein (z. B. Google SecOps Client).
    • Systemnutzer: Wählen Sie den Integrationssystemnutzer aus, den Sie im vorherigen Schritt erstellt haben.
    • Umfang: Wählen Sie die HCM API oder den relevanten Umfang aus, der die Mitarbeiterdaten und andere Bereiche umfasst, auf die Sie zugreifen.
  4. Klicken Sie auf Speichern.
  5. Klicken Sie auf OK, um den API-Client zu erstellen.
  6. Nachdem Sie den API-Client erstellt haben, speichern Sie den Clientschlüssel. Nachdem Sie die Seite verlassen haben, wird sie nicht noch einmal angezeigt.

OAuth 2.0-Aktualisierungstoken generieren

  1. Geben Sie in die Workday-Suchleiste Manage Refresh Tokens for Integrations ein und wählen Sie die Option aus.
  2. Klicken Sie auf Generate New Refresh Token (Neues Aktualisierungstoken generieren).
  3. Suchen Sie im Feld Workday-Konto nach dem von Ihnen erstellten Integrationssystemnutzer und wählen Sie ihn aus.
  4. Wählen Sie den Nutzer aus und klicken Sie auf OK.
  5. Kopieren und speichern Sie das angezeigte Aktualisierungstoken.

API-Endpunkt-URLs abrufen

  1. Geben Sie in die Workday-Suchleiste View API Clients ein und wählen Sie die Option aus.
  2. Suchen Sie unter API-Clients für Integrationen nach dem Google SecOps Client, das Sie erstellt haben.
  3. Kopieren und speichern Sie die folgenden Details:
    • Token-Endpunkt: Die URL, an die Sie eine Anfrage senden, um ein Zugriffstoken zu erhalten.
    • Workday REST API Endpoint (Workday REST API-Endpunkt): Die URL, die Sie zum Konfigurieren der Integration mit Google SecOps verwenden.

OAuth-Zugriffstoken generieren

  1. Senden Sie mit curl oder einem ähnlichen HTTP-Client eine POST-Anfrage an den Token-Endpunkt:

    curl -X POST "https://{hostname}/ccx/oauth2/token" \
        -d "grant_type=refresh_token" \
        -d "client_id={your_client_id}" \
        -d "client_secret={your_client_secret}" \
        -d "refresh_token={your_refresh_token}"
    
  2. Dadurch wird ein Zugriffstoken zurückgegeben (z. B. "access_token": "abcd1234").

  3. Kopieren und speichern Sie das Zugriffstoken.

Feeds einrichten

Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:

  • SIEM-Einstellungen > Feeds
  • Content Hub> Content-Pakete

Feeds über „SIEM-Einstellungen“ > „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 Feed name einen Namen für den Feed ein, z. B. Workday Logs.
  5. Wählen Sie Drittanbieter-API als Quelltyp aus.
  6. Wählen Sie den Logtyp Workday aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:
    • API-Hostname: Die URL Ihres Workday REST API-Endpunkts.
    • Mandant: Das letzte Pfadelement Ihres Workday-API-Endpunkt, das Ihre Instanz identifiziert.
    • Zugriffstoken: OAuth-Zugriffstoken.
  9. Klicken Sie auf Weiter.
  10. Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (Senden).

Feeds über den Content Hub einrichten

Geben Sie Werte für die folgenden Felder an:

  • API-Hostname: Der FQDN Ihres Workday REST API-Endpunkt.
  • Mandant: Das letzte Pfadelement Ihres Workday-API-Endpunkt, das Ihre Instanz identifiziert.
  • Zugriffstoken: OAuth-Zugriffstoken.

Erweiterte Optionen

  • Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
  • Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
  • Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
  • Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
@timestamp read_only_udm.metadata.event_timestamp.seconds Das Feld @timestamp des Rohlogs wird in timestamp umbenannt und als Zeitstempel in Sekunden seit der Epoche geparst.
businessTitle read_only_udm.entity.entity.user.title Direkt aus dem Feld businessTitle im Rohlog zugeordnet.
descriptor read_only_udm.entity.entity.user.user_display_name Direkt aus dem Feld descriptor im Rohlog zugeordnet.
Employee_ID read_only_udm.entity.entity.user.employee_id Direkt aus dem Feld Employee_ID im Rohlog zugeordnet.
Employee_ID read_only_udm.entity.metadata.product_entity_id Direkt aus dem Feld Employee_ID im Rohlog zugeordnet, wenn id nicht vorhanden ist.
gopher-supervisor.descriptor read_only_udm.entity.entity.user.managers.user_display_name Direkt aus dem Feld gopher-supervisor.descriptor im Rohlog zugeordnet, in empmanager.user_display_name umbenannt und dann in managers zusammengeführt.
gopher-supervisor.id read_only_udm.entity.entity.user.managers.product_object_id Direkt aus dem Feld gopher-supervisor.id im Rohlog zugeordnet, in empmanager.product_object_id umbenannt und dann in managers zusammengeführt.
gopher-supervisor.primaryWorkEmail read_only_udm.entity.entity.user.managers.email_addresses Direkt aus dem Feld gopher-supervisor.primaryWorkEmail im Rohlog zugeordnet und dann in managers zusammengeführt.
gopher-time-off.date read_only_udm.entity.entity.user.time_off.interval.start_time Wird als Datum aus dem Feld gopher-time-off.date im Array gopher-time-off im Rohlog geparst.
gopher-time-off.descriptor read_only_udm.entity.entity.user.time_off.description Direkt aus dem Feld gopher-time-off.descriptor im Array gopher-time-off im Rohlog zugeordnet.
Hire_Date read_only_udm.entity.entity.user.hire_date Wird als Datum aus dem Feld Hire_Date im Rohlog geparst.
id read_only_udm.entity.metadata.product_entity_id Direkt aus dem Feld id im Rohlog abgeleitet, sofern vorhanden.
Job_Profile read_only_udm.entity.entity.user.title Direkt aus dem Feld Job_Profile im Rohlog zugeordnet, wenn businessTitle nicht vorhanden ist.
Legal_Name_First_Name read_only_udm.entity.entity.user.first_name Direkt aus dem Feld Legal_Name_First_Name im Rohlog zugeordnet.
Legal_Name_Last_Name read_only_udm.entity.entity.user.last_name Direkt aus dem Feld Legal_Name_Last_Name im Rohlog zugeordnet.
location.descriptor read_only_udm.entity.entity.location.city Direkt aus dem Feld location.descriptor im Rohlog zugeordnet, in _location.city und dann in entity.entity.location.city umbenannt.
primarySupervisoryOrganization.descriptor read_only_udm.entity.entity.user.department Direkt aus dem Feld primarySupervisoryOrganization.descriptor im Rohlog zugeordnet.
primaryWorkEmail read_only_udm.entity.entity.user.email_addresses Direkt aus dem Feld primaryWorkEmail im Rohlog zugeordnet.
primaryWorkPhone read_only_udm.entity.entity.user.phone_numbers Direkt aus dem Feld primaryWorkPhone im Rohlog zugeordnet.
Termination_Date read_only_udm.entity.entity.user.termination_date Wird als Datum aus dem Feld Termination_Date im Rohlog geparst.
Work_Email read_only_udm.entity.entity.user.email_addresses Direkt aus dem Feld Work_Email im Rohlog zugeordnet, wenn primaryWorkEmail nicht vorhanden ist.
collection_time read_only_udm.metadata.event_timestamp.collected_timestamp Die collection_time des Logs wird collected_timestamp zugeordnet.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten