Mengumpulkan log Konteks Pengguna Okta

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Konteks Pengguna Okta dengan menyiapkan feed Google Security Operations menggunakan API Pihak ketiga.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Akses istimewa ke konsol admin atau tenant Okta
  • Hak istimewa pembuatan token API di Okta

Mengonfigurasi daftar IP yang diizinkan

Sebelum membuat feed, Anda harus memasukkan rentang IP Google SecOps ke dalam daftar yang diizinkan di setelan firewall atau jaringan Okta Anda.

Mendapatkan rentang IP Google SecOps

Menambahkan rentang IP ke Konteks Pengguna Okta

  1. Login ke Konsol Admin Okta.
  2. Buka Security > Networks.
  3. Di bagian Pembatasan Alamat IP, klik Edit.
  4. Tambahkan setiap rentang IP Google SecOps dalam notasi CIDR ke alamat IP tepercaya.
  5. Klik Simpan.

Mengonfigurasi akses Okta User Context API

Agar Google SecOps dapat menarik data konteks pengguna, Anda perlu membuat token API dengan izin baca.

Buat token API

  1. Login ke Konsol Admin Okta.
  2. Buka Keamanan > API.
  3. Pilih tab Tokens.
  4. Klik Create Token.
  5. Berikan detail konfigurasi berikut:
    • Name: Masukkan nama deskriptif (misalnya, Google SecOps Integration).
    • Deskripsi (opsional): Masukkan deskripsi.
  6. Klik Create Token.

Mencatat kredensial API

Setelah membuat token API, Anda akan menerima kredensial berikut:

  • Token API: Nilai token API Anda (misalnya, 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1)

Izin API yang diperlukan

Token API memerlukan izin berikut di Okta:

Izin/Peran Tingkat Akses Tujuan
Administrator Hanya Baca Baca Mengakses data profil pengguna
Administrator Super Baca Akses lengkap ke semua data pengguna

Menyiapkan feed

Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Okta User Context).
  5. Pilih Third party API sebagai Source type.
  6. Pilih Okta User Context sebagai Log type.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:

    • Header HTTP autentikasi: Masukkan kredensial autentikasi dalam format berikut:

      Authorization:SSWS your-api-token
      
      • Contoh: Authorization:SSWS 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1
    • Nama Host API: Nama domain yang sepenuhnya memenuhi syarat dari instance Okta Anda (misalnya, example.okta.com, bukan domain kustom yang mungkin dikonfigurasi).

      • Contoh: company.okta.com
    • Kolom Referensi ID Pengelola: ID yang diperlukan saat Anda menggunakan ID non-Okta untuk mereferensikan pengelola (opsional).

    • Namespace aset: Namespace aset.

    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini.

  9. Klik Berikutnya.

  10. Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.

Setelah penyiapan, feed mulai mengambil log dari instance Konteks Pengguna Okta dalam urutan kronologis.

Endpoint regional

Okta menggunakan endpoint API yang berbeda berdasarkan region organisasi Anda:

Wilayah URL Dasar / Nama Host
Amerika Serikat (Default) {org-name}.okta.com
Uni Eropa (EMEA) {org-name}.okta-emea.com
Asia Pasifik (APAC) {org-name}.okta.com.au
Pratinjau (Pengujian) {org-name}.oktapreview.com

Gunakan nama host yang sesuai dengan region instance Okta Anda.

Batas kapasitas API

Okta API memiliki batas kecepatan berikut:

  • Batas kapasitas default: 600 permintaan per menit untuk sebagian besar endpoint
  • System Log API: 60 permintaan per menit
  • Endpoint pengguna: 600 permintaan per menit

Google SecOps otomatis menangani pembatasan kecepatan dengan backoff eksponensial. Jika Anda mengalami masalah, hubungi dukungan Okta untuk meningkatkan batas API Anda.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
activated event.idm.entity.entity.labels Jika activated ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "activated".
created event.idm.entity.entity.labels Jika created ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "created".
profile.costCenter event.idm.entity.entity.labels Jika profile.costCenter ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "costCenter".
profile.Function event.idm.entity.entity.labels Jika profile.Function ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "Function".
statusChanged event.idm.entity.entity.labels Jika statusChanged ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "statusChanged".
type.id event.idm.entity.entity.labels Jika type.id ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "type_id".
profile.location event.idm.entity.entity.location.name Nilai diambil dari profile.location.
profile.AD_ObjectGUID event.idm.entity.entity.user.attribute.labels Jika profile.AD_ObjectGUID ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "AD_ObjectGUID".
profile.ADpwdLastSet event.idm.entity.entity.user.attribute.labels Jika profile.ADpwdLastSet ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "ADpwdLastSet".
profile.AFF_Code event.idm.entity.entity.user.attribute.labels Jika profile.AFF_Code ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "AFF_Code".
profile.Desk_Location_WD event.idm.entity.entity.user.attribute.labels Jika profile.Desk_Location_WD ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Desk_Location_WD".
profile.Mailing_Address_WD event.idm.entity.entity.user.attribute.labels Jika profile.Mailing_Address_WD ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Mailing_Address_WD".
profile.Manager_UPN event.idm.entity.entity.user.attribute.labels Jika profile.Manager_UPN ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "Manager_UPN".
profile.PRIVATE_CONF_Profile event.idm.entity.entity.user.attribute.labels Jika profile.PRIVATE_CONF_Profile ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "PRIVATE_CONF_Profile".
profile.Region_WD event.idm.entity.entity.user.attribute.labels Jika profile.Region_WD ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Region_WD".
profile.Subsidiary_Company event.idm.entity.entity.user.attribute.labels Jika profile.Subsidiary_Company ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Subsidiary_Company".
profile.Telephone_Work event.idm.entity.entity.user.attribute.labels Jika profile.Telephone_Work ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Telephone_Work".
profile.Temp_WD_Primary_Email event.idm.entity.entity.user.attribute.labels Jika profile.Temp_WD_Primary_Email ada, nilainya ditambahkan sebagai key-value pair dengan kunci "Temp_WD_Primary_Email".
profile.VMware_WS1_Username event.idm.entity.entity.user.attribute.labels Jika profile.VMware_WS1_Username ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "VMware_WS1_Username".
profile.Work_Street_Address_WD event.idm.entity.entity.user.attribute.labels Jika profile.Work_Street_Address_WD ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Work_Street_Address_WD".
profile.Workato_WD_Primary_Email event.idm.entity.entity.user.attribute.labels Jika profile.Workato_WD_Primary_Email ada, nilainya ditambahkan sebagai key-value pair dengan kunci "Workato_WD_Primary_Email".
profile.Workday_ID event.idm.entity.entity.user.attribute.labels Jika profile.Workday_ID ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "Workday_ID".
profile.Worker_Type_WD event.idm.entity.entity.user.attribute.labels Jika profile.Worker_Type_WD ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "Worker_Type_WD".
profile.businessUnit event.idm.entity.entity.user.attribute.labels Jika profile.businessUnit ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "businessUnit".
profile.companyName event.idm.entity.entity.user.attribute.labels Jika profile.companyName ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "companyName".
profile.contingentSupplierName event.idm.entity.entity.user.attribute.labels Jika profile.contingentSupplierName ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "contingentSupplierName".
profile.conversationId event.idm.entity.entity.user.attribute.labels Jika profile.conversationId ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "conversationId".
profile.distinguishedName event.idm.entity.entity.user.attribute.labels Jika profile.distinguishedName ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "distinguishedName".
profile.division event.idm.entity.entity.user.attribute.labels Jika profile.division ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "division".
profile.emailPrefix event.idm.entity.entity.user.attribute.labels Jika profile.emailPrefix ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "emailPrefix".
profile.employeeType event.idm.entity.entity.user.attribute.labels Jika profile.employeeType ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "employeeType".
profile.homePostalAddress event.idm.entity.entity.user.attribute.labels Jika profile.homePostalAddress ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "homePostalAddress".
profile.isManager event.idm.entity.entity.user.attribute.labels Jika profile.isManager ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "isManager".
lastLogin event.idm.entity.entity.user.attribute.labels Jika lastLogin ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "lastLogin".
profile.leaveOfAbsence event.idm.entity.entity.user.attribute.labels Jika profile.leaveOfAbsence ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "leaveOfAbsence".
profile.managerDn event.idm.entity.entity.user.attribute.labels Jika profile.managerDn ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "managerDn".
profile.payGroup event.idm.entity.entity.user.attribute.labels Jika profile.payGroup ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "payGroup".
profile.wdemployeeID event.idm.entity.entity.user.attribute.labels Jika profile.wdemployeeID ada, nilainya akan ditambahkan sebagai pasangan nilai kunci dengan kunci "wdemployeeID".
profile.zipCode event.idm.entity.entity.user.attribute.labels Jika profile.zipCode ada, nilainya ditambahkan sebagai pasangan nilai kunci dengan kunci "zipCode".
profile.userType event.idm.entity.entity.user.attribute.roles Jika profile.userType ada, nilainya akan ditambahkan ke array peran.
profile.organization, profile.company event.idm.entity.entity.user.company_name Nilai diambil dari profile.organization, atau profile.company jika yang pertama tidak ada.
profile.department event.idm.entity.entity.user.department Nilai diambil dari profile.department.
profile.email, profile.secondEmail, profile.login event.idm.entity.entity.user.email_addresses Nilai dari profile.email, profile.secondEmail, dan profile.login (jika berupa email dan bukan duplikat) digabungkan ke dalam kolom ini.
profile.employeeNumber event.idm.entity.entity.user.employee_id Nilai diambil dari profile.employeeNumber.
profile.firstName, profile.Preferred_First_Name event.idm.entity.entity.user.first_name Nilai diambil dari profile.firstName, atau profile.Preferred_First_Name jika yang pertama tidak ada.
profile.EmployeeWorkGroup event.idm.entity.entity.user.group_identifiers Nilai diambil dari profile.EmployeeWorkGroup.
profile.HireDate, profile.hiredate event.idm.entity.entity.user.hire_date Nilai diuraikan dari profile.HireDate atau profile.hiredate jika yang pertama tidak ada.
profile.lastName, profile.preferred_Last_Name event.idm.entity.entity.user.last_name Nilai diambil dari profile.lastName jika profile.lastName atau profile.preferred_Last_Name ada.
lastLogin event.idm.entity.entity.user.last_login_time Nilai diuraikan dari lastLogin.
passwordChanged event.idm.entity.entity.user.last_password_change_time Nilai diuraikan dari passwordChanged.
profile.manager, profile.managerEmail, profile.managerId event.idm.entity.entity.user.managers Diisi dengan objek yang berisi user_display_name dari profile.manager, email_addresses dari profile.managerEmail, dan employee_id dari profile.managerId.
profile.city, profile.firstBaseCity event.idm.entity.entity.user.office_address.city Nilai diambil dari profile.city, atau profile.firstBaseCity jika yang pertama tidak ada.
profile.countryCode, profile.country event.idm.entity.entity.user.office_address.country_or_region Nilai diambil dari profile.countryCode, atau profile.country jika yang pertama tidak ada.
profile.streetAddress event.idm.entity.entity.user.personal_address.name Nilai diambil dari profile.streetAddress.
profile.state event.idm.entity.entity.user.personal_address.state Nilai diambil dari profile.state.
profile.primaryPhone, profile.mobilePhone, profile.mobile event.idm.entity.entity.user.phone_numbers Nilai dari profile.primaryPhone, profile.mobilePhone, dan profile.mobile digabungkan ke dalam kolom ini.
profile.terminationDate, profile.terminationdate event.idm.entity.entity.user.termination_date Nilai diuraikan dari profile.terminationDate atau profile.terminationdate jika yang pertama tidak ada.
profile.title event.idm.entity.entity.user.title Nilai diambil dari profile.title.
status event.idm.entity.entity.user.user_authentication_status Dipetakan dari status: ACTIVE/RECOVERY/LOCKED_OUT/PASSWORD_EXPIRED -> ACTIVE; SUSPENDED -> SUSPENDED; DEPROVISIONED -> DELETED; jika tidak, UNKNOWN_AUTHENTICATION_STATUS.
profile.displayName event.idm.entity.entity.user.user_display_name Nilai diambil dari profile.displayName.
profile.samAccountName, profile.samaccountname, profile.login, profile.ldapUid event.idm.entity.entity.user.userid Diisi dengan urutan prioritas: profile.samAccountName, profile.samaccountname, profile.login (jika bukan email), profile.ldapUid (jika profile.login bukan email).
event.idm.entity.metadata.entity_type Tetapkan ke USER.
id event.idm.entity.metadata.product_entity_id Nilai diambil dari id.
event.idm.entity.metadata.product_name Tetapkan ke Identity Cloud.
event.idm.entity.metadata.vendor_name Tetapkan ke Okta.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.