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

如何通过API将Microsoft Defender安全分数连接到Power BI?

解决方案建议

1. 通过Microsoft Graph API获取安全分数数据

你需要调用Graph API的secureScores及关联端点来获取所需数据,步骤如下:

  • 先在Azure AD注册应用,申请SecurityScore.Read.All和SecurityEvents.Read.All权限(需管理员同意)
  • 在Power BI中通过自定义Power Query调用API:
    1. 打开Power BI,选择获取数据>空查询
    2. 进入高级编辑器,替换为以下代码(自行替换租户ID、客户端ID、客户端密钥):
      let
          TenantID = "你的租户ID",
          ClientID = "你的客户端ID",
          ClientSecret = "你的客户端密钥",
          TokenUrl = "https://login.microsoftonline.com/" & TenantID & "/oauth2/v2.0/token",
          TokenBody = "grant_type=client_credentials&client_id=" & ClientID & "&client_secret=" & ClientSecret & "&scope=https://graph.microsoft.com/.default",
          TokenResponse = Json.Document(Web.Contents(TokenUrl, [Content=Text.ToBinary(TokenBody), Headers=[#"Content-Type"="application/x-www-form-urlencoded"]])),
          AccessToken = TokenResponse[access_token],
          GraphUrl = "https://graph.microsoft.com/v1.0/security/secureScores",
          GraphResponse = Json.Document(Web.Contents(GraphUrl, [Headers=[#"Authorization"="Bearer " & AccessToken]])),
          Results = GraphResponse[value]
      in
          Results
      
    3. 加载数据后,可从返回结果中提取整体安全分数,以及Identity、Data、Device、Application四类细分分数
  • 若需更详细的分类分数,可调用https://graph.microsoft.com/v1.0/security/secureScores/{id}/controlProfiles端点

2. 简化Power Query与Graph的连接

如果不想手动编写代码,可尝试两种简化方式:

  • 使用Power Query的从Web功能,直接输入Graph API端点,在身份验证环节选择OAuth2,按提示完成授权(需拥有对应权限)
  • 部分区域可直接使用Power BI的Microsoft Graph内容包,快速获取安全相关数据

3. 验证API有效性

先在Graph Explorer中测试secureScores端点,确认能返回所需数据后再移植到Power BI;确保使用v1.0版本的API(beta版本稳定性不足),且应用权限已完成管理员同意

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:55:02