收集 Okta 日志

支持的语言:

本文档介绍了如何使用 Okta API 将 Okta 日志注入到 Google Security Operations。解析器会提取系统日志,并处理 JSON 数组中的单个事件和批处理事件。它会将数据标准化为 UDM 格式,将 Okta 字段映射到 UDM 等效字段,通过解析的用户代理、地理位置信息和身份验证详细信息来丰富数据,并根据结果和风险信息生成安全结果事件。

准备工作

  • Google SecOps 实例
  • Okta 的特权访问权限

如何配置 Okta

如需配置 Okta SSO,请完成以下任务:

创建具有只读权限的 Okta 管理员用户

  1. 登录 Okta 管理员控制台。
  2. 创建标准用户。

    • 依次前往目录 > 人员
    • 点击添加用户,然后填写必填字段。
  3. 依次选择安全性 > 管理员

  4. 点击添加管理员

  5. 管理员分配(按管理员)字段中,找到“标准用户”。

  6. 角色部分中,从列表中选择只读管理员

  7. 退出管理员账号。

获取 API 密钥

  1. 使用只读管理员用户账号登录 Okta 管理员控制台
  2. 依次前往安全性 > API > 令牌
  3. 点击 Create Token
  4. 为令牌提供一个有意义的名称。
  5. 提供将使用 API 的 IP 区域(如果不确定,可以选择任何 IP)。
  6. 点击 Create Token
  7. 复制 API 密钥。
  8. 点击好的,知道了

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed > 添加新 Feed
  • 内容中心 > 内容包 > 开始

如何设置 Okta Feed

如需配置此日志类型,请按以下步骤操作:

  1. 点击 Okta pack。
  2. 找到 Okta 日志类型。
  3. 为以下字段指定值:

    • 来源类型:第三方 API(推荐)
    • 身份验证 HTTP 标头:输入 Okta API 密钥,格式如下:Authorization:<API_KEY>
    • API 主机名:指定 Okta 主机的域名(例如 <your-domain>.okta.com)。
    • 资产命名空间资产命名空间
    • 注入标签:应用于此 Feed 中事件的标签。

    高级选项

    • Feed 名称:用于标识 Feed 的预填充值。
    • 资产命名空间与 Feed 关联的命名空间
    • 提取标签:应用于相应 Feed 中所有事件的标签。
  4. 点击创建 Feed

如需详细了解如何为相应产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed

UDM 映射表

日志字段 UDM 映射 逻辑
actor.alternateId principal.user.email_addresses 如果为电子邮件地址,则从 actor.alternateId 中提取。如果不是电子邮件地址,则用作 principal.user.userid
actor.displayName principal.user.user_display_name 直接映射。
actor.id principal.user.product_object_id 直接映射。
actor.type principal.user.attribute.roles.name 直接映射。
authenticationContext.authenticationProvider security_result.detection_fields.value 直接映射,键为 authenticationProvider
authenticationContext.credentialProvider security_result.detection_fields.value 直接映射,键为 credentialProvider
authenticationContext.credentialType extensions.auth.mechanism 用于派生身份验证机制(OTP、USERNAME_PASSWORD、LOCAL)。
authenticationContext.externalSessionId network.parent_session_id 直接映射。
client.device principal.asset.type/additional.fields.value.string_value 根据值映射到 principal.asset.type(工作站、移动设备、ROLE_UNSPECIFIED)。在 additional.fields 中,还映射为具有键 device 的字符串值。
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.value.string_value 直接映射为 additional.fields 中键为 Postal code 的字符串值。
client.geographicalContext.state principal.location.state 直接映射。
client.ipAddress principal.ipprincipal.asset.ip 直接映射。
client.userAgent.browser target.resource.attribute.labels.value 直接映射,键为 Browser
client.userAgent.os principal.platform 根据值映射到平台(LINUX、WINDOWS、MAC)。
client.userAgent.rawUserAgent network.http.user_agentnetwork.http.parsed_user_agent 直接映射和解析。
client.zone additional.fields.value.string_value 直接映射为 additional.fields 中键为 zone 的字符串值。
debugContext.debugData.behaviors security_result.descriptionsecurity_result.detection_fields 直接映射到说明。提取各个行为并将其添加为检测字段。
debugContext.debugData.changedAttributes security_result.detection_fields.value 直接映射,键为 changedAttributes
debugContext.debugData.clientAddress principal.ipprincipal.asset.ip 如果缺少 request.ipChainclient.ipAddress,则直接映射。
debugContext.debugData.deviceFingerprint target.asset.asset_id 直接映射,带有 device_finger_print: 前缀。
debugContext.debugData.dtHash security_result.detection_fields.value 直接映射,键为 dtHash
debugContext.debugData.factor security_result.detection_fields.value 直接映射,键为 factor
debugContext.debugData.factorIntent security_result.detection_fields.value 直接映射,键为 factorIntent
debugContext.debugData.logOnlySecurityData.risk.reasons security_result.detection_fields.value 直接映射,键为 Risk Reasons
debugContext.debugData.privilegeGranted target.user.attribute.roles 拆分为各个权限,并添加为具有名称和说明的角色。
debugContext.debugData.pushOnlyResponseType security_result.detection_fields.value 直接映射,键为 pushOnlyResponseType
debugContext.debugData.pushWithNumberChallengeResponseType security_result.detection_fields.value 直接映射,键为 pushWithNumberChallengeResponseType
debugContext.debugData.requestUri extensions.auth.auth_details 直接映射。
debugContext.debugData.suspiciousActivityEventId security_result.detection_fields.value 直接映射,键为 suspiciousActivityEventId
debugContext.debugData.suspiciousActivityEventType security_result.detection_fields.value 直接映射,键为 suspiciousActivityEventType
debugContext.debugData.threatDetections security_result.detection_fields.value 直接映射,键为 threatDetections
debugContext.debugData.threatSuspected security_result.detection_fields.valuesecurity_result.threat_status 映射为检测字段,键为 threatSuspected。用于派生威胁状态(ACTIVE 或 FALSE_POSITIVE)。
debugContext.debugData.url target.url 直接映射。
displayMessage security_result.summary 直接映射。
eventType metadata.product_event_typemetadata.event_type 直接映射到 product_event_type。用于派生 event_type(USER_LOGIN、USER_LOGOUT、USER_CHANGE_PASSWORD、USER_CHANGE_PERMISSIONS、USER_DELETION、GROUP_MODIFICATION、SETTING_MODIFICATION、SCHEDULED_TASK_ENABLE、RESOURCE_CREATION、USER_UNCATEGORIZED)。
legacyEventType security_result.detection_fields.value 直接映射,键为 legacyEventType
outcome.reason security_result.category_details 直接映射。
outcome.result security_result.action 根据值映射到操作(ALLOW、CHALLENGE、BLOCK)。
published metadata.event_timestamp 已解析为时间戳。
request.ipChain.n.geographicalContext intermediary.location 请求链中介 IP 的地理位置上下文。
request.ipChain.n.ip intermediary.ip 请求链中介体的 IP 地址。
securityContext.asNumber security_result.detection_fields.value 直接映射,键为 asNumber
securityContext.asOrg security_result.detection_fields.value 直接映射,键为 asOrg
securityContext.domain security_result.detection_fields.value 直接映射,键为 domain
securityContext.isp security_result.detection_fields.value 直接映射,键为 isp
securityContext.isProxy security_result.detection_fields.value 直接映射,键为 anonymized IP
target.n.alternateId target.user.email_addresses/target.user.userid 如果它是电子邮件地址,则映射到 target.user.email_addresses。如果不是电子邮件地址,则用作 target.user.userid
target.n.detailEntry.clientAppId target.asset_id 直接映射,带有 Client_app_id: 前缀。
target.n.detailEntry.methodTypeUsed target.resource_ancestors.attribute.labels.value 直接映射,当目标类型为 AuthenticatorEnrollment 时,使用键 methodTypeUsed
target.n.detailEntry.methodUsedVerifiedProperties target.resource_ancestors.attribute.labels.value 直接映射,当目标类型为 AuthenticatorEnrollment 时,使用键 methodUsedVerifiedProperties
target.n.detailEntry.policyType target.resource_ancestors.attribute.labels.value 直接映射,键为 Policy Type
target.n.detailEntry.signOnModeType security_result.detection_fields.value 直接映射,键为 signOnModeType
target.n.displayName target.user.user_display_name / target.application / target.resource.name 根据目标类型进行映射。
target.n.id target.user.product_object_id / target.resource.product_object_id / target.resource_ancestors.product_object_id 根据目标类型进行映射。
target.n.type target.user.attribute.roles.name / target.resource.resource_subtype / target.resource_ancestors.resource_subtype 根据目标类型进行映射。
transaction.id network.session_id 直接映射。
transaction.type additional.fields.value.string_value 直接映射为 additional.fields 中键为 type 的字符串值。
uuid metadata.product_log_id 直接映射。
不适用 metadata.vendor_name 设置为 Okta
不适用 metadata.product_name 设置为 Okta
不适用 extensions.auth.type 设置为 SSO

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。