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

无需App Registration实现用户登录AAD的解决方案咨询

结论

所有向Azure AD(AAD)发起身份验证请求的客户端,都必须关联对应的应用注册(App Registration),不存在完全跳过应用注册的身份验证流程。你使用MicrosoftPowerBiMgmt PowerShell模块时无需自行注册应用,本质是微软已经预先注册了该模块对应的官方公共客户端,内置了通用的Client ID直接供用户调用,不需要使用者自行操作注册流程。

实现方案

你不需要让使用你的Python模块的开发者自行注册应用,只需要在模块代码中内置微软官方预注册的Power BI公共客户端Client ID即可,完全匹配你的诉求:

  • 微软公开的通用Power BI公共客户端预注册Client ID为 04b07795-8ddb-461a-bbee-02f9e1bf7b46,该ID为PowerShell模块、Azure CLI等微软官方工具通用的公共客户端标识,允许第三方开发者直接使用,无需额外申请。
  • 你可以直接将该ID用于MSAL的PublicClientApplication初始化,示例代码如下:
import msal

# 内置微软预注册的公共客户端ID,无需用户自行注册
CLIENT_ID = "04b07795-8ddb-461a-bbee-02f9e1bf7b46"
# 若需要限定仅企业内部租户登录,可将common替换为租户ID
AUTHORITY = "https://login.microsoftonline.com/common"
SCOPE = ["https://analysis.windows.net/powerbi/api/.default"]

app = msal.PublicClientApplication(CLIENT_ID, authority=AUTHORITY)
# 交互登录获取对应用户权限的令牌
token_result = app.acquire_token_interactive(scopes=SCOPE)
  • 该方案支持用户使用自身AAD凭证交互登录,令牌权限完全继承当前登录用户被分配的Power BI权限,和你使用PowerShell模块的体验一致。
注意事项
  • 该方案仅适用于公共客户端场景(用户本地运行脚本、交互登录的场景),不适用于需要Client Secret的无值守服务端场景,匹配你当前的模块定位。
  • 该Client ID不绑定任何租户,支持所有合规的AAD用户登录,你直接内置到模块代码中即可,使用者完全不需要感知应用注册的相关流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:06:08