收集 Azure MDM Intune 日志
本文档介绍了如何将 Microsoft Azure Intune 日志收集到 Google Security Operations。您可以使用两种方法配置数据提取:第三方 API(推荐)或 Microsoft Azure Blob 存储 V2。
Microsoft Intune 是一种基于云的端点管理解决方案,可管理用户对组织资源的访问权限,并简化移动设备、台式机和虚拟端点等各种设备上的应用和设备管理。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例
- 对 Microsoft Azure 门户的特权访问权限
- 拥有 Intune 租户的 Intune 管理员或 Global Administrator Microsoft Entra 角色的用户
- 租户的有效 Intune 许可
方法 1:第三方 API(推荐)
此方法使用 Microsoft Graph API 直接从 Microsoft 租户检索 Intune 审核日志和操作日志。
配置 Microsoft Entra 应用注册
创建应用注册
- 登录 Microsoft Entra 管理中心或 Azure 门户。
- 依次前往身份 > 应用 > 应用注册。
- 点击 New registration(新注册)。
- 提供以下配置详细信息:
- 名称:输入一个描述性名称(例如
Google SecOps Intune Integration)。 - 支持的账号类型:选择仅此组织目录中的账号(单租户)。
- 重定向 URI:留空(服务正文身份验证不需要此字段)。
- 名称:输入一个描述性名称(例如
- 点击注册。
- 注册后,从概览页面复制并保存以下值:
- 应用(客户端)ID
- 目录(租户)ID
配置 API 权限
- 在应用注册中,前往 API 权限。
- 点击添加权限。
- 依次选择 Microsoft Graph > 应用权限。
- 搜索并选择以下权限:
- DeviceManagementApps.Read.All
- DeviceManagementConfiguration.Read.All
- DeviceManagementManagedDevices.Read.All
- DeviceManagementServiceConfig.Read.All
- DeviceManagementRBAC.Read.All
- 点击添加权限。
- 点击为 [您的组织]授予管理员同意书。
验证状态列是否针对所有权限显示已向 [您的组织]授予。
所需 API 权限
| 权限 | 类型 | 用途 |
|---|---|---|
| DeviceManagementApps.Read.All | 应用 | 读取应用管理数据和审核事件 |
| DeviceManagementConfiguration.Read.All | 应用 | 读取设备配置和合规性政策 |
| DeviceManagementManagedDevices.Read.All | 应用 | 读取受管理设备的信息 |
| DeviceManagementServiceConfig.Read.All | 应用 | 读取 Intune 服务配置 |
| DeviceManagementRBAC.Read.All | 应用 | 读取基于角色的访问权限控制设置 |
创建客户端密钥
- 在应用注册中,前往证书和密钥。
- 点击 New client secret(新建客户端密钥)。
提供以下配置详细信息:
- 说明:输入描述性名称(例如
Google SecOps Feed)。 失效:选择失效期限。
- 说明:输入描述性名称(例如
点击 Add(添加)。
立即复制客户端密钥值。
在 Google SecOps 中配置 Feed 以注入 Microsoft Intune 日志
- 依次前往 SIEM 设置> Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Microsoft Intune Logs)。 - 选择第三方 API 作为来源类型。
- 选择 Microsoft Intune 作为日志类型。
- 点击下一步。
为以下输入参数指定值:
- OAuth 客户端 ID:输入应用注册中的应用(客户端)ID(例如
1234abcd-1234-abcd-1234-abcd1234abcd)。 - OAuth 客户端密钥:输入您之前复制的客户端密钥值。
- 租户 ID:以 UUID 格式(例如
0fc279f9-fe30-41be-97d3-abe1d7681418)输入应用注册中的目录(租户)ID。 API 完整路径:输入 Microsoft Graph REST API 端点网址。默认值:
graph.microsoft.com/beta/deviceManagement/auditEventsAPI 身份验证端点:输入 Microsoft Active Directory 身份验证端点。默认值:
login.microsoftonline.com资产命名空间:资产命名空间。
注入标签:要应用于此 Feed 中事件的标签。
- OAuth 客户端 ID:输入应用注册中的应用(客户端)ID(例如
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
设置完成后,Feed 会开始从 Microsoft Graph API 检索 Intune 审核日志和操作日志。
区域端点
对于主权云中的 Microsoft Intune 部署,请使用相应的区域端点:
| 云环境 | API 完整路径 | API 身份验证端点 |
|---|---|---|
| 全球 | graph.microsoft.com/beta/deviceManagement/auditEvents |
login.microsoftonline.com |
| 美国政府 L4 | graph.microsoft.us/beta/deviceManagement/auditEvents |
login.microsoftonline.us |
| 美国政府 L5(国防部) | dod-graph.microsoft.us/beta/deviceManagement/auditEvents |
login.microsoftonline.us |
| 中国(世纪互联) | microsoftgraph.chinacloudapi.cn/beta/deviceManagement/auditEvents |
login.chinacloudapi.cn |
方法 2:Microsoft Azure Blob Storage V2
此方法通过以下方式收集 Microsoft Intune 日志:将诊断数据导出到 Azure 存储账号,并配置 Google SecOps Feed 以从 Azure Blob Storage 注入数据。
配置 Azure 存储账号
创建存储账号
- 在 Azure 门户中,搜索存储账号。
- 点击 + 创建。
提供以下配置详细信息:
设置 值 订阅 选择您的 Azure 订阅 资源组 选择现有组或创建新组 存储账号名称 输入唯一名称(例如 intunelogs)区域 选择区域(例如 East US)性能 标准(推荐) 冗余 GRS(地理位置冗余存储)或 LRS(本地冗余存储) 点击 Review + create(检查 + 创建)。
查看概览,然后点击创建。
等待部署完成。
获取存储账号凭据
- 前往您创建的存储账号。
- 在左侧导航栏中,选择安全性 + 网络下的访问密钥。
- 点击显示密钥。
- 复制并保存以下内容:
- 存储账号名称:您在创建时提供的名称。
- 密钥 1 或密钥 2:共享访问密钥。
获取 Blob 服务端点
- 在同一存储账号中,从左侧导航栏中选择端点。
- 复制并保存 Blob 服务端点网址。
- 示例:
https://intunelogs.blob.core.windows.net/
- 示例:
配置 Microsoft Intune 诊断设置
- 登录 Microsoft Intune 管理中心。
- 依次选择报告 > 诊断设置。
- 点击添加诊断设置。
- 提供以下配置详细信息:
- 诊断设置名称:输入一个描述性名称(例如
export-to-secops)。 - 在日志部分,选择以下类别:
- AuditLogs
- OperationalLogs
- DeviceComplianceOrg
- 设备
- 在目标详细信息部分中,选中归档到存储账号复选框。
- 订阅:选择包含您的存储账号的订阅。
- 存储账号:选择您之前创建的存储账号。
- 诊断设置名称:输入一个描述性名称(例如
点击保存。
在 Google SecOps 中配置 Feed 以从 Blob Storage 注入 Microsoft Intune 日志
- 依次前往 SIEM 设置> Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在 Feed 名称字段中,输入 Feed 的名称(例如
Microsoft Intune Blob Storage)。 - 选择 Microsoft Azure Blob Storage V2 作为来源类型。
- 选择 Microsoft Intune 作为日志类型。
- 点击下一步。
为以下输入参数指定值:
Azure URI:输入包含容器路径的 Blob 服务端点网址。为每个日志类别创建单独的 Feed:
对于审核日志:
https://<storage-account>.blob.core.windows.net/insights-logs-auditlogs/对于运维日志:
https://<storage-account>.blob.core.windows.net/insights-logs-operationallogs/对于设备合规性组织日志:
https://<storage-account>.blob.core.windows.net/insights-logs-devicecomplianceorg/对于设备:
https://<storage-account>.blob.core.windows.net/insights-logs-devices/
将
<storage-account>替换为您的 Azure 存储账号名称。来源删除选项:根据您的偏好选择删除选项:
- 永不:转移后永不删除任何文件
- 删除已转移的文件:在成功转移后删除文件
- 删除已转移的文件和空目录:成功转移后删除文件和空目录
文件存在时间上限:包含在过去指定天数内修改的文件。默认值为 180 天。
共享密钥:输入存储账号中的共享访问密钥值。
资产命名空间:资产命名空间。
注入标签:要应用于此 Feed 中事件的标签。
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
重复执行第 1-10 步,为每个 Intune 日志类别容器创建其他 Feed。
配置 Azure 存储防火墙(如果已启用)
如果您的 Azure 存储账号使用防火墙,则必须添加 Google SecOps IP 范围。
- 在 Azure 门户中,前往您的存储账号。
- 在安全性 + 网络下,选择网络。
- 在防火墙和虚拟网络下,选择从所选虚拟网络和 IP 地址启用。
- 在防火墙部分的地址范围下,点击 + 添加 IP 范围。
- 以 CIDR 表示法添加每个 Google SecOps IP 范围。
- 请参阅 IP 许可名单文档
- 或者使用 Feed Management API 以编程方式检索这些信息
- 点击保存。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| properties.Actor.UserPermissions、properties.TargetObjectIds、properties.TargetDisplayNames | additional.fields | 提供事件的其他背景信息的键值对列表 |
| 时间 | metadata.event_timestamp | 事件发生时的时间戳 |
| metadata.event_type | 活动类型(例如,USER_LOGIN、NETWORK_CONNECTION) | |
| operationName | metadata.product_event_type | 产品定义的事件类型 |
| properties.AuditEventId | metadata.product_log_id | 特定于产品的日志标识符 |
| correlationId | network.session_id | 网络连接的会话标识符 |
| properties.Actor.Application | principal.application | 应用标识符 |
| properties.Actor.ApplicationName | principal.resource.name | 资源的名称 |
| properties.Actor.isDelegatedAdmin, properties.Actor.PartnerTenantId | principal.user.attribute.labels | 提供用户额外背景信息的键值对列表 |
| 类别 | security_result.category_details | 有关安全结果类别的其他详细信息 |
| resultDescription | security_result.description | 安全结果的说明 |
| identity、properties.ActivityDate、properties.ActivityResultStatus、properties.ActivityType、properties.Actor.ActorType、properties.Category、properties.Targets.ModifiedProperties.Name、properties.Targets.ModifiedProperties.New、properties.Targets.ModifiedProperties.Old | security_result.detection_fields | 提供安全结果的其他上下文信息的键值对列表 |
| resultType | security_result.summary | 安全性结果摘要 |
| tenantId | target.user.userid | 目标用户的用户 ID |
| metadata.product_name | 产品名称 | |
| metadata.vendor_name | 供应商/公司名称 |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。