收集 Microsoft Azure AD 日志
支持的平台:
Google SecOps
SIEM
本文档介绍了如何通过设置 Google 安全运维 Feed 来收集 Microsoft Azure Active Directory (AD) 日志。
Azure Active Directory (AZURE_AD
) 现已更名为 Microsoft Entra ID。Azure AD 审核日志 (AZURE_AD_AUDIT
) 现已更名为 Microsoft Entra ID 审核日志。
如需了解详情,请参阅将数据提取到 Google 安全运营中心。
注入标签标识将原始日志数据标准化为结构化 UDM 格式的解析器。
准备工作
如需完成本页中的任务,请确保您拥有以下资源:
- 您可以登录的 Azure 订阅。
- 全局管理员或 Azure AD 管理员角色。
- Azure 中的 Azure AD(租户)。
配置 Azure AD
- 登录 Azure 门户。
- 依次前往首页 > 应用注册,选择已注册的应用,或者如果您尚未创建应用,则注册应用。
- 如需注册应用,请在应用注册部分中,点击新注册。
- 在名称字段中,提供应用的显示名称。
- 在 Supported account types(支持的账号类型)部分,选择所需选项以指定哪些人可以使用该应用或访问该 API。
- 点击注册。
- 前往概览页面,然后复制应用(客户端)ID 和目录(租户)ID,这些信息是配置 Google Security Operations Feed 所必需的。
- 点击 API 权限。
- 点击添加权限,然后在新窗格中选择 Microsoft Graph。
- 点击应用权限。
- 选择 AuditLog.Read.All、Directory.Read.All 和 SecurityEvents.Read.All 权限。确保权限是应用权限,而不是委托权限。
- 点击为默认目录授予管理员同意书。在用户或管理员在意见征求流程中向应用授予权限后,应用便可以调用 API。
- 依次前往设置 > 管理。
- 点击证书和 Secret。
- 点击 New client secret(新建客户端密钥)。 Value 字段中会显示客户端密钥。
- 复制客户端密钥值。此值仅在创建时显示,并且是进行 Azure 应用注册和配置 Google Security Operations Feed 所必需的。
在 Google Security Operations 中配置 Feed 以注入 Azure AD 日志
- 依次选择 SIEM 设置 > Feed。
- 点击新增。
- 为Feed 名称输入一个具有唯一性的名称。
- 选择第三方 API 作为来源类型。
- 选择 Azure AD 作为日志类型。
- 点击下一步。
- 配置以下必需的输入参数:
- OAUTH 客户端 ID:指定您之前获取的客户端 ID。
- OAUTH 客户端密钥:指定您之前获取的客户端密钥。
- 租户 ID:指定您之前获得的租户 ID。
- 点击下一步,然后点击提交。
如需详细了解 Google Security Operations Feed,请参阅 Google Security Operations Feed 文档。如需了解每种 Feed 类型的要求,请参阅按类型配置 Feed。如果您在创建 Feed 时遇到问题,请与 Google 安全运营支持团队联系。
字段映射参考文档
此解析器代码会将 JSON 格式的原始 Azure AD 日志转换为统一数据模型 (UDM)。该工具首先会通过移除不必要的字段来规范化数据,然后提取用户详细信息、时间戳和事件具体信息等相关信息,并将其映射到相应的 UDM 字段,以便进行一致的表示和分析。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
activityDateTime | read_only_udm.metadata.event_timestamp.seconds | 系统会从 activityDateTime 字段中提取该值,并将其转换为自公元纪年以来的秒数。 |
activityDisplayName | read_only_udm.security_result.summary | 该值直接从 activityDisplayName 字段映射而来。 |
additionalDetails.0.value | read_only_udm.network.http.user_agent | 该值直接从 additionalDetails.0.value 字段映射而来。 |
additionalDetails.1.key | read_only_udm.target.resource.attribute.labels.key | 该值直接从 additionalDetails.1.key 字段映射而来。 |
additionalDetails.1.value | read_only_udm.target.resource.attribute.labels.value | 该值直接从 additionalDetails.1.value 字段映射而来。 |
am_category | read_only_udm.metadata.description | 该值直接从 am_category 字段映射而来。 |
am_tenantId | read_only_udm.metadata.product_deployment_id | 该值直接从 am_tenantId 字段映射而来。 |
appDisplayName | read_only_udm.target.application | 该值直接从 appDisplayName 字段映射而来。如果 appDisplayName 为空,则该值取自 resourceDisplayName 。 |
appId | read_only_udm.target.resource.attribute.labels.value | 该值直接从 appId 字段映射而来。 |
appliedConditionalAccessPolicies.displayName | read_only_udm.about.user.user_display_name | 该值直接从 appliedConditionalAccessPolicies.displayName 字段映射而来。 |
appliedConditionalAccessPolicies.enforcedGrantControls | read_only_udm.security_result.rule_labels.value | 该值直接从 appliedConditionalAccessPolicies.enforcedGrantControls 字段映射而来。 |
appliedConditionalAccessPolicies.enforcedSessionControls | read_only_udm.security_result.rule_labels.value | 该值直接从 appliedConditionalAccessPolicies.enforcedSessionControls 字段映射而来。 |
appliedConditionalAccessPolicies.id | read_only_udm.about.user.userid | 该值直接从 appliedConditionalAccessPolicies.id 字段映射而来。 |
appliedConditionalAccessPolicies.result | read_only_udm.about.labels.value | 该值直接从 appliedConditionalAccessPolicies.result 字段映射而来。 |
authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | 该值直接从 authenticationDetails.authenticationMethod 字段映射而来。 |
authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | 该值直接从 authenticationDetails.authenticationMethodDetail 字段映射而来。 |
authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | 该值直接从 authenticationDetails.authenticationStepDateTime 字段映射而来。 |
authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | 该值直接从 authenticationDetails.authenticationStepRequirement 字段映射而来。 |
authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | 该值直接从 authenticationDetails.authenticationStepResultDetail 字段映射而来。 |
authenticationProcessingDetails.key | read_only_udm.additional.fields.key | 该值直接从 authenticationProcessingDetails.key 字段映射过来,前缀为“authenticationProcessingDetails -”。 |
authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | 该值直接从 authenticationProcessingDetails.value 字段映射而来。 |
callerIpAddress | read_only_udm.principal.ip | 该值直接从 callerIpAddress 字段映射而来。 |
callerIpAddress | read_only_udm.principal.asset.ip | 该值直接从 callerIpAddress 字段映射而来。 |
类别 | read_only_udm.metadata.description | 该值直接从 category 字段映射而来。 |
clientAppUsed | read_only_udm.principal.application | 该值直接从 clientAppUsed 字段映射而来。 |
conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | 该值直接从 conditionalAccessStatus 字段映射而来。 |
correlationId | read_only_udm.network.session_id | 该值直接从 correlationId 字段映射而来。 |
correlationId | read_only_udm.security_result.detection_fields.value | 该值直接从 correlationId 字段映射而来。 |
createdDateTime | read_only_udm.metadata.event_timestamp.seconds | 系统会从 createdDateTime 字段中提取该值,并将其转换为自公元纪年以来的秒数。 |
deviceDetail.browser | read_only_udm.network.http.user_agent | 该值直接从 deviceDetail.browser 字段映射而来。 |
deviceDetail.deviceId | read_only_udm.principal.asset.asset_id | 此值直接从 deviceDetail.deviceId 字段映射而来,前缀为“设备 ID:”。 |
deviceDetail.deviceId | read_only_udm.principal.asset_id | 此值直接从 deviceDetail.deviceId 字段映射而来,前缀为“设备 ID:”。 |
deviceDetail.displayName | read_only_udm.principal.asset.hostname | 该值直接从 deviceDetail.displayName 字段映射而来。 |
deviceDetail.isCompliant | read_only_udm.principal.asset.attribute.labels.value | 该值直接从 deviceDetail.isCompliant 字段映射而来。 |
deviceDetail.isManaged | read_only_udm.principal.asset.attribute.labels.value | 该值直接从 deviceDetail.isManaged 字段映射而来。 |
deviceDetail.operatingSystem | read_only_udm.principal.platform_version | 该值直接从 deviceDetail.operatingSystem 字段映射而来。 |
deviceDetail.trustType | read_only_udm.principal.asset.attribute.labels.value | 该值直接从 deviceDetail.trustType 字段映射而来。 |
durationMs | read_only_udm.additional.fields.value.string_value | 该值直接从 durationMs 字段映射而来。 |
errorCode | read_only_udm.security_result.rule_id | 该值直接从 errorCode 字段映射而来。 |
identity | read_only_udm.target.user.user_display_name | 如果该值与 userId 不同且与电子邮件地址模式不匹配,则直接从 identity 字段映射该值。 |
initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | 该值直接从 initiatedBy.user.displayName 字段映射而来。 |
initiatedBy.user.id | read_only_udm.principal.user.userid | 该值直接从 initiatedBy.user.id 字段映射而来。 |
initiatedBy.user.ipAddress | read_only_udm.principal.ip | 该值直接从 initiatedBy.user.ipAddress 字段映射而来。 |
initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | 该值直接从 initiatedBy.user.ipAddress 字段映射而来。 |
initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | 如果值与电子邮件地址模式匹配,则系统会直接从 initiatedBy.user.userPrincipalName 字段映射该值。 |
ipAddress | read_only_udm.principal.ip | 系统使用 Grok 模式从 ipAddress 字段中提取 IP 地址。 |
ipAddress | read_only_udm.principal.asset.ip | 系统使用 Grok 模式从 ipAddress 字段中提取 IP 地址。 |
isInteractive | read_only_udm.extensions.auth.mechanism | 如果 isInteractive 为“true”,则该值会映射到“INTERACTIVE”;否则,该值会映射到“MECHANISM_OTHER”。 |
isInteractive | read_only_udm.security_result.detection_fields.value | 该值直接从 isInteractive 字段映射而来。 |
level | read_only_udm.security_result.severity | 该值是根据以下逻辑从 level 字段映射的:*“信息”“信息性”“0”“4”会映射到“INFORMATIONAL”。*“警告”“1”“3”均映射到“中等”。*“错误”“2”会映射到“ERROR”。* “严重”“CRITICAL”“critical”均映射为“CRITICAL”。 |
level | read_only_udm.security_result.severity_details | 该值直接从 level 字段映射而来。 |
location.city | read_only_udm.principal.location.city | 该值直接从 location.city 字段映射而来。 |
location.countryOrRegion | read_only_udm.principal.location.country_or_region | 该值直接从 location.countryOrRegion 字段映射而来。 |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | 该值会直接从 location.geoCoordinates.latitude 字段映射并转换为浮点值。 |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | 该值会直接从 location.geoCoordinates.latitude 字段映射并转换为浮点值。 |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | 该值会直接从 location.geoCoordinates.longitude 字段映射并转换为浮点值。 |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | 该值会直接从 location.geoCoordinates.longitude 字段映射并转换为浮点值。 |
location.state | read_only_udm.principal.location.state | 该值直接从 location.state 字段映射而来。 |
networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | 该值是通过将 networkLocationDetails.networkNames 数组中的所有值串联(以英文逗号分隔)而生成的。 |
networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | 该值直接从 networkLocationDetails.networkType 字段映射而来。 |
networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | 该值直接从 networkLocationDetails.networkType 字段映射而来。 |
operationName | read_only_udm.metadata.event_type | 如果 operationName 为“登录活动”,则该值会映射到“USER_LOGIN”;如果 operationName 为“向群组添加成员”,则该值会映射到“USER_CHANGE_PERMISSIONS”;如果 operationName 为“向服务主账号添加应用角色分配”,则该值会映射到“USER_RESOURCE_UPDATE_PERMISSIONS”。否则,系统会根据其他字段的存在情况确定该值:* 如果 has_target_user 为“true”,则为“USER_LOGIN”。* 如果 has_principal_user 为“true”,则为“USER_UNCATEGORIZED”。* 如果 has_principal 为“true”,则为“STATUS_UPDATE”。* 否则为“GENERIC_EVENT”。 |
operationType | read_only_udm.security_result.action_details | 该值直接从 operationType 字段映射而来。 |
properties.activity | read_only_udm.security_result.summary | 该值直接从 properties.activity 字段映射而来。 |
properties.activityDateTime | read_only_udm.metadata.event_timestamp.seconds | 系统会从 properties.activityDateTime 字段中提取该值,并将其转换为自公元纪年以来的秒数。 |
properties.additionalInfo | read_only_udm.network.http.user_agent | 系统会通过解析 JSON 字符串并提取与键“userAgent”对应的值,从 properties.additionalInfo 字段中提取该值。 |
properties.additionalInfo | read_only_udm.target.url | 系统会通过解析 JSON 字符串并提取与键“alertUrl”对应的值,从 properties.additionalInfo 字段中提取值。 |
properties.appId | read_only_udm.target.resource.attribute.labels.value | 该值直接从 properties.appId 字段映射而来。 |
properties.appDisplayName | read_only_udm.target.application | 该值直接从 properties.appDisplayName 字段映射而来。 |
properties.appliedConditionalAccessPolicies.displayName | read_only_udm.security_result.rule_name | 该值直接从 properties.appliedConditionalAccessPolicies.displayName 字段映射而来。 |
properties.appliedConditionalAccessPolicies.id | read_only_udm.security_result.rule_id | 该值直接从 properties.appliedConditionalAccessPolicies.id 字段映射而来。 |
properties.appliedConditionalAccessPolicies.result | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.appliedConditionalAccessPolicies.result 字段映射而来。 |
properties.authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationDetails.authenticationMethod 字段映射而来。 |
properties.authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationDetails.authenticationMethodDetail 字段映射而来。 |
properties.authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationDetails.authenticationStepDateTime 字段映射而来。 |
properties.authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationDetails.authenticationStepRequirement 字段映射而来。 |
properties.authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationDetails.authenticationStepResultDetail 字段映射而来。 |
properties.authenticationProcessingDetails.key | read_only_udm.additional.fields.key | 该值直接从 properties.authenticationProcessingDetails.key 字段映射过来,前缀为“properties authenticationProcessingDetails -”。 |
properties.authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.authenticationProcessingDetails.value 字段映射而来。 |
properties.authenticationRequirement | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.authenticationRequirement 字段映射而来。 |
properties.authenticationRequirementPolicies.detail | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationRequirementPolicies.detail 字段映射而来。 |
properties.authenticationRequirementPolicies.requirementProvider | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.authenticationRequirementPolicies.requirementProvider 字段映射而来。 |
properties.clientAppUsed | read_only_udm.principal.application | 该值直接从 properties.clientAppUsed 字段映射而来。 |
properties.conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.conditionalAccessStatus 字段映射而来。 |
properties.createdDateTime | read_only_udm.metadata.event_timestamp.seconds | 系统会从 properties.createdDateTime 字段中提取该值,并将其转换为自公元纪年以来的秒数。 |
properties.crossTenantAccessType | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.crossTenantAccessType 字段映射而来。 |
properties.detectedDateTime | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.detectedDateTime 字段映射而来。 |
properties.detectionTimingType | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.detectionTimingType 字段映射而来。 |
properties.homeTenantId | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.homeTenantId 字段映射而来。 |
properties.id | read_only_udm.metadata.product_log_id | 该值直接从 properties.id 字段映射而来。 |
properties.initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | 该值直接从 properties.initiatedBy.user.displayName 字段映射而来。 |
properties.initiatedBy.user.id | read_only_udm.principal.user.windows_sid | 该值直接从 properties.initiatedBy.user.id 字段映射而来。 |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.ip | 该值直接从 properties.initiatedBy.user.ipAddress 字段映射而来。 |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | 该值直接从 properties.initiatedBy.user.ipAddress 字段映射而来。 |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.userid | 如果该值与电子邮件地址模式不匹配,则直接从 properties.initiatedBy.user.userPrincipalName 字段映射该值。 |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | 如果值与电子邮件地址模式匹配,则系统会直接从 properties.initiatedBy.user.userPrincipalName 字段映射该值。 |
properties.ipAddress | read_only_udm.principal.ip | 系统会使用 Grok 模式从 properties.ipAddress 字段中提取 IP 地址。 |
properties.ipAddress | read_only_udm.principal.asset.ip | 系统会使用 Grok 模式从 properties.ipAddress 字段中提取 IP 地址。 |
properties.isGuest | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.isGuest 字段映射而来。 |
properties.isDeleted | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.isDeleted 字段映射而来。 |
properties.isProcessing | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.isProcessing 字段映射而来。 |
properties.lastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.lastUpdatedDateTime 字段映射而来。 |
properties.location.city | read_only_udm.principal.location.city | 该值直接从 properties.location.city 字段映射而来。 |
properties.location.countryOrRegion | read_only_udm.principal.location.country_or_region | 该值直接从 properties.location.countryOrRegion 字段映射而来。 |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | 该值会直接从 properties.location.geoCoordinates.latitude 字段映射并转换为浮点值。 |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | 该值会直接从 properties.location.geoCoordinates.latitude 字段映射并转换为浮点值。 |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | 该值会直接从 properties.location.geoCoordinates.longitude 字段映射并转换为浮点值。 |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | 该值会直接从 properties.location.geoCoordinates.longitude 字段映射并转换为浮点值。 |
properties.location.state | read_only_udm.principal.location.state | 该值直接从 properties.location.state 字段映射而来。 |
properties.networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | 该值是通过将 properties.networkLocationDetails.networkNames 数组中的所有值串联(以英文逗号分隔)而生成的。 |
properties.networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.networkLocationDetails.networkType 字段映射而来。 |
properties.networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | 该值直接从 properties.networkLocationDetails.networkType 字段映射而来。 |
properties.resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | 该值直接从 properties.resourceServicePrincipalId 字段映射而来。 |
properties.riskDetail | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskDetail 字段映射而来。 |
properties.riskEventType | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskEventType 字段映射而来。 |
properties.riskLastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskLastUpdatedDateTime 字段映射而来。 |
properties.riskLevel | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskLevel 字段映射而来。 |
properties.riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskLevelDuringSignIn 字段映射而来。 |
properties.riskState | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskState 字段映射而来。 |
properties.riskType | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.riskType 字段映射而来。 |
properties.source | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.source 字段映射而来。 |
properties.targetResources.0.id | read_only_udm.target.user.product_object_id | 该值直接从 properties.targetResources.0.id 字段映射而来。 |
properties.targetResources.modifiedProperties.0.newValue | read_only_udm.target.group.product_object_id | 该值直接从 properties.targetResources.modifiedProperties.0.newValue 字段映射而来。 |
properties.tokenIssuerType | read_only_udm.additional.fields.value.string_value | 该值直接从 properties.tokenIssuerType 字段映射而来。 |
properties.userAgent | read_only_udm.network.http.parsed_user_agent | 该值会直接从 properties.userAgent 字段映射,并转换为解析后的用户代理对象。 |
properties.userAgent | read_only_udm.network.http.user_agent | 该值直接从 properties.userAgent 字段映射而来。 |
properties.userId | read_only_udm.target.user.product_object_id | 该值直接从 properties.userId 字段映射而来。 |
properties.userPrincipalName | read_only_udm.target.user.userid | 如果该值与电子邮件地址模式不匹配,则直接从 properties.userPrincipalName 字段映射该值。 |
properties.userPrincipalName | read_only_udm.target.user.email_addresses | 如果值与电子邮件地址模式匹配,则系统会直接从 properties.userPrincipalName 字段映射该值。 |
结果 | read_only_udm.security_result.action | 如果 result 为“success”,则该值会映射为“ALLOW”。 |
结果 | read_only_udm.security_result.action_details | 如果 result 为“success”,则该值会直接从 result 字段映射而来。 |
resultDescription | read_only_udm.security_result.description | 该值直接从 resultDescription 字段映射而来。 |
resultSignature | read_only_udm.additional.fields.value.string_value | 该值直接从 resultSignature 字段映射而来。 |
resultType | read_only_udm.security_result.action | 如果 resultType 为“0”,则该值会映射到“允许”。 |
resultType | read_only_udm.security_result.rule_id | 如果 resultType 字段不为空且不为“0”,则该值会直接从该字段映射过来。 |
resultType | read_only_udm.security_result.summary | 如果 resultType 为“0”,则该值会映射到“登录成功”;否则,该值会映射到“登录失败”。 |
resourceDisplayName | read_only_udm.target.application | 该值直接从 resourceDisplayName 字段映射而来。 |
resourceDisplayName | read_only_udm.target.resource.name | 该值直接从 resourceDisplayName 字段映射而来。 |
resourceId | read_only_udm.target.resource.id | 该值直接从 resourceId 字段映射而来。 |
resourceId | read_only_udm.target.resource.product_object_id | 该值直接从 resourceId 字段映射而来。 |
resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | 该值直接从 resourceServicePrincipalId 字段映射而来。 |
riskDetail | read_only_udm.additional.fields.value.string_value | 该值直接从 riskDetail 字段映射而来。 |
riskEventTypes | read_only_udm.additional.fields.value.string_value | 系统会从 riskEventTypes 数组中提取该值,并将其映射到 additional.fields 数组中的字符串值。 |
riskEventTypes | read_only_udm.additional.fields.value.list_value.values.string_value | 该值是直接从 riskEventTypes 数组的每个元素映射的。 |
riskEventTypes_v2 | read_only_udm.additional.fields.value.list_value.values.string_value | 该值是直接从 riskEventTypes_v2 数组的每个元素映射的。 |
riskLevelAggregated | read_only_udm.additional.fields.value.string_value | 该值直接从 riskLevelAggregated 字段映射而来。 |
riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | 该值直接从 riskLevelDuringSignIn 字段映射而来。 |
riskState | read_only_udm.additional.fields.value.string_value | 该值直接从 riskState 字段映射而来。 |
status.additionalDetails | read_only_udm.security_result.description | 该值直接从 status.additionalDetails 字段映射而来。 |
status.errorCode | read_only_udm.security_result.action | 如果 status.errorCode 为“0”,则该值会映射到“允许”。 |
status.errorCode | read_only_udm.security_result.rule_id | 如果 status.errorCode 字段不为空,则该值会直接从该字段映射过来。 |
status.errorCode | read_only_udm.security_result.summary | 如果 status.errorCode 为“0”,则该值会映射到“登录成功”;否则,该值会映射到“登录失败”。 |
status.failureReason | read_only_udm.additional.fields.value.string_value | 该值直接从 status.failureReason 字段映射而来。 |
targetResources.displayName | read_only_udm.target.resource.name | 该值直接从 targetResources.displayName 字段映射而来。 |
targetResources.id | read_only_udm.target.resource.id | 该值直接从 targetResources.id 字段映射而来。 |
targetResources.id | read_only_udm.target.resource.product_object_id | 该值直接从 targetResources.id 字段映射而来。 |
targetResources.modifiedProperties.displayName | read_only_udm.target.resource.attribute.labels.key | 该值直接从 targetResources.modifiedProperties.displayName 字段映射而来。 |
targetResources.modifiedProperties.newValue | read_only_udm.target.resource.attribute.labels.value | 该值是从 targetResources.modifiedProperties.newValue 字段中移除双引号后直接映射的。 |
targetResources.modifiedProperties.oldValue | read_only_udm.target.resource.attribute.labels.value | 该值直接从 targetResources.modifiedProperties.oldValue 字段映射而来。 |
targetResources.type | read_only_udm.target.resource.type | 该值直接从 targetResources.type 字段映射而来。 |
targetResources.userPrincipalName | read_only_udm.target.user.user_display_name | 该值直接从 targetResources.userPrincipalName 字段映射而来。 |
tenantId | read_only_udm.metadata.product_deployment_id | 该值直接从 tenantId 字段映射而来。 |
时间 | read_only_udm.metadata.event_timestamp.seconds | 系统会从 time 字段中提取该值,并将其转换为自公元纪年以来的秒数。 |
userAgent | read_only_udm.network.http.parsed_user_agent | 该值会直接从 userAgent 字段映射,并转换为解析后的用户代理对象。 |
userAgent | read_only_udm.network.http.user_agent | 该值直接从 userAgent 字段映射而来。 |
userDisplayName | read_only_udm.target.user.user_display_name | 如果该值与 userId 不同且与电子邮件地址模式不匹配,则直接从 userDisplayName 字段映射该值。 |
userPrincipalName | read_only_udm.principal.administrative_domain | 系统会使用 Grok 模式从 userPrincipalName 字段中提取电子邮件地址的域名部分,并将其映射到 principal.administrative_domain 字段。 |
userPrincipalName | read_only_udm.target.user.email_addresses | 如果值与电子邮件地址模式匹配,则系统会直接从 userPrincipalName 字段映射该值。 |
userPrincipalName | read_only_udm.target.user.userid | 如果该值与电子邮件地址模式不匹配,则直接从 userPrincipalName 字段映射该值。 |
userId | read_only_udm.target.user.product_object_id | 该值直接从 userId 字段映射而来。 |
read_only_udm.metadata.log_type | AZURE_AD | 此值在解析器中硬编码。 |
read_only_udm.metadata.vendor_name | Microsoft | 此值在解析器中硬编码。 |
read_only_udm.metadata.product_name | Azure AD | 此值在解析器中硬编码。 |
read_only_udm.extensions.auth.type | SSO | 此值在解析器中硬编码。 |
变化
2024-07-05
- 将“isInteractive”映射到“security_result.detection_fields”。
2024-04-02
- 将“properties.createdDateTime”映射到“metadata.event_timestamp”。
- 将“properties.resourceServicePrincipalId”和“resourceServicePrincipalId”映射到“target.resource.attribute.labels”。
- 将“properties.authenticationProcessingDetails”“authenticationProcessingDetails”和“properties.networkLocationDetails”映射到“additional.fields”。
- 将“properties.userAgent”映射到“network.http.user_agent”和“network.http.parsed_user_agent”。
- 将“properties.authenticationRequirement”映射到“additional.fields”。
2024-06-03
- 将“policies.displayName”的映射从“about.user.user_display_name”更改为“security_result.rule_name”。
- 将“policies.id”的映射从“about.user.userid”更改为“security_result.rule_id”。
- 将“policies.result”的映射从“about.labels”更改为“security_result.detection_fields”。
2024-05-29
- 当“status.errorCode”为“0”时,将“security_result.action”设置为“ALLOW”。
2024-05-13
bug 修复:
- 将“userPrincipalName”映射到“target.user.userid”。
2024-05-10
- 将“networkLocationDetails.n.networkNames”“properties.networkLocationDetails.n.networkNames”“networkLocationDetails.n.networkType”和“properties.networkLocationDetails.n.networkType”映射到“additional.fields”。
- 将“properties.userAgent”和“userAgent”映射到“network.http.user_agent”和“network.http.parsed_user_agent”。
2024-05-03
bug 修复:
- 在映射“target.modifiedProperties.n.newValue”之前添加了“on_error”检查。
- 将“target.modifiedProperties.n.oldValue”和“target.modifiedProperties.n.displayName”映射到“target.resource.attribute.labels”。
- 将“activityDisplayName”映射到“security_result.summary”。
2024-04-30
- 将“properties.authenticationDetails”“properties.networkLocationDetails”“properties.authenticationRequirementPolicies”“networkLocationDetails”和“authenticationRequirementPolicies”映射到“security_result.detection_fields”。
2024-04-02
- 将“properties.authenticationRequirement”映射到“additional.fields”。
2024-04-02
- 将“authenticationRequirement”映射到“additional.fields”。
2024-02-26
- 将“appliedConditionalAccessPolicies”映射到“security_result”。
- 将“isInteractive”映射到“extensions.auth.mechanism”。
- 将“location.geoCoordinates.altitude”映射到“additional.fields”。
2024-02-09
- 将“authenticationDetails.authenticationMethod”“authenticationDetails.authenticationMethodDetail”“authenticationDetails.authenticationStepResultDetail”“authenticationDetails.authenticationStepDateTime”和“authenticationDetails.authenticationStepRequirement”映射到“security_result.detection_fields”。
- 将“authenticationDetails.succeeded”映射到“security_result.action”。
- 将“status.additionalDetails”映射到“security_result.description”。
2024-01-11
- 将“correlationId”映射到“security_result.detection_fields”。
2023-11-20
- 将“tenantId”映射到“metadata.product_deployment_id”。
- 将“级别”映射到“security_result.severity_details”和“security_result.severity”。
- 将“properties.userDisplayName”映射到“target.user.user_display_name”。
- 将“identity”映射到“target.user.user_display_name”。
- 将“properties.activityDateTime”映射到“metadata.event_timestamp”。
- 将“properties.activity”映射到“security_result.summary”。
- 映射了“resultSignature”“properties.riskLevel”“properties.isGuest”“properties.isDeleted”“properties.isProcessing”
- "properties.riskLastUpdatedDateTime", "properties.riskType", "properties.riskEventType", "properties.riskState", "properties.riskDetail", "properties.source", "properties.detectionTimingType"
- “properties.detectedDateTime”“properties.lastUpdatedDateTime”“properties.tokenIssuerType”“properties.homeTenantId”“properties.userType”“properties.crossTenantAccessType”“durationMs”移到了“additional.fields”。
- 将“resourceId”映射到“target.resource.product_object_id”。
- 将“properties.location.geoCoordinates.longitude”和“location.geoCoordinates.longitude”映射到“principal.location.region_coordinates.longitude”。
- 将“properties.location.geoCoordinates.latitude”和“location.geoCoordinates.latitude”映射到“principal.location.region_coordinates.latitude”。
2023-07-12
- 将“deviceDetail.isCompliant”“deviceDetail.isManaged”“deviceDetail.trustType”映射到“principal.asset.attribute.labels”。
- 将“deviceDetail.deviceId”映射到“principal.asset.asset_id”。
- 将“deviceDetail.browser”映射到“network.http.user_agent”。
- 将“deviceDetail.operatingSystem”映射到“principal.platform_version”。
- 将“status.failureReason”映射到“additional.fields”。
- 将“status.errorCode”映射到“security_result.rule_id”。
- 将“deviceDetail.displayName”映射到“principal.asset.hardware”。
2023-03-14
- 将“browser”映射到“principal.resource.attribute.labels”。
- 将“isCompliant”“isManaged”“trustType”映射到“principal.asset.attribute.labels”。
- 将“domain”表单中的“userPrincipalName”映射到“principal.administrative_domain”。
2022-12-16
- 为字段“initiatedBy.user.userPrincipalName”添加了条件检查,并将其映射到“principal.user.email_addresses”。
2022-10-28
- 将“additionalDetails.0.value”映射到“network.http.user_agent”。
- 将“additionalDetails.1.value”映射到“target.resource.attribute.labels”。
- 将“Id”映射到“metadata.product_log_id”。
- 将“initiatedBy.user.id”映射到“principal.user.userid”。
- 将“initiatedBy.user.displayName”映射到“principal.user.user_display_name”。
- 将“initiatedBy.user.ipAddress”映射到“principal.ip”。
- 将“initiatedBy.user.userPrincipalName”映射到“principal.user.email_addresses”。
- 将“operationType”映射到“security_result.action_details”。
- 将“target.displayName”映射到“target.resource.name”。
- 将“target.id”映射到“target.resource.id”。
- 将“target.type”映射到“target.resource.type”。
- 如果 field.displayName 为“AppRole.Id”,则将“field.newValue”映射到“target.resource.product_object_id”;否则,将“field.newValue”映射到“target.resource.attribute.labels”。
- 添加了对 errorCode 的检查。
- 将“loggedByService”映射到“target.application”。
- 将“activityDisplayName”映射到“metadata.product_event_type”。
- 将“metadata.event_type”映射到“USER_RESOURCE_UPDATE_PERMISSIONS”,其中“activityDisplayName”为“向服务主账号添加应用角色分配”。
2022-08-25
- 如果“properties.initiatedBy.user.userPrincipalName”与“电子邮件正则表达式”匹配,则映射到“principal.user.email_addresses”,否则映射到“principal.user.userid”。
- 如果“properties.userPrincipalName”或“userPrincipalName”与“电子邮件正则表达式模式”匹配,则映射到“target.user.email_addresses”,否则映射到“target.user.userid”。
2022-08-11
- 移除了“TAG_MALFORMED_ENCODING”标记。
- 添加了“event_type”"GENERIC_EVENT"。
2022-05-29
- 增强功能 - 修改了映射到“additional.fields”的“riskEventTypes_v2”字段的 for 循环。
- 将字段“level”映射到“security_result.severity_details”。
- 将字段“properties.result”映射到“security_result.action_details”。
2022-04-20
- bug 修复 - 解析了事件“appDisplayName”为“NotApplicable”的日志。
- 修改了字段“riskEventTypes”的 for 循环。