收集 Okta 記錄

支援的國家/地區:

本文說明如何使用 Okta API,將 Okta 記錄擷取至 Google Security Operations。剖析器會擷取系統記錄,並處理 JSON 陣列中的單一事件和批次事件。這項服務會將資料正規化為 UDM 格式、將 Okta 欄位對應至 UDM 對等項目、透過剖析的使用者代理程式、地理資訊和驗證詳細資料擴充資料,並根據結果和風險資訊產生安全性結果事件。

事前準備

  • Google SecOps 執行個體
  • Okta 的特殊存取權

如何設定 Okta

如要設定 Okta 單一登入,請完成下列工作:

建立具備唯讀權限的 Okta 管理員使用者

  1. 登入 Okta 管理員控制台。
  2. 建立標準使用者。

    • 依序前往「目錄」>「使用者」
    • 按一下「新增使用者」,然後填妥必填欄位。
  3. 選取「安全性」>「管理員」

  4. 按一下「新增管理員」

  5. 在「管理員指派管理員」欄位中,找出標準使用者。

  6. 在「角色」部分,從清單中選取「唯讀管理員」

  7. 登出管理員帳戶。

取得 API 金鑰

  1. 使用唯讀管理員使用者登入 Okta 管理員控制台
  2. 依序前往「安全性」>「API」>「權杖」
  3. 按一下「建立權杖」
  4. 為權杖提供有意義的名稱。
  5. 提供 API 的使用 IP 區域 (如果不確定,可以選取「任何 IP」)。
  6. 按一下「建立權杖」
  7. 複製 API 金鑰。
  8. 按一下「好,我知道了」

設定動態饋給

在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:

  • 依序點選「SIEM Settings」>「Feeds」>「Add New Feed」
  • 依序點選「內容中心」「內容包」「開始使用」

如何設定 Okta 動態饋給

如要設定這類記錄,請按照下列步驟操作:

  1. 按一下「Okta」Okta套件。
  2. 找出 Okta 記錄檔類型。
  3. 為下列欄位指定值:

    • 來源類型:第三方 API (建議)
    • 驗證 HTTP 標頭:以 Authorization:<API_KEY> 格式輸入 Okta API 金鑰。
    • API 主機名稱:指定 Okta 主機的網域名稱 (例如 <your-domain>.okta.com)。
    • 資產命名空間資產命名空間
    • 擷取標籤:套用至這個動態饋給事件的標籤。

    進階選項

    • 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
    • 資產命名空間與動態饋給相關聯的命名空間
    • 擷取標籤:套用至這個動態饋給所有事件的標籤。
  4. 按一下「建立動態饋給」

如要進一步瞭解如何為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。

UDM 對應表

記錄欄位 UDM 對應 備註
actor.displayName principal.resource.attribute.labels
assigned_group[] security_result.detection_fields
created target.resource.attribute.labels
credentials.oauthClient.autoKeyRotation security_result.detection_fields
credentials.oauthClient.pkce_required security_result.detection_fields
credentials.oauthClient.token_endpoint_auth_method security_result.detection_fields
credentials.signing.kid security_result.detection_fields
credentials.userNameTemplate.pushStatus security_result.detection_fields
credentials.userNameTemplate.template metadata.product_event_type
credentials.userNameTemplate.type security_result.detection_fields
id principal.user.userid
label target.resource.attribute.labels
lastUpdated target.resource.attribute.labels
orn target.resource.attribute.labels
settings.implicitAssignment security_result.detection_fields
settings.manualProvisioning security_result.detection_fields
settings.notifications.vpn.network.connection security_result.detection_fields
settings.notifications.vpn.network.helpUrl security_result.detection_fields
settings.notifications.vpn.network.message security_result.detection_fields
settings.oauthClient.application_type security_result.detection_fields
settings.oauthClient.client_uri security_result.detection_fields
settings.oauthClient.consent_method security_result.detection_fields
settings.oauthClient.dpop_bound_access_tokens security_result.detection_fields
settings.oauthClient.grant_types[] security_result.detection_fields
settings.oauthClient.idp_initiated_login.mode security_result.detection_fields
settings.oauthClient.initiate_login_uri security_result.detection_fields
settings.oauthClient.issuer_mode security_result.detection_fields
settings.oauthClient.logo_uri security_result.detection_fields
settings.oauthClient.pkce_required security_result.detection_fields
settings.oauthClient.redirect_uris[] security_result.detection_fields
settings.oauthClient.response_types[] security_result.detection_fields
settings.oauthClient.token_endpoint_auth_method security_result.detection_fields
settings.oauthClient.wildcard_redirect security_result.detection_fields
settings.signOn.acsUrl security_result.detection_fields
settings.signOn.assertionSigned security_result.detection_fields
settings.signOn.attributeStatements[0].filterType security_result.detection_fields
settings.signOn.attributeStatements[0].filterValue security_result.detection_fields
settings.signOn.attributeStatements[0].name security_result.detection_fields
settings.signOn.attributeStatements[0].namespace security_result.detection_fields
settings.signOn.attributeStatements[0].type security_result.detection_fields
settings.signOn.audience security_result.detection_fields
settings.signOn.authnContextClassRef security_result.detection_fields
settings.signOn.defaultRelayState security_result.detection_fields
settings.signOn.destination security_result.detection_fields
settings.signOn.digestAlgorithm security_result.detection_fields
settings.signOn.idpIssuer security_result.detection_fields
settings.signOn.recipient security_result.detection_fields
settings.signOn.responseSigned security_result.detection_fields
settings.signOn.signatureAlgorithm security_result.detection_fields
settings.signOn.subjectNameIdFormat security_result.detection_fields
settings.signOn.subjectNameIdTemplate security_result.detection_fields
signOnMode security_result.detection_fields
status security_result.detection_fields
visibility.appLinks.oidc_client_link security_result.detection_fields
visibility.autoSubmitToolbar security_result.detection_fields
visibility.hide.iOS security_result.detection_fields
visibility.hide.web security_result.detection_fields
不適用 metadata.vendor_name 設為 Okta
不適用 metadata.product_name 設為 Okta
不適用 extensions.auth.type 設為 SSO

陣列對應表

下表列出 Okta 陣列元素與重複 UDM 欄位的對應關係。

記錄陣列 事件陣列 備註
actor.alternateId TBD
actor.displayName principal.user.user_display_name eventType 為 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius 時。
actor.displayName principal.user.user_display_name eventType 不是 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius
actor.type principal.user.attribute.roles.name eventType 為 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius 時。
actor.type principal.user.attribute.roles.name eventType 不是 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius
anonymous security_result.detection_fields
authenticationContext.externalSessionId network.parent_session_id
client.device principal.asset.type 支援:LINUX、WINDOWS、MAC、IOS、ANDROID、CHROME_OS
client.device additional.fields Event_type
client.geographicalContext.city principal.location.city
client.geographicalContext.country principal.location.country_or_region
client.geographicalContext.geolocation.lat principal.location.region_latitude
client.geographicalContext.geolocation.lon principal.location.region_longitude
client.geographicalContext.postalCode additional.fields
client.geographicalContext.postalCode target.resource.attribute.labels
client.ipAddress principal.ip
client.userAgent network.http.user_agent
network.http.parsed_user_agent
client.userAgent.browser target.resource.attribute.labels
client.userAgent.os principal.platform
client.userAgent.os principal.platform
client.userAgent.rawUserAgent network.http.user_agent
network.http.parsed_user_agent
client.zone additional.fields Event_type
debugContext.debugData.behaviors.New City security_result.detection_fields
debugContext.debugData.behaviors.New Country security_result.detection_fields
debugContext.debugData.behaviors.New Device security_result.detection_fields
debugContext.debugData.behaviors.New Geo-Location security_result.detection_fields
debugContext.debugData.behaviors.New IP security_result.detection_fields
debugContext.debugData.behaviors.New State security_result.detection_fields
debugContext.debugData.behaviors.Velocity security_result.detection_fields
debugContext.debugData.clientAddress principal.ip
principal.asset.ip
debugContext.debugData.dtHash security_result.detection_fields
debugContext.debugData.factor security_result.detection_fields
debugContext.debugData.factorIntent security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors security_result.description
debugContext.debugData.logOnlySecurityData.behaviors.New City security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors.New Country security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors.New Device security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors.New Geo-Location security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors.New IP security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors.New State security_result.detection_fields
debugContext.debugData.logOnlySecurityData.behaviors.Velocity security_result.detection_fields
debugContext.debugData.logOnlySecurityData.risk.reasons security_result.detection_fields
debugContext.debugData.logOnlySecurityData.risk.reasons security_result.description
debugContext.debugData.logOnlySecurityData.risk.level security_result.severity_details
debugContext.debugData.logOnlySecurityData.url target.url
debugContext.debugData.privilegeGranted[] target.user.attribute.roles.name
target.user.attribute.roles.description
debugContext.debugData.pushOnlyResponseType security_result.detection_fields
debugContext.debugData.pushWithNumberChallengeResponseType security_result.detection_fields
debugContext.debugData.requestUri extensions.auth.auth_details
debugContext.debugData.requestUri target.url
debugContext.debugData.risk security_result.detection_fields 對應到 security_result.detection_fields 的原因。
debugContext.debugData.suspiciousActivityEventId security_result.detection_fields
debugContext.debugData.suspiciousActivityEventType security_result.detection_fields
debugContext.debugData.threatDetections security_result.detection_fields
debugContext.debugData.threatSuspected security_result.detection_fields
security_result.threat_status
debugContext.debugData.threatSuspected security_result.detection_fields
security_result.threat_status
debugContext.debugData.tunnels[].anonymous security_result.detection_fields
debugContext.debugData.tunnels[].operator security_result.detection_fields
debugContext.debugData.tunnels[].type security_result.detection_fields
debugContext.debugData.tunnels.n.anonymous security_result.detection_fields
debugContext.debugData.tunnels.n.operator security_result.detection_fields
debugContext.debugData.tunnels.n.type security_result.detection_fields
detail.actor.id principal.user.product_object_id eventType 為 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius 時。
detail.actor.id principal.user.product_object_id eventType 不是 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius
detail.authenticationContext.externalSessionId network.parent_session_id
detail.client.ipChain.0.ip
client.ipAddress
principal.ip
principal.asset.ip
detail.debugContext.debugData.dtHash security_result.detection_fields
detail.debugContext.debugData.factor security_result.detection_fields
detail.debugContext.debugData.factorIntent security_result.detection_fields
detail.debugContext.debugData.pushOnlyResponseType security_result.detection_fields
detail.debugContext.debugData.pushWithNumberChallengeResponseType security_result.detection_fields
detail.debugContext.debugData.requestUri target.url
detail.eventType metadata.product_event_type
detail.outcome.reason security_result.category_details
detail.outcome.result security_result.action
detail.request.ipChain.0.geographicalContext.city principal.location.city
detail.request.ipChain.0.geographicalContext.country principal.location.country_or_region
detail.request.ipChain.0.geographicalContext.state principal.location.state
detail.severity security_result.severity
detail.target.0.alternateId 請參閱附註。 tgtuser_id => target.user.userid
%{tgtusername}@%{tgtdomain} => target.user.email_addresses
detail.target.0.displayName target.application
target.resource.name
detail.target.0.displayName target.user.user_display_name
detail.target.0.detailEntry.policyType} target.resource_ancestors.attribute.labels
detail.target.0.id target.resource.product_object_id
detail.target.0.id target.resource_ancestors.product_object_id
detail.target.0.type target.resource.resource_subtype
detail.target.0.type target.resource_ancestors.resource_subtype
detail.uuid metadata.product_log_id
displayMessage security_result.summary
extensions.auth.type SSO Event_type
extensions.auth.type SSO msg.target.type 不是 AppInstancePolicyEntityPolicyRuleUser 時。
eventType metadata.product_event_type
eventType
detail.eventType
metadata.product_event_type
json_array.n.actor.id principal.user.product_object_id
mapped data.fields to fields
metadata.product_name Okta Event_type
metadata.vendor_name Okta Event_type
msg.actor.alternateId 請參閱附註。 如果剖析失敗,則會對應至 principal.user.userid,否則會將使用者名稱對應至 principal.user.userid
,或將使用者名稱@網域對應至 principal.user.email_addresses
msg.actor.displayName principal.user.user_display_name
msg.actor.type principal.user.attribute.roles.name
msg.authenticationContext.authenticationProvider security_result.detection_fields Event_type
msg.authenticationContext.credentialProvider security_result.detection_fields Event_type
msg.authenticationContext.externalSessionId network.parent_session_id
msg.client.device principal.asset.type 支援:MOBILE、WORKSTATION、LAPTOP、IOT、NETWORK_ATTACHED_STORAGE、PRINTER、SCANNER、SERVER、TAPE_LIBRARY
msg.client.geographicalContext.city principal.location.city
msg.client.geographicalContext.country principal.location.country_or_region
msg.client.geographicalContext.geolocation.lat principal.location.region_latitude
msg.client.geographicalContext.geolocation.lon principal.location.region_longitude
msg.client.geographicalContext.postalCode additional.fields
msg.client.geographicalContext.state principal.location.state
msg.client.ipAddress principal.ip
msg.client.userAgent.browser target.resource.attribute.labels
msg.client.userAgent.os principal.platform 支援:LINUX、WINDOWS、MAC、IOS、ANDROID、CHROME_OS
msg.client.userAgent.rawUserAgent network.http.user_agent
network.http.parsed_user_agent
msg.debugContext.debugData.dtHash security_result.detection_fields
msg.debugContext.debugData.factor security_result.detection_fields
msg.debugContext.debugData.factorIntent security_result.detection_fields
msg.debugContext.debugData.logOnlySecurityData.behaviors security_result.description
msg.debugContext.debugData.logOnlySecurityData.risk.reasons security_result.detection_fields
msg.debugContext.debugData.logOnlySecurityData.url target.url
msg.debugContext.debugData.pushOnlyResponseType security_result.detection_fields
msg.debugContext.debugData.pushWithNumberChallengeResponseType security_result.detection_fields
msg.debugContext.debugData.requestUri extensions.auth.auth_details
msg.debugContext.debugData.threatSuspected security_result.detection_fields
security_result.threat_status
msg.displayMessage security_result.summary
msg.eventType metadata.product_event_type
msg.legacyEventType security_result.detection_fields
msg.outcome.reason security_result.category_details
msg.outcome.result security_result.action
msg.published metadata.event_timestamp
msg.request.ipChain.n.geographicalContext.city intermediary[n].location.city
msg.request.ipChain.n.geographicalContext.country intermediary[n].location.country_or_region
msg.request.ipChain.n.geographicalContext.geolocation.lat intermediary[n].location.region_latitude
msg.request.ipChain.n.geographicalContext.geolocation.lon intermediary[n].location.region_longitude
msg.request.ipChain.n.geographicalContext.state intermediary[n].location.state
msg.request.ipChain.n.ip intermediary[n].ip
msg.securityContext.asNumber security_result.detection_fields
msg.securityContext.asOrg security_result.detection_fields
msg.securityContext.domain security_result.detection_fields
msg.securityContext.isProxy security_result.detection_fields
msg.securityContext.isp security_result.detection_fields
msg.severity security_result.severity
msg.target.alternateId (when msg.target.type == User) target.user.email_addresses msg.target.type = User 時,不過,如果剖析失敗,這會對應至 target.user.userid
,否則
target_user_name 會對應至 target.user.userid
msg.target.detailEntry.policyType target.resource_ancestors.attribute.labels msg.target.type = PolicyEntity 時。
msg.target.detailEntry.signOnModeType security_result.detection_fields msg.target.type 不是 AppInstancePolicyEntityPolicyRuleUser 時。
msg.target.displayName additional.fields
msg.target.displayName about.resource.name msg.target.type 不是 AppInstancePolicyEntityPolicyRuleUser 時。
msg.target.displayName principal.user.user_display_name msg.target.type = User 時。
msg.target.displayName target.application msg.target.type = AppInstance 時。
msg.target.displayName target.resource.name msg.target.type = AppInstance 時。
msg.target.displayName target.resource.name msg.target.type = PolicyRule 時。
msg.target.displayName target.resource_ancestors.name msg.target.type = PolicyEntity 時。
msg.target.id about.resource.product_object_id msg.target.type 不是 AppInstancePolicyEntityPolicyRuleUser 時。
msg.target.id target.resource.product_object_id msg.target.type = AppInstance 時。
msg.target.id target.resource.product_object_id msg.target.type = PolicyRule 時。
msg.target.id target.resource_ancestors.product_object_id msg.target.type = PolicyEntity 時。
msg.target.id target.user.product_object_id msg.target.type = User 時。
msg.target.type about.resource.resource_subtype msg.target.type 不是 AppInstancePolicyEntityPolicyRuleUser 時。
msg.target.type target.resource.resource_subtype msg.target.type = AppInstance 時。
msg.target.type target.resource.resource_subtype msg.target.type = PolicyRule 時。
msg.target.type target.resource_ancestors.resource_subtype msg.target.type = PolicyEntity 時。
msg.target.type target.user.attribute.roles.name msg.target.type = User 時。
msg.transaction.id network.session_id
msg.transaction.type additional.fields Event_type
msg.uuid metadata.product_log_id
operator security_result.detection_fields
outcome.reason
detail.outcome.reason
security_result.category_details
outcome.result
detail.outcome.result
security_result.action
profile.displayName principal.user.user_display_name
profile.email principal.user.email_addresses
profile.login principal.user.userid 使用者名稱 => principal.user.userid
published metadata.event_timestamp
published metadata.event_timestamp
request.ipChain.0.geographicalContext.city
detail.request.ipChain.0.geographicalContext.city
principal.location.city
request.ipChain.0.geographicalContext.country
detail.request.ipChain.0.geographicalContext.country
principal.location.country_or_region
request.ipChain.0.geographicalContext.state
detail.request.ipChain.0.geographicalContext.state
principal.location.state
request.ipChain.0.ip principal.ip
principal.asset.ip
request.ipChain.1.geographicalContext.city intermediary.location.city
request.ipChain.1.geographicalContext.country intermediary.location.country_or_region
request.ipChain.1.geographicalContext.state intermediary.location.state
securityContext.asNumber security_result.detection_fields
securityContext.asOrg security_result.detection_fields
securityContext.domain security_result.detection_fields
securityContext.isProxy security_result.detection_fields
securityContext.isProxy security_result.detection_fields
additional.fields
securityContext.isp security_result.detection_fields
severity
detail.severity
security_result.severity
target[].alternateId target.resource.attribute.labels
target[].detailEntry.methodTypeUsed target.resource_ancestors.attribute.labels
target[].detailEntry.methodUsedVerifiedProperties target.resource_ancestors.attribute.labels
target[].detailEntry.policyRuleFactorMode security_result.detection_fields
target[].detailEntry.policyType target.resource_ancestors.attribute.labels
target[].detailEntry.signOnModeType security_result.detection_fields
target[].displayName additional.fields
target[].displayName target.application
target.resource.name
target[].displayName target.resource.name
target[].displayName target.resource_ancestors.name
target[].id target.resource.product_object_id
target[].id target.resource_ancestors.product_object_id
target[].type target.resource.resource_subtype
target[].type target.resource_ancestors.resource_subtype
target.0.alternateId 請參閱附註。 tgtuser_id => target.user.userid
%{tgtusername}@%{tgtdomain} => target.user.email_addresses
target.0.detailEntry.clientAppId target.asset_id
target.0.displayName
detail.target.0.displayName
target.user.user_display_name
target.0.displayName/target.1.displayName target.user.group_identifiers
target.0.id target.user.product_object_id
target.0.type
detail.target.0.type
target.user.attribute.roles.name
target.1.alternateId 請參閱附註。 tgtuser_id => target.user.userid
%{tgtusername}@%{tgtdomain} => target.user.email_addresses
target.1.detailEntry.clientAppId target.asset_id
target.1.displayName target.user.user_display_name
target.1.id target.user.product_object_id
target.1.type target.user.attribute.roles.name
transaction.id network.session_id
type security_result.detection_fields
user_agent.browser target.resource.attribute.labels
user_email principal.user.email_addresses eventType 為 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius 時。
user_email principal.user.email_addresses eventType 不是 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius
user_id principal.user.userid eventType 為 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius 時。
user_id principal.user.userid eventType 不是 application.user_membership.updatepolicy.rule.updateuser.authentication.auth_via_radius
uuid metadata.product_log_id
uuid metadata.product_log_id

UDM 對應差異參考資料

Google SecOps 於 2025 年 8 月 26 日發布新版 Okta 剖析器,其中包含 Okta 記錄欄位對應至 UDM 欄位的重大變更,以及事件類型對應的變更。

記錄欄位對應差異

下表列出 2025 年 8 月 26 日前後,Okta 記錄公開的 UDM 欄位對應差異 (分別列於「舊版對應」和「目前對應」欄中)。

記錄欄位 舊對應 目前對應
client.geographicalContext.geolocation.lat target.location.region_latitude principal.location.region_coordinates.latitude
client.geographicalContext.geolocation.lon target.location.region_longitude principal.location.region_coordinates.longitude
created target.resource.attribute.labels metadata.event_timestamp
debugContext.debugData.authnRequestId additional.fields security_result.detection_fields
debugContext.debugData.factorType additional.fields security_result.detection_fields
debugContext.debugData.traceId additional.fields security_result.detection_fields
debugContext.debugData.tunnels.anonymous security_result.detection_fields network.proxy_info.anonymous
lastUpdated target.resource.attribute.labels target.resource.attribute.last_update_time
platform (平台為 iOS 時) principal.platform = MAC principal.platform = IOS
securityContext.asOrg security_result.detection_fields network.organization_name
securityContext.isProxy additional.fields network.is_proxy
target.detailEntry.methodTypeUsed target.resource.attribute.labels security_result.detection_fields
target.detailEntry.methodUsedVerifiedProperties target.resource.attribute.labels security_result.detection_fields

事件類型對應差異

先前分類為一般事件的多個事件,現在會正確分類為有意義的事件類型。

下表列出 2025 年 8 月 26 日前和之後的 Okta 事件類型處理方式差異 (分別列於「舊 event_type」和「目前 event_type」欄中)。

記錄中的 eventType 舊 event_type 目前 event_type
app.oauth2.as.authorize USER_UNCATEGORIZED USER_LOGIN
app.oauth2.as.authorize.code USER_UNCATEGORIZED USER_LOGIN
app.oauth2.as.authorize.implicit.access_token USER_UNCATEGORIZED USER_LOGIN
app.oauth2.as.authorize.implicit.id_token USER_UNCATEGORIZED USER_LOGIN
app.oauth2.authorize.code USER_UNCATEGORIZED USER_LOGIN
app.oauth2.token.grant USER_UNCATEGORIZED USER_LOGIN
application.user_membership.remove USER_UNCATEGORIZED USER_CHANGE_PERMISSIONS
application.user_membership.update STATUS_UPDATE USER_CHANGE_PERMISSIONS
user.authentication.auth_via_AD_agent STATUS_UPDATE USER_UNCATEGORIZED
user.authentication.slo USER_UNCATEGORIZED USER_LOGOUT

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