我想以编程的方式检索和处理从Office 365统一审计日志获得的所有日志,以便进行法医调查。从前端开始,这些日志可以通过Office 365法规管理中心获得。
我尝试了以下从脚本访问这些日志的选项,但没有成功:
那么,这里是否有我缺少的东西,还是没有办法以编程方式从统一审计日志中检索整个保留期的所有项?(一般为90天)。
发布于 2022-04-14 09:02:18
据我所知,唯一的方法是定期使用Management,并将结果输出到一些长期存储的解决方案中(Azure Log Analytics Workspace,或SIEM,如Splunk / Graylog)。也就是说,编写一个检索上周日志的脚本,并至少每周运行一次。
我将解释如何手动检索日志,并在文章底部显示已经存在的工具。
手动:
2:在Azure AD中创建应用程序注册,要获得单个租户审计日志,请选择“仅在组织目录中的帐户(xyz仅-单个租户)”。
3:从新创建的应用程序注册中创建一个“秘密密钥”。把它放在安全的地方,因为它只显示了一次。在应用程序注册的概述页面中,还存储“租户ID”和“应用程序(客户端) ID”。你需要这三个人。
4:在新应用程序注册中,转到"API权限“,并为'ActivityFeed.Read‘和'ActivityFeed.ReadDlp’添加‘应用程序类型’权限。
5:对于下面的步骤,您将需要开始调用Office,为此您需要在标头中使用一个承载令牌。若要获得此请求,请发送以下邮件请求:
您将收到一个包含“access_token”的JSON响应。对于所有即将进行的API调用,请使用以下标题:
“{‘内容-类型’:‘应用程序/x-www-表单-urlencoded’,‘授权’:‘无记名access_token'}”’
6:订阅要检索的审计日志提要。存在以下内容:“Audit.General”、“Audit.AzureActiveDirectory”、“Audit.Exchange”、“Audit.SharePoint”、“DLP.All”。例如,Exchange的帖子看起来应该是:"/activity/feed/subscriptions/start?contentType=“
7:现在可以开始检索实际的日志了。单个日志存在于内容块中,内容块位于页面中,活在提要中(例如,Audit.Exchange提要)。因此,对于您希望从其中检索日志的每个提要,您必须收集所有的内容块(迭代它们的页面),然后从该blob中检索实际的内容。
要检索内容块的页面,请使用以下URL (将粗体内容更改为您的情况):"&endTime=“
这将为您提供一个JSON响应,其中包含内容块。在响应标题中,选中"NextPageUri";如果它包含一个URL,则为下一页内容调用该URL。
现在您有了内容块,使用它们来检索实际的日志。每个内容blob都是一个JSON,其中包含一个"contentUri“字段。调用该URL以检索包含实际日志的JSON响应。
您可以在大多数编程/脚本语言中这样做,但是对于数量更多的日志,您需要并行检索日志,否则需要很长时间。
用工具
如果您想使用现有的工具,这一个是免费的,可以在Linux和Windows上工作,并且支持多个输出。
https://stackoverflow.com/questions/68904432
复制相似问题