Office 365 Management API订阅Audit.SharePoint失败报错排查
已确认的前置正常状态
- Azure租户、关联应用、客户端密钥配置正常,可正常获取access token
- 已完成Azure AD P2许可证升级,已为租户内用户分配带Exchange Online的Office 365许可
- 合规中心页面已手动开启用户/管理员审计功能,仍触发
Microsoft.Office.Compliance.Audit.DataServiceException租户不存在报错
排查解决步骤
1. 校验Access Token的受众合法性
解析你获取到的access token的payload,确认aud字段值为https://manage.office.com。如果aud值为Graph API端点、其他资源端点,会直接触发AF10001权限不足或后续租户不存在报错。
正确的token获取请求示例:
POST https://login.microsoftonline.com/{你的租户GUID}/oauth2/token Content-Type: application/x-www-form-urlencoded client_id={应用客户端ID} &client_secret={客户端密钥} &resource=https://manage.office.com &grant_type=client_credentials
优先使用v1.0 OAuth端点获取token,v2.0端点在试用版租户场景下存在已知兼容问题,不要用错。
2. 强制触发审计服务后端租户同步
合规中心页面手动开启审计开关不会触发后端审计数据服务的租户信息全量同步,这是触发租户不存在报错的最常见原因,按以下操作处理:
- 用全局管理员账号执行PowerShell命令强制开启统一审计日志,不要仅依赖页面开关:
# 连接Exchange Online PowerShell Connect-ExchangeOnline -UserPrincipalName {全局管理员UPN} # 开启统一审计日志 ingest Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true # 断开连接 Disconnect-ExchangeOnline
- 命令执行完成后等待4-24小时,让微软后端合规服务完成跨节点租户信息同步。试用版租户同步优先级低于付费生产租户,等待期间不要反复重试接口、不要删除重建应用、不要切换许可证,否则会重置同步进度。
3. 校验应用权限的生效状态
Azure门户配置权限后未完成管理员授权,也会触发类租户不存在的鉴权报错:
- 进入对应应用的「API权限」配置页,确认已添加并完成管理员同意以下权限:
- Office 365 Management APIs 应用程序权限:
ActivityFeed.Read、ActivityFeed.ReadDlp - Microsoft Graph 应用程序权限:
Directory.Read.All
- Office 365 Management APIs 应用程序权限:
- 权限配置完成后等待15分钟让权限规则全局生效,再重新获取token调用接口。
注意:仅给单个用户分配试用许可不会触发租户级审计服务激活,必须给执行配置操作的全局管理员账号分配完整的SharePoint Online、Exchange Online许可,不能只开基础版试用的子集功能。
4. 校验订阅接口调用格式
确认订阅请求的路径、参数完全符合规范,格式错误也会返回租户不存在:
POST https://manage.office.com/api/v1.0/{你的租户GUID}/activity/feed/subscriptions/start?contentType=Audit.SharePoint Authorization: Bearer {校验通过的access token}
路径中的租户ID必须填Azure AD的租户GUID,不能填租户域名、应用对象ID、用户ID,参数值填错会直接返回租户不存在。
以上步骤全部完成仍报错的,直接提交微软支持工单,提供请求的x-request-id、请求时间、租户ID,让后端排查审计服务侧的租户记录状态,这类卡同步的问题后端手动触发同步即可修复。
内容的提问来源于stack exchange,提问作者Durgesh O Mishra
相关产品推荐
相关产品推荐

