收集 Okta 使用者情境記錄

支援的國家/地區:

本文說明如何使用第三方 API 設定 Google Security Operations 資訊提供,藉此收集 Okta 使用者環境記錄。

事前準備

請確認您已完成下列事前準備:

  • Google SecOps 執行個體
  • Okta 租戶或管理控制台的特殊權限存取權
  • Okta 的 API 權杖建立權限

設定 IP 許可清單

建立動態饋給前,請務必在 Okta 防火牆或網路設定中,將 Google SecOps IP 範圍加入許可清單。

取得 Google SecOps IP 範圍

將 IP 範圍新增至 Okta 使用者情境

  1. 登入 Okta 管理控制台。
  2. 依序前往「Security」(安全性) >「Networks」(網路)。
  3. 在「IP 位址限制」下方,按一下「編輯」。
  4. 以 CIDR 標記法將每個 Google SecOps IP 範圍新增至信任的 IP 位址。
  5. 按一下 [儲存]。

設定 Okta User Context API 存取權

如要讓 Google SecOps 提取使用者比對內容資料,請建立具備讀取的權限的 API 權杖。

建立 API 權杖

  1. 登入 Okta 管理控制台。
  2. 依序前往「安全性」 > 「API」。
  3. 選取「權杖」分頁標籤。
  4. 按一下「建立權杖」。
  5. 請提供下列設定詳細資料:
    • 名稱:輸入描述性名稱 (例如 Google SecOps Integration)。
    • 說明 (選用):輸入說明。
  6. 按一下「建立權杖」。

記錄 API 憑證

建立 API 權杖後,您會收到下列憑證:

  • API 權杖:您的 API 權杖值 (例如 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1)

必要的 API 權限

API 權杖在 Okta 中必須具備下列權限:

權限/角色 存取層級 目的
唯讀管理員 讀取 存取使用者個人資料
超級管理員 讀取 完整存取所有使用者資料

設定動態饋給

如要設定動態消息,請按照下列步驟操作:

  1. 依序前往 「SIEM 設定」 > 「動態饋給」。
  2. 按一下「新增動態饋給」。
  3. 在下一個頁面中,按一下「設定單一動態饋給」。
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Okta User Context)。
  5. 選取「第三方 API」做為「來源類型」。
  6. 選取「Okta User Context」做為「Log type」。
  7. 點選「下一步」。
  8. 指定下列輸入參數的值:

    • 驗證 HTTP 標頭:輸入驗證憑證,格式如下:

      Authorization:SSWS your-api-token
      
      • 例如:Authorization:SSWS 00QCGr-1d1d1d1d1d1d1d1d1d1d1d1d1d1d1d1
    • API 主機名稱:Okta 執行個體的完整網域名稱 (例如 example.okta.com,而非任何可能設定的自訂網域)。

      • 例如:company.okta.com
    • 管理員 ID 參考欄位:使用非 Okta ID 參照管理員時的必要 ID (選填)。

    • 資產命名空間:資產命名空間。

    • 擷取標籤:要套用至這個動態饋給事件的標籤。

  9. 點選「下一步」。

  10. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。

設定完成後,動態饋給就會開始依時間順序從 Okta User Context 執行個體擷取記錄。

地區端點

Okta 會根據貴組織所在區域,使用不同的 API 端點:

區域 基準網址 / 主機名稱
美國 (預設) {org-name}.okta.com
歐盟 (歐洲、中東和非洲地區) {org-name}.okta-emea.com
APAC {org-name}.okta.com.au
預覽 (測試) {org-name}.oktapreview.com

請使用與 Okta 執行個體區域對應的主機名稱。

API 頻率限制

Okta API 的使用頻率限制如下:

  • 預設頻率限制:大多數端點每分鐘 600 個要求
  • System Log API:每分鐘 60 項要求
  • 使用者端點:每分鐘 600 個要求

Google SecOps 會自動以指數輪詢方式處理頻率限制。如有任何問題,請聯絡 Okta 支援團隊,提高 API 限制。

UDM 對應表

記錄欄位 UDM 對應 邏輯
activated event.idm.entity.entity.labels 如果 activated 存在,系統會將其值新增為鍵/值組合,並以「activated」做為鍵。
created event.idm.entity.entity.labels 如果 created 存在,系統會將其值新增為鍵/值組合,並將鍵設為「created」。
profile.costCenter event.idm.entity.entity.labels 如果 profile.costCenter 存在,系統會將其值新增為鍵/值組合,並以「costCenter」做為鍵。
profile.Function event.idm.entity.entity.labels 如果 profile.Function 存在,其值會新增為鍵/值組合,鍵為「Function」。
statusChanged event.idm.entity.entity.labels 如果 statusChanged 存在,系統會將其值新增為鍵/值組合,並將鍵設為「statusChanged」。
type.id event.idm.entity.entity.labels 如果 type.id 存在,系統會將其值新增為鍵/值組合,並將鍵設為「type_id」。
profile.location event.idm.entity.entity.location.name 值取自 profile.location。
profile.AD_ObjectGUID event.idm.entity.entity.user.attribute.labels 如果 profile.AD_ObjectGUID 存在,系統會將其值新增為鍵/值組合,並以「AD_ObjectGUID」做為鍵。
profile.ADpwdLastSet event.idm.entity.entity.user.attribute.labels 如果 profile.ADpwdLastSet 存在,系統會將其值新增為鍵/值組合,並以「ADpwdLastSet」做為鍵。
profile.AFF_Code event.idm.entity.entity.user.attribute.labels 如果 profile.AFF_Code 存在,系統會將其值新增為鍵/值組合,並以「AFF_Code」做為鍵。
profile.Desk_Location_WD event.idm.entity.entity.user.attribute.labels 如果 profile.Desk_Location_WD 存在,系統會將其值新增為鍵/值組合,並以「Desk_Location_WD」做為鍵。
profile.Mailing_Address_WD event.idm.entity.entity.user.attribute.labels 如果 profile.Mailing_Address_WD 存在,系統會將其值新增為鍵/值組合,並以「Mailing_Address_WD」做為鍵。
profile.Manager_UPN event.idm.entity.entity.user.attribute.labels 如果 profile.Manager_UPN 存在,系統會將其值新增為鍵/值組合,並以「Manager_UPN」做為鍵。
profile.PRIVATE_CONF_Profile event.idm.entity.entity.user.attribute.labels 如果 profile.PRIVATE_CONF_Profile 存在,系統會將其值新增為鍵/值組合,並以「PRIVATE_CONF_Profile」做為鍵。
profile.Region_WD event.idm.entity.entity.user.attribute.labels 如果 profile.Region_WD 存在,系統會將其值新增為鍵/值組合,鍵為「Region_WD」。
profile.Subsidiary_Company event.idm.entity.entity.user.attribute.labels 如果 profile.Subsidiary_Company 存在,系統會將其值新增為鍵/值組合,並以「Subsidiary_Company」做為鍵。
profile.Telephone_Work event.idm.entity.entity.user.attribute.labels 如果 profile.Telephone_Work 存在,系統會將其值新增為鍵/值組合,鍵為「Telephone_Work」。
profile.Temp_WD_Primary_Email event.idm.entity.entity.user.attribute.labels 如果 profile.Temp_WD_Primary_Email 存在,系統會將其值新增為鍵/值組合,並以「Temp_WD_Primary_Email」做為鍵。
profile.VMware_WS1_Username event.idm.entity.entity.user.attribute.labels 如果 profile.VMware_WS1_Username 存在,系統會將其值新增為鍵/值組合,並以「VMware_WS1_Username」做為鍵。
profile.Work_Street_Address_WD event.idm.entity.entity.user.attribute.labels 如果 profile.Work_Street_Address_WD 存在,系統會將其值新增為鍵/值組合,並以「Work_Street_Address_WD」做為鍵。
profile.Workato_WD_Primary_Email event.idm.entity.entity.user.attribute.labels 如果 profile.Workato_WD_Primary_Email 存在,系統會將其值新增為鍵/值組合,並以「Workato_WD_Primary_Email」做為鍵。
profile.Workday_ID event.idm.entity.entity.user.attribute.labels 如果 profile.Workday_ID 存在,系統會將其值新增為鍵/值組合,並以「Workday_ID」做為鍵。
profile.Worker_Type_WD event.idm.entity.entity.user.attribute.labels 如果 profile.Worker_Type_WD 存在,系統會將其值新增為鍵/值組合,鍵為「Worker_Type_WD」。
profile.businessUnit event.idm.entity.entity.user.attribute.labels 如果 profile.businessUnit 存在,系統會將其值新增為鍵/值組合,並將鍵設為「businessUnit」。
profile.companyName event.idm.entity.entity.user.attribute.labels 如果 profile.companyName 存在,系統會將其值新增為鍵/值組合,並以「companyName」做為鍵。
profile.contingentSupplierName event.idm.entity.entity.user.attribute.labels 如果 profile.contingentSupplierName 存在,系統會將其值新增為鍵/值組合,並以「contingentSupplierName」做為鍵。
profile.conversationId event.idm.entity.entity.user.attribute.labels 如果 profile.conversationId 存在,系統會將其值新增為鍵/值組合,並以「conversationId」做為鍵。
profile.distinguishedName event.idm.entity.entity.user.attribute.labels 如果存在 profile.distinguishedName,系統會將其值新增為鍵/值組合,並以「distinguishedName」做為鍵。
profile.division event.idm.entity.entity.user.attribute.labels 如果 profile.division 存在,系統會將其值新增為鍵/值組合,並以「division」做為鍵。
profile.emailPrefix event.idm.entity.entity.user.attribute.labels 如果 profile.emailPrefix 存在,系統會將其值新增為鍵/值組合,並將鍵設為「emailPrefix」。
profile.employeeType event.idm.entity.entity.user.attribute.labels 如果 profile.employeeType 存在,系統會將其值新增為鍵/值組合,並將鍵設為「employeeType」。
profile.homePostalAddress event.idm.entity.entity.user.attribute.labels 如果 profile.homePostalAddress 存在,系統會將其值新增為鍵/值組合,並以「homePostalAddress」做為鍵。
profile.isManager event.idm.entity.entity.user.attribute.labels 如果 profile.isManager 存在,系統會將其值新增為鍵/值組合,並以「isManager」做為鍵。
lastLogin event.idm.entity.entity.user.attribute.labels 如果 lastLogin 存在,系統會將其值新增為鍵/值組合,並以「lastLogin」做為鍵。
profile.leaveOfAbsence event.idm.entity.entity.user.attribute.labels 如果 profile.leaveOfAbsence 存在,系統會將其值新增為鍵/值組合,並以「leaveOfAbsence」做為鍵。
profile.managerDn event.idm.entity.entity.user.attribute.labels 如果 profile.managerDn 存在,系統會將其值新增為鍵/值組合,並將鍵設為「managerDn」。
profile.payGroup event.idm.entity.entity.user.attribute.labels 如果 profile.payGroup 存在,系統會將其值新增為鍵/值組合,並以「payGroup」做為鍵。
profile.wdemployeeID event.idm.entity.entity.user.attribute.labels 如果 profile.wdemployeeID 存在,系統會將其值新增為鍵/值組合,並以「wdemployeeID」做為鍵。
profile.zipCode event.idm.entity.entity.user.attribute.labels 如果 profile.zipCode 存在,系統會將其值新增為鍵/值組合,並以「zipCode」做為鍵。
profile.userType event.idm.entity.entity.user.attribute.roles 如果 profile.userType 存在,其值會新增至角色陣列。
profile.organization、profile.company event.idm.entity.entity.user.company_name 從 profile.organization 取得的值,如果前者不存在,則從 profile.company 取得。
profile.department event.idm.entity.entity.user.department 值取自 profile.department。
profile.email、profile.secondEmail、profile.login event.idm.entity.entity.user.email_addresses profile.email、profile.secondEmail 和 profile.login (如果值是電子郵件地址且不重複) 的值會合併到這個欄位。
profile.employeeNumber event.idm.entity.entity.user.employee_id 值取自 profile.employeeNumber。
profile.firstName、profile.Preferred_First_Name event.idm.entity.entity.user.first_name 值取自 profile.firstName,如果前者不存在,則取自 profile.Preferred_First_Name。
profile.EmployeeWorkGroup event.idm.entity.entity.user.group_identifiers 值取自 profile.EmployeeWorkGroup。
profile.HireDate、profile.hiredate event.idm.entity.entity.user.hire_date 如果前者不存在,系統會從 profile.HireDate 或 profile.hiredate 剖析值。
profile.lastName、profile.preferred_Last_Name event.idm.entity.entity.user.last_name 如果 profile.lastName 或 profile.preferred_Last_Name 存在,則值取自 profile.lastName。
lastLogin event.idm.entity.entity.user.last_login_time 值會從 lastLogin 剖析。
passwordChanged event.idm.entity.entity.user.last_password_change_time 值是從 passwordChanged 剖析而來。
profile.manager、profile.managerEmail、profile.managerId event.idm.entity.entity.user.managers 填入的物件包含 profile.manager 中的 user_display_name、profile.managerEmail 中的 email_addresses,以及 profile.managerId 中的 employee_id。
profile.city、profile.firstBaseCity event.idm.entity.entity.user.office_address.city 從 profile.city 取得的值,如果前者不存在,則從 profile.firstBaseCity 取得。
profile.countryCode、profile.country event.idm.entity.entity.user.office_address.country_or_region 從 profile.countryCode 取得的值,如果前者不存在,則從 profile.country 取得。
profile.streetAddress event.idm.entity.entity.user.personal_address.name 值取自 profile.streetAddress。
profile.state event.idm.entity.entity.user.personal_address.state 值取自 profile.state。
profile.primaryPhone、profile.mobilePhone、profile.mobile event.idm.entity.entity.user.phone_numbers profile.primaryPhone、profile.mobilePhone 和 profile.mobile 的值會合併到這個欄位。
profile.terminationDate、profile.terminationdate event.idm.entity.entity.user.termination_date 系統會從 profile.terminationDate 剖析值,如果沒有,則從 profile.terminationdate 剖析。
profile.title event.idm.entity.entity.user.title 值取自 profile.title。
status event.idm.entity.entity.user.user_authentication_status 從 status 對應:ACTIVE/RECOVERY/LOCKED_OUT/PASSWORD_EXPIRED -> ACTIVE;SUSPENDED -> SUSPENDED;DEPROVISIONED -> DELETED;否則為 UNKNOWN_AUTHENTICATION_STATUS。
profile.displayName event.idm.entity.entity.user.user_display_name 值取自 profile.displayName。
profile.samAccountName、profile.samaccountname、profile.login、profile.ldapUid event.idm.entity.entity.user.userid 依優先順序填入:profile.samAccountName、profile.samaccountname、profile.login (如果不是電子郵件)、profile.ldapUid (如果 profile.login 不是電子郵件)。
event.idm.entity.metadata.entity_type 設為 USER。
id event.idm.entity.metadata.product_entity_id 值取自 id。
event.idm.entity.metadata.product_name 設為 Identity Cloud。
event.idm.entity.metadata.vendor_name 設為 Okta。
activated", "created", "statusChanged", and "type.id entity.entity.labels 從變更記錄對應
profile.AD_ObjectGUID", "profile.ADpwdLastSet", "profile.AFF_Code", "profile.Desk_Location_WD", "profile.Mailing_Address_WD", "profile.Manager_UPN", "profile.PRIVATE_CONF_Profile", "profile.Region_WD", "profile.Subsidiary_Company", "profile.Telephone_Work", "profile.Temp_WD_Primary_Email", "profile.VMware_WS1_Username", "profile.Work_Street_Address_WD", "profile.Workato_WD_Primary_Email", "profile.Workday_ID", "profile.Worker_Type_WD", "profile.businessUnit", "profile.companyName", "profile.contingentSupplierName", "profile.conversationId", "profile.distinguishedName", "profile.division", "profile.emailPrefix", "profile.employeeType", "profile.homePostalAddress", "profile.isManager", "profile.leaveOfAbsence", "profile.managerDn", "profile.payGroup", "profile.wdemployeeID", and "profile.zipCode entity.entity.user.attribute.labels 從變更記錄對應
profile.country entity.user.country 從變更記錄對應
profile.firstBaseCity entity.user.firstBaseCity 從變更記錄對應
profile.preferred_Last_Name entity.user.preferred_Last_Name 從變更記錄對應
profile.EmployeeWorkGroup entity.user.EmployeeWorkGroup 從變更記錄對應
profile.manager entity.user.managers.user_display_name 從變更記錄對應
profile.organization entity.user.organization 從變更記錄對應
profile.state entity.user.state 從變更記錄對應
profile.streetAddress entity.user.streetAddress 從變更記錄對應
profile.mobile entity.user.mobile 從變更記錄對應
profile.managerEmail entity.user.managers.email_addresses 從變更記錄對應
profile.managerId entity.user.managers.employee_id 從變更記錄對應
profile.spotify_username entity.entity.labels 從變更記錄對應

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。