收集 Microsoft Intune 日志
本文档介绍了如何使用 Microsoft Azure Blob Storage V2 设置 Google Security Operations Feed 来收集 Microsoft Intune 日志。
Microsoft Intune 是一种基于云的端点管理解决方案,可管理用户对组织资源的访问权限,并简化移动设备、台式机和虚拟端点等各种设备上的应用和设备管理。
准备工作
确保您满足以下前提条件:
- Google SecOps 实例
- 对 Microsoft Azure 门户拥有特权访问权限,并具有以下权限:
- 创建存储账号
- 为 Microsoft Intune 配置诊断设置
- 管理访问密钥
- 拥有 Intune 管理员或 Global Administrator Microsoft Entra 角色的用户(适用于 Intune 租户)
- 用于设置存储账号的 Azure 订阅
配置 Azure 存储账号
创建存储账号
- 在 Azure 门户中,搜索存储账号。
- 点击 + 创建。
提供以下配置详细信息:
设置 值 订阅 选择您的 Azure 订阅 资源组 选择现有内容或创建新内容 存储账号名称 输入唯一名称(例如 intunelogsstorage)区域 选择区域(例如 East US)性能 标准(推荐) 冗余 GRS(地理位置冗余存储)或 LRS(本地冗余存储) 点击 Review + create(检查 + 创建)。
查看账号概览,然后点击创建。
等待部署完成。
获取存储账号凭据
- 前往您刚刚创建的存储账号。
- 在左侧导航栏中,选择安全性 + 网络下的访问密钥。
- 点击显示键。
- 复制并保存以下内容以供日后使用:
- 存储账号名称:您在创建时提供的名称
- 密钥 1 或密钥 2:共享访问密钥(采用 base-64 编码的 512 位随机字符串)
获取 Blob 服务端点
- 在同一存储账号中,从左侧导航栏中选择端点。
- 复制并保存 Blob 服务端点网址。
- 示例:
https://intunelogsstorage.blob.core.windows.net/
- 示例:
配置 Microsoft Intune 诊断设置
登录 Microsoft Intune 管理中心。依次选择报告 > 诊断设置。首次打开时,请开启此功能。否则,请添加设置。
- 点击添加诊断设置。
- 提供以下配置详细信息:
- 诊断设置名称:输入一个描述性名称(例如
export-to-secops)。 - 在日志部分,选择以下类别:
- ☑ AuditLogs
- ☑ OperationalLogs
- ☑ DeviceComplianceOrg
- ☑ 设备
- 在目标详细信息部分中,选中归档到存储账号复选框。
- 订阅:选择包含您的存储账号的订阅。
- 存储账号:选择您之前创建的存储账号。
- 诊断设置名称:输入一个描述性名称(例如
- 点击保存。
配置完成后,日志将自动导出到存储账号。
- 审核日志会显示在 Intune 中生成更改的活动记录。
- 运营日志会显示成功(或未能)注册的用户和设备的详细信息,以及不合规设备的详细信息。
- “设备合规性组织日志”会显示 Intune 中设备合规性的组织报告,以及不合规设备的详细信息。
- IntuneDevices 显示已注册并受 Intune 管理的设备的设备清单和状态信息。
Intune 审核日志和操作日志会立即从 Intune 发送到 Azure Monitor 服务。Intune 设备合规性组织日志和 IntuneDevices 报告数据会每 24 小时从 Intune 发送到 Azure Monitor 服务一次。因此,您可能需要等待 24 小时才能在 Azure Monitor 服务中获取日志。数据从 Intune 发送后,通常会在 30 分钟内显示在 Azure Monitor 服务中。
在 Google SecOps 中配置 Feed 以提取 Microsoft Intune 日志
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 在Feed 名称字段中,输入 Feed 的名称(例如
Microsoft Intune Logs)。 - 选择 Microsoft Azure Blob Storage V2 作为来源类型。
- 选择 Microsoft Intune 作为日志类型。
- 点击下一步。
为以下输入参数指定值:
Azure URI:输入包含容器路径的 Blob 服务端点网址。由于 Intune 会为不同的日志类别创建多个容器,因此您需要为每个容器分别创建 Feed。
使用以下格式,并将
intunelogsstorage替换为您的 Azure 存储账号名称。- 对于审核日志:
https://intunelogsstorage.blob.core.windows.net/insights-logs-auditlogs/- 对于运维日志:
https://intunelogsstorage.blob.core.windows.net/insights-logs-operationallogs/- 对于设备合规性组织日志:
https://intunelogsstorage.blob.core.windows.net/insights-logs-devicecomplianceorg/- 对于设备:
https://intunelogsstorage.blob.core.windows.net/insights-logs-devices/来源删除选项:根据您的偏好选择删除选项:
- 永不:永不删除转移后的任何文件。
- 删除已转移的文件:在成功转移后删除文件。
- 删除已转移的文件和空目录:在成功转移后删除文件和空目录。
文件存在时间上限:包含在过去指定天数内修改的文件。默认值为 180 天。
共享密钥:输入您从存储账号中捕获的共享密钥值(访问密钥)。
资产命名空间:资产命名空间。
注入标签:要应用于此 Feed 中事件的标签。
点击下一步。
在最终确定界面中查看新的 Feed 配置,然后点击提交。
重复执行第 1-10 步,为每个 Intune 日志类别容器创建其他 Feed。
配置 Azure 存储防火墙(如果已启用)
如果您的 Azure 存储账号使用防火墙,则必须添加 Google SecOps IP 范围。
- 在 Azure 门户中,前往您的存储账号。
- 在安全性 + 网络下,选择网络。
- 在防火墙和虚拟网络下,选择从所选虚拟网络和 IP 地址启用。
- 在防火墙部分中,点击地址范围下方的 + 添加 IP 范围。
以 CIDR 表示法添加每个 Google SecOps IP 范围。
如需获取当前的 IP 范围,请选择以下选项之一:
- 请参阅 IP 许可名单文档
- 使用 Feed Management API 以编程方式检索当前 IP 范围
点击保存。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
| @output | 事件 | 已合并到 @output |
| properties.Actor.UserPermissions | event.idm.read_only_udm.additional.fields | 循环,将每个权限转换为字符串,作为 string_value 添加到键为“UserPermissions”的列表中,合并 |
| properties.TargetDisplayNames | event.idm.read_only_udm.additional.fields | 循环,如果每个 TargetDisplayNames 不为 null,则作为 string_value 添加到键为“TargetDisplayNames”的列表中,合并 |
| properties.TargetObjectIds | event.idm.read_only_udm.additional.fields | 循环,将每个 TargetObjectIds 转换为字符串,以 string_value 形式添加到键为“TargetObjectIds”的列表中,合并 |
| 元数据 | event.idm.read_only_udm.metadata | 已从元数据重命名 |
| 时间 | event.idm.read_only_udm.metadata.event_timestamp | 从时间转换为 ISO8601 |
| has_user | event.idm.read_only_udm.metadata.event_type | 派生:如果 has_user == "true",则为“USER_UNCATEGORIZED”;否则为“GENERIC_EVENT” |
| operationName | event.idm.read_only_udm.metadata.product_event_type | 从 operationName 中提取的值 |
| properties.AuditEventId | event.idm.read_only_udm.metadata.product_log_id | 从 properties.AuditEventId 中获取的值 |
| correlationId | event.idm.read_only_udm.network.session_id | 从 correlationId 中获取的值 |
| 主账号 | event.idm.read_only_udm.principal | 已重命名主账号 |
| properties.Actor.Application | event.idm.read_only_udm.principal.application | 从 properties.Actor.Application 中获取的值 |
| properties.Actor.ApplicationName | event.idm.read_only_udm.principal.resource.name | 从 properties.Actor.ApplicationName 中获取的值 |
| properties.Actor.isDelegatedAdmin | event.idm.read_only_udm.principal.user.attribute.labels | 转换为字符串,创建键为“isDelegatedAdmin”的标签和值,合并 |
| properties.Actor.PartnerTenantId | event.idm.read_only_udm.principal.user.attribute.labels | 创建具有键“PartnerTenantId”和合并值的标签 |
| security_result | event.idm.read_only_udm.security_result | 从 security_result 合并 |
| 类别 | event.idm.read_only_udm.security_result.category_details | 从类别中获取的值 |
| resultDescription | event.idm.read_only_udm.security_result.description | 从 resultDescription 中获取的值 |
| 身份 | event.idm.read_only_udm.security_result.detection_fields | 创建具有键“identity”和来自身份的值的标签,合并 |
| properties.ActivityDate | event.idm.read_only_udm.security_result.detection_fields | 创建具有键“ActivityDate”和来自 properties.ActivityDate 的值(已合并)的标签 |
| properties.ActivityResultStatus | event.idm.read_only_udm.security_result.detection_fields | 转换为字符串,创建键为“ActivityResultStatus”的标签,合并值 |
| properties.ActivityType | event.idm.read_only_udm.security_result.detection_fields | 转换为字符串,创建键为“ActivityType”的标签,合并值 |
| properties.Actor.ActorType | event.idm.read_only_udm.security_result.detection_fields | 转换为字符串,创建键为“ActorType”的标签,合并值 |
| properties.Category | event.idm.read_only_udm.security_result.detection_fields | 转换为字符串,创建键为“Category”的标签并合并值 |
| properties.Targets.ModifiedProperties.Name | event.idm.read_only_udm.security_result.detection_fields | 创建键为“Name”且值来自 mproper.Name 的标签,合并 |
| properties.Targets.ModifiedProperties.New | event.idm.read_only_udm.security_result.detection_fields | 创建键为“New”、值为 mproper.New 的标签,并合并 |
| properties.Targets.ModifiedProperties.Old | event.idm.read_only_udm.security_result.detection_fields | 创建键为“Old”、值为 mproper.Old 的标签,已合并 |
| resultType | event.idm.read_only_udm.security_result.summary | 从 resultType 中获取的值 |
| 目标 | event.idm.read_only_udm.target | 已从目标重命名 |
| tenantId | event.idm.read_only_udm.target.user.userid | 从 tenantId 中获取的值 |
| event.idm.read_only_udm.metadata.product_name | 设置为“Microsoft Intune Context” | |
| event.idm.read_only_udm.metadata.vendor_name | 设置为“Microsoft” |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。