Okta-Nutzerkontext-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Okta-Logs zum Nutzerkontext erfassen, indem Sie einen Google Security Operations-Feed mit der Drittanbieter-API einrichten.

Hinweise

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

  • Eine Google SecOps-Instanz
  • Privilegierter Zugriff auf den Okta-Mandanten oder die Admin-Konsole
  • Berechtigungen zum Erstellen von API-Tokens in Okta

IP-Zulassungsliste konfigurieren

Bevor Sie den Feed erstellen, müssen Sie die Google SecOps-IP-Bereiche in Ihrer Okta-Firewall oder Ihren Netzwerkeinstellungen auf die Zulassungsliste setzen.

Google SecOps-IP-Bereiche abrufen

IP-Bereiche zum Okta-Nutzerkontext hinzufügen

  1. Melden Sie sich in der Okta Admin-Konsole an.
  2. Rufen Sie Sicherheit > Netzwerke auf.
  3. Klicken Sie unter IP-Adresseneinschränkungen auf Bearbeiten.
  4. Fügen Sie jede Google SecOps-IP-Adresse in CIDR-Notation den vertrauenswürdigen IP-Adressen hinzu.
  5. Klicken Sie auf Speichern.

Zugriff auf die Okta User Context API konfigurieren

Damit Google SecOps Nutzerkontextdaten abrufen kann, müssen Sie ein API-Token mit Leseberechtigungen erstellen.

API-Token erstellen

  1. Melden Sie sich in der Okta Admin-Konsole an.
  2. Klicken Sie auf Sicherheit > API.
  3. Wählen Sie den Tab Tokens aus.
  4. Klicken Sie auf Token erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen aussagekräftigen Namen ein, z. B. Google SecOps Integration.
    • Beschreibung (optional): Geben Sie eine Beschreibung ein.
  6. Klicken Sie auf Token erstellen.

API-Anmeldedaten aufzeichnen

Nachdem Sie das API-Token erstellt haben, erhalten Sie die folgenden Anmeldedaten:

  • API-Token: Ihr API-Tokenwert (z. B. 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1)

Erforderliche API-Berechtigungen

Für das API-Token sind die folgenden Berechtigungen in Okta erforderlich:

Berechtigung/Rolle Zugriffsebene Zweck
Administrator mit Lesezugriff Lesen Auf Nutzerprofildaten zugreifen
Super Admin Lesen Vollständiger Zugriff auf alle Nutzerdaten

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. Okta User Context.
  5. Wählen Sie Drittanbieter-API als Quelltyp aus.
  6. Wählen Sie Okta-Nutzerkontext als Logtyp aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Authentifizierungs-HTTP-Header: Geben Sie die Anmeldedaten für die Authentifizierung im folgenden Format ein:

      Authorization:SSWS your-api-token
      
      • Beispiel: Authorization:SSWS 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1
    • API-Hostname: Der vollqualifizierte Domainname Ihrer Okta-Instanz (z.B. example.okta.com, nicht eine benutzerdefinierte Domain, die möglicherweise konfiguriert ist).

      • Beispiel: company.okta.com
    • Referenzfeld für Manager-ID: ID, die erforderlich ist, wenn Sie eine Nicht-Okta-ID verwenden, um auf Manager zu verweisen (optional).

    • 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 die Logs chronologisch aus der Okta User Context-Instanz abgerufen.

Regionale Endpunkte

Okta verwendet je nach Region Ihrer Organisation unterschiedliche API-Endpunkte:

Region Basis-URL / Hostname
USA (Standard) {org-name}.okta.com
EU (EMEA) {org-name}.okta-emea.com
Asien/Pazifik (APAC) {org-name}.okta.com.au
Vorschau (Test) {org-name}.oktapreview.com

Verwenden Sie den Hostnamen, der der Region Ihrer Okta-Instanz entspricht.

API-Ratenbegrenzungen

Für die Okta API gelten die folgenden Ratenbegrenzungen:

  • Standardmäßige Ratenbegrenzung: 600 Anfragen pro Minute für die meisten Endpunkte
  • System Log API: 60 Anfragen pro Minute
  • Nutzerendpunkte: 600 Anfragen pro Minute

Google SecOps verarbeitet die Ratenbegrenzung automatisch mit exponentiellem Backoff. Wenn Probleme auftreten, wenden Sie sich an den Okta-Support, um Ihre API-Limits zu erhöhen.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
activated event.idm.entity.entity.labels Wenn activated vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „activated“ hinzugefügt.
created event.idm.entity.entity.labels Wenn created vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „created“ hinzugefügt.
profile.costCenter event.idm.entity.entity.labels Wenn profile.costCenter vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „costCenter“ hinzugefügt.
profile.Function event.idm.entity.entity.labels Wenn profile.Function vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Function“ hinzugefügt.
statusChanged event.idm.entity.entity.labels Wenn statusChanged vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „statusChanged“ hinzugefügt.
type.id event.idm.entity.entity.labels Wenn type.id vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „type_id“ hinzugefügt.
profile.location event.idm.entity.entity.location.name Wert aus profile.location.
profile.AD_ObjectGUID event.idm.entity.entity.user.attribute.labels Wenn profile.AD_ObjectGUID vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „AD_ObjectGUID“ hinzugefügt.
profile.ADpwdLastSet event.idm.entity.entity.user.attribute.labels Wenn profile.ADpwdLastSet vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „ADpwdLastSet“ hinzugefügt.
profile.AFF_Code event.idm.entity.entity.user.attribute.labels Wenn profile.AFF_Code vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „AFF_Code“ hinzugefügt.
profile.Desk_Location_WD event.idm.entity.entity.user.attribute.labels Wenn profile.Desk_Location_WD vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Desk_Location_WD“ hinzugefügt.
profile.Mailing_Address_WD event.idm.entity.entity.user.attribute.labels Wenn profile.Mailing_Address_WD vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Mailing_Address_WD“ hinzugefügt.
profile.Manager_UPN event.idm.entity.entity.user.attribute.labels Wenn profile.Manager_UPN vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Manager_UPN“ hinzugefügt.
profile.PRIVATE_CONF_Profile event.idm.entity.entity.user.attribute.labels Wenn profile.PRIVATE_CONF_Profile vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „PRIVATE_CONF_Profile“ hinzugefügt.
profile.Region_WD event.idm.entity.entity.user.attribute.labels Wenn profile.Region_WD vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Region_WD“ hinzugefügt.
profile.Subsidiary_Company event.idm.entity.entity.user.attribute.labels Wenn profile.Subsidiary_Company vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Subsidiary_Company“ hinzugefügt.
profile.Telephone_Work event.idm.entity.entity.user.attribute.labels Wenn profile.Telephone_Work vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Telephone_Work“ hinzugefügt.
profile.Temp_WD_Primary_Email event.idm.entity.entity.user.attribute.labels Wenn profile.Temp_WD_Primary_Email vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Temp_WD_Primary_Email“ hinzugefügt.
profile.VMware_WS1_Username event.idm.entity.entity.user.attribute.labels Wenn profile.VMware_WS1_Username vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „VMware_WS1_Username“ hinzugefügt.
profile.Work_Street_Address_WD event.idm.entity.entity.user.attribute.labels Wenn profile.Work_Street_Address_WD vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Work_Street_Address_WD“ hinzugefügt.
profile.Workato_WD_Primary_Email event.idm.entity.entity.user.attribute.labels Wenn profile.Workato_WD_Primary_Email vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Workato_WD_Primary_Email“ hinzugefügt.
profile.Workday_ID event.idm.entity.entity.user.attribute.labels Wenn profile.Workday_ID vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Workday_ID“ hinzugefügt.
profile.Worker_Type_WD event.idm.entity.entity.user.attribute.labels Wenn profile.Worker_Type_WD vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „Worker_Type_WD“ hinzugefügt.
profile.businessUnit event.idm.entity.entity.user.attribute.labels Wenn profile.businessUnit vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „businessUnit“ hinzugefügt.
profile.companyName event.idm.entity.entity.user.attribute.labels Wenn profile.companyName vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „companyName“ hinzugefügt.
profile.contingentSupplierName event.idm.entity.entity.user.attribute.labels Wenn profile.contingentSupplierName vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „contingentSupplierName“ hinzugefügt.
profile.conversationId event.idm.entity.entity.user.attribute.labels Wenn profile.conversationId vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „conversationId“ hinzugefügt.
profile.distinguishedName event.idm.entity.entity.user.attribute.labels Wenn profile.distinguishedName vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „distinguishedName“ hinzugefügt.
profile.division event.idm.entity.entity.user.attribute.labels Wenn profile.division vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „division“ hinzugefügt.
profile.emailPrefix event.idm.entity.entity.user.attribute.labels Wenn profile.emailPrefix vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „emailPrefix“ hinzugefügt.
profile.employeeType event.idm.entity.entity.user.attribute.labels Wenn profile.employeeType vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „employeeType“ hinzugefügt.
profile.homePostalAddress event.idm.entity.entity.user.attribute.labels Wenn profile.homePostalAddress vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „homePostalAddress“ hinzugefügt.
profile.isManager event.idm.entity.entity.user.attribute.labels Wenn profile.isManager vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „isManager“ hinzugefügt.
lastLogin event.idm.entity.entity.user.attribute.labels Wenn lastLogin vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „lastLogin“ hinzugefügt.
profile.leaveOfAbsence event.idm.entity.entity.user.attribute.labels Wenn profile.leaveOfAbsence vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „leaveOfAbsence“ hinzugefügt.
profile.managerDn event.idm.entity.entity.user.attribute.labels Wenn profile.managerDn vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „managerDn“ hinzugefügt.
profile.payGroup event.idm.entity.entity.user.attribute.labels Wenn profile.payGroup vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „payGroup“ hinzugefügt.
profile.wdemployeeID event.idm.entity.entity.user.attribute.labels Wenn profile.wdemployeeID vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „wdemployeeID“ hinzugefügt.
profile.zipCode event.idm.entity.entity.user.attribute.labels Wenn profile.zipCode vorhanden ist, wird sein Wert als Schlüssel/Wert-Paar mit dem Schlüssel „zipCode“ hinzugefügt.
profile.userType event.idm.entity.entity.user.attribute.roles Wenn profile.userType vorhanden ist, wird sein Wert einem Array von Rollen hinzugefügt.
profile.organization, profile.company event.idm.entity.entity.user.company_name Der Wert stammt aus profile.organization oder aus profile.company, falls profile.organization nicht vorhanden ist.
profile.department event.idm.entity.entity.user.department Wert aus profile.department.
profile.email, profile.secondEmail, profile.login event.idm.entity.entity.user.email_addresses Werte aus profile.email, profile.secondEmail und profile.login (sofern es sich um eine E-Mail-Adresse und nicht um ein Duplikat handelt) werden in dieses Feld zusammengeführt.
profile.employeeNumber event.idm.entity.entity.user.employee_id Wert aus profile.employeeNumber.
profile.firstName, profile.Preferred_First_Name event.idm.entity.entity.user.first_name Der Wert stammt aus profile.firstName oder aus profile.Preferred_First_Name, falls profile.firstName nicht vorhanden ist.
profile.EmployeeWorkGroup event.idm.entity.entity.user.group_identifiers Wert aus profile.EmployeeWorkGroup.
profile.HireDate, profile.hiredate event.idm.entity.entity.user.hire_date Der Wert wird aus profile.HireDate oder aus profile.hiredate geparst, wenn profile.HireDate nicht vorhanden ist.
profile.lastName, profile.preferred_Last_Name event.idm.entity.entity.user.last_name Der Wert wird aus profile.lastName übernommen, wenn entweder profile.lastName oder profile.preferred_Last_Name vorhanden ist.
lastLogin event.idm.entity.entity.user.last_login_time Der Wert wird aus lastLogin geparst.
passwordChanged event.idm.entity.entity.user.last_password_change_time Der Wert wird aus passwordChanged geparst.
profile.manager, profile.managerEmail, profile.managerId event.idm.entity.entity.user.managers Wird mit einem Objekt gefüllt, das user_display_name aus profile.manager, email_addresses aus profile.managerEmail und employee_id aus profile.managerId enthält.
profile.city, profile.firstBaseCity event.idm.entity.entity.user.office_address.city Der Wert stammt aus profile.city oder aus profile.firstBaseCity, falls profile.city nicht vorhanden ist.
profile.countryCode, profile.country event.idm.entity.entity.user.office_address.country_or_region Der Wert stammt aus profile.countryCode oder aus profile.country, falls profile.countryCode nicht vorhanden ist.
profile.streetAddress event.idm.entity.entity.user.personal_address.name Wert aus profile.streetAddress.
profile.state event.idm.entity.entity.user.personal_address.state Wert aus profile.state.
profile.primaryPhone, profile.mobilePhone, profile.mobile event.idm.entity.entity.user.phone_numbers Werte aus profile.primaryPhone, profile.mobilePhone und profile.mobile werden in diesem Feld zusammengeführt.
profile.terminationDate, profile.terminationdate event.idm.entity.entity.user.termination_date Der Wert wird aus profile.terminationDate oder aus profile.terminationdate geparst, wenn profile.terminationDate nicht vorhanden ist.
profile.title event.idm.entity.entity.user.title Wert aus profile.title.
status event.idm.entity.entity.user.user_authentication_status Zugeordnet aus status: ACTIVE/RECOVERY/LOCKED_OUT/PASSWORD_EXPIRED –> ACTIVE; SUSPENDED –> SUSPENDED; DEPROVISIONED –> DELETED; andernfalls UNKNOWN_AUTHENTICATION_STATUS.
profile.displayName event.idm.entity.entity.user.user_display_name Wert aus profile.displayName.
profile.samAccountName, profile.samaccountname, profile.login, profile.ldapUid event.idm.entity.entity.user.userid Wird in der folgenden Reihenfolge ausgefüllt: profile.samAccountName, profile.samaccountname, profile.login (falls keine E-Mail-Adresse), profile.ldapUid (falls profile.login keine E-Mail-Adresse ist).
event.idm.entity.metadata.entity_type Legen Sie USER fest.
id event.idm.entity.metadata.product_entity_id Wert aus id.
event.idm.entity.metadata.product_name Legen Sie Identity Cloud fest.
event.idm.entity.metadata.vendor_name Legen Sie Okta fest.

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