导出、配置和查看审核日志记录
搜索审核日志并将搜索结果下载到 CSV 文件后,该文件包含一个名为 AuditData 的列。 此列包含有关每个事件的其他信息。 此列中的数据格式化为 JSON 对象,其中包含多个配置为 property:value 对(用逗号分隔)的属性。
问:如果在 AuditData 列中将多个属性组合在一起,组织如何对特定属性进行排序和筛选?
答:通过 Excel 中Power Query 编辑器中的 JSON 转换功能。 此功能使组织能够将 AuditData 列中 JSON 对象中的每个属性拆分为多个列。 这样一来,每个属性都将有自己的列。 反过来,组织可以对其中一个或多个属性进行排序和筛选。 此过程可以帮助它快速找到它要查找的特定审核数据。
步骤 1:导出审核日志搜索结果
第一步是搜索审核日志,然后将逗号分隔值 (CSV) 文件中的结果导出到本地计算机。
运行审核日志搜索。
如有必要,请修改搜索条件,直到获得所需的结果。
在搜索结果页上,选择“ 导出”,然后选择“ 下载所有结果”。
此选项从审核日志搜索中导出所有审核记录。 然后,它将审核日志中的原始数据添加到 CSV 文件。 准备下载文件以进行大型搜索需要一段时间。 搜索所有活动或使用较宽的日期范围时,将生成大型文件。
导出过程完成后,窗口顶部会显示一条消息,提示你打开 CSV 文件并将其保存到本地计算机。 还可以访问“下载”文件夹中的 CSV 文件。
警告
你可以将最多 50,000 个条目从单个审核日志搜索中下载到 CSV 文件。 如果下载了 50,000 个条目到 CSV 文件,则可以假定可能存在超过 50,000 个符合搜索条件的事件。 若要导出的条目超出此限制,请尝试使用日期范围以减少审核日志项目。 你可能需要使用更小日期范围运行多个搜索来导出超过 50,000 个条目。
步骤 2:使用Power Query 编辑器格式化导出的审核日志
下一步是 Excel 中Power Query 编辑器中的 JSON 转换功能发挥作用的地方。 此功能会将 AuditData 列中 JSON 对象中的每个属性拆分为其自己的列。 然后,可以筛选列以根据特定属性的值查看记录。 通过执行此操作,可以快速找到要查找的特定审核数据。
在 Excel for Office 365、Excel 2019 或 Excel 2016 中打开空白工作簿。
在“ 数据 ”选项卡上的“ 获取 & 转换数据” 功能区组中,选择“ 从文本/CSV”。
打开在步骤 1 中下载的 CSV 文件。
在显示的窗口中,选择 “转换数据”。
CSV 文件在查询编辑器中打开。 有四列:CreationDate、UserId、Operations 和 AuditData。
AuditData 列是包含多个属性的 JSON 对象。 下一步是为 JSON 对象中的每个属性创建一列。
右键单击 AuditData 列中的 标题,选择 “转换 ”,然后选择“JSON ”。
在 AuditData 列的右上角,选择展开图标。
将显示 AuditData 列中 JSON 对象中属性的部分列表。
选择“加载更多”以显示 AuditData 列中 JSON 对象中的所有属性。
你可以取消选中任何不想包含的属性旁边的复选框。 消除对调查没有用的列是减少审核日志中显示的数据量的好方法。
注意
上一屏幕截图中显示的 JSON 属性(选择 “加载更多”后)基于在 CSV 文件中 前 1,000 行的 AuditData 列中找到的属性。 如果前 1,000 行之后的记录中存在不同的 JSON 属性,则当 AuditData 列拆分为多个列时,将不包含这些属性(和相应的列)。 为了帮助防止这种情况,请考虑重新运行审核日志搜索。 但这一次,请缩小搜索条件范围,以减少返回的记录。 另一种解决方法是筛选 Operations 列中的项,以便在转换 AuditData 列中的 JSON 对象之前减少行数(在执行上述步骤 5 之前)。
提示
若要查看列表中的属性(如 AuditData.AffectedItems),请选择 要从中拉取属性的列右上角的“展开 ”图标。 然后选择“ 展开到新建行”。 从那里,它将是一条记录,你可以选择 列右上角的“展开 ”图标,查看属性,然后选择要查看或提取的属性。
完成以下任一选项,为所选的每个 JSON 属性添加的列的标题设置格式:
- 取消选中“ 使用原始列名作为前缀 ”复选框。 这样,JSON 属性的名称将用作列名。 例如, RecordType 或 SourceFileName。
- 将“ 使用原始列名”保留为选中前缀 复选框。 通过执行此操作,AuditData 前缀将添加到列名中。 例如, AuditData.RecordType 或 AuditData.SourceFileName。
选择“确定”。
AuditData 列现在将拆分为多个列。 每个新列对应于 AuditData JSON 对象中的属性。 列中的每一行都包含属性的值。 如果属性不包含值,则 显示 null 值。 在 Excel 中,值为 null 的单元格为空。
在“ 开始 ”选项卡上,选择“ 关闭 & 加载 ”以关闭 Power Query 编辑器,并在 Excel 工作簿中打开转换后的 CSV 文件。
使用 PowerShell 搜索和导出审核日志记录
可以使用 Exchange Online PowerShell 中的 Search-UnifiedAuditLog cmdlet 将审核日志搜索的结果导出到 CSV 文件,而不是在 Microsoft Purview 合规性门户中使用审核日志搜索工具。 然后,可以按照步骤 2 中所述的相同过程,使用Power Query编辑器格式化审核日志。
使用 PowerShell cmdlet 的一个优点是,可以使用 RecordType 参数从特定服务搜索事件。 本部分介绍使用 PowerShell 将审核记录导出到 CSV 文件的几个示例,以便可以使用Power Query编辑器转换 AuditData 列中的 JSON 对象,如步骤 2 中所述。
在此示例中,运行以下命令以返回与 SharePoint 共享操作相关的所有记录。
$auditlog = Search-UnifiedAuditLog -StartDate 06/01/2019 -EndDate 06/30/2019 -RecordType SharePointSharingOperation
$auditlog | Select-Object -Property CreationDate,UserIds,RecordType,AuditData | Export-Csv -Path c:\AuditLogs\PowerShellAuditlog.csv -NoTypeInformation
搜索结果将导出到名为 PowerShellAuditlog 的 CSV 文件,其中包含四列: CreationDate 、UserIds 、RecordType 、AuditData 。
还可以使用记录类型的名称或枚举值作为 RecordType 参数的值。 有关记录类型名称及其相应枚举值的列表,请参阅 Office 365 管理活动 API 架构 中的 AuditLogRecordType表。
只能包含 RecordType 参数的单个值。 若要搜索其他记录类型的审核记录,必须再次运行前面的两个命令以指定不同的记录类型并将这些结果追加到原始 CSV 文件。 例如,运行以下两个命令,将相同日期范围中的 SharePoint 文件活动添加到 PowerShellAuditlog.csv 文件。
$auditlog = Search-UnifiedAuditLog -StartDate 06/01/2019 -EndDate 06/30/2019 -RecordType SharePointFileOperation
$auditlog | Select-Object -Property CreationDate,UserIds,RecordType,AuditData | Export-Csv -Append -Path c:\AuditLogs\PowerShellAuditlog.csv -NoTypeInformation
导出和查看审核日志的提示
下面是使用 JSON 转换功能将 AuditData 列拆分为多个列之前和之后导出和查看审核日志的一些提示和示例。
- 筛选 RecordType 列以仅显示来自特定服务或功能区域的记录。 例如,若要显示与 SharePoint 共享相关的事件,可以选择 14(SharePoint 共享活动触发的记录的枚举值)。 有关与 RecordType 列中 显示的枚举值对应的服务列表,请参阅 审核日志 中的详细属性。
- 筛选“ 操作” 列以显示特定活动的记录。 有关与合规性门户中审核日志搜索工具中的可搜索活动相对应的大多数操作的列表,请参阅“搜索审核日志”中的“审核活动”部分。