You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看应用通过Microsoft Graph API发起的请求并生成查询报告?

查看应用通过Microsoft Graph API发起的GET请求并生成报告

可以实现,核心是通过Azure AD审计日志或Microsoft 365审计日志获取应用调用Graph API的记录,再用PowerShell过滤、导出成指定时间段的报告。以下是具体操作:

前提条件

  • 拥有全局管理员、审计管理员或等效权限
  • 已安装Microsoft.Graph模块(推荐)或AzureAD/ExchangeOnlineManagement模块
  • 日志保留期足够覆盖目标时间段(Azure AD免费版默认30天,付费版最长可达1年)

操作步骤

1. 使用Microsoft Graph PowerShell模块获取Azure AD审计日志

适用于所有经过Azure AD认证的应用Graph请求:

  • 连接到Microsoft Graph:
    Connect-MgGraph -Scopes "AuditLog.Read.All"
    
  • 定义时间范围并筛选GET请求:
    # 设置目标时间段(示例:过去7天)
    $startDate = (Get-Date).AddDays(-7).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
    $endDate = (Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ssZ')
    
    # 过滤Graph API的GET类操作
    $graphGetLogs = Get-MgAuditLogDirectoryAudit -Filter "activityDateTime ge $startDate and activityDateTime le $endDate" | 
        Where-Object {
            $_.OperationName -like "*Get*" -and 
            $_.TargetResources.DisplayName -contains "Microsoft Graph"
        }
    
  • 导出为CSV报告:
    $graphGetLogs | Select-Object ActivityDateTime, OperationName, @{Name="InitiatedApp"; Expression={$_.InitiatedBy.App.DisplayName}}, TargetResources | 
        Export-Csv -Path "Graph_Get_Requests_Report.csv" -NoTypeInformation
    

2. 使用Exchange Online模块获取Microsoft 365审计日志

如需覆盖Exchange、SharePoint等服务的Graph请求,可采用此方法:

  • 连接到Exchange Online:
    Connect-ExchangeOnline
    
  • 查询并筛选Graph GET请求:
    $startDate = (Get-Date).AddDays(-7)
    $endDate = Get-Date
    
    $m365GraphLogs = Search-UnifiedAuditLog -StartDate $startDate -EndDate $endDate -RecordType "AzureActiveDirectory" | 
        Where-Object {
            $_.Operation -like "*Get*" -and 
            $_.AuditData -match '"Service":"Microsoft Graph"'
        }
    
  • 导出报告:
    $m365GraphLogs | Select-Object CreationDate, Operation, UserIds, AuditData | 
        Export-Csv -Path "M365_Graph_Get_Requests.csv" -NoTypeInformation
    

注意事项

  • 部分Graph操作的OperationName是具体名称(如"Get User"、"Get Group"),可调整-like "*Get*"规则匹配更多场景
  • 如需仅查看应用发起的请求,可在过滤条件中添加:$_.InitiatedBy.App -ne $null

内容的提问来源于stack exchange,提问作者drawbridge_user

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:20:18