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

Power BI连接Azure SQL数据源的服务主体凭据刷新配置及有效期问题

$UpdateUserCredential = @{
    credentialDetails = @{
        credentialType = "OAuth2"
        credentials = "{`\"credentialData`\":[{`\"name\":`\"accessToken\", `\"value\":`\"$token\"}]}"
        encryptedConnection = "Encrypted"
        encryptionAlgorithm = "None"
        privacyLevel = "None"
    }
} | ConvertTo-Json
核心问题解答

1. 是否需要每次凭据到期时编程更新

是。你当前提交的是服务主体申请的Azure SQL OAuth2访问令牌,这类令牌本身有固定有效期,到期后Power BI执行计划刷新时会直接返回凭据失效错误,必须在令牌到期前通过编程方式更新Power BI数据源存储的凭据值,才能保证刷新正常执行。

2. 该访问令牌的有效期

Azure AD为服务主体颁发的、针对Azure SQL资源的OAuth2访问令牌默认有效期为1小时,最长可通过Azure AD策略配置延长到24小时,远短于你设置的10天刷新周期,所以现有方案下必须高频更新凭据,远不止10天一次。

3. 长期有效凭据方案

方案一:SQL Server基础身份认证(推荐,实现最简单)

你说的基础用户名密码认证完全可以实现需求,操作如下:

  • 在Azure SQL数据库中创建SQL认证账号,分配对应表/视图的访问权限
  • 进入Power BI数据源配置页面,认证方式选择SQL Server 身份验证,填入创建好的用户名和密码保存即可
    只要你不主动修改该SQL账号的密码,该凭据就长期有效,不需要反复更新,原生支持计划刷新,完全不需要你再写Powershell脚本维护令牌。

方案二:服务主体自动托管认证

如果你必须使用服务主体身份访问Azure SQL,不需要自己维护令牌更新:

  • 确认服务主体已经被赋予Azure SQL的对应访问权限
  • 在Power BI数据源配置中直接选择服务主体认证,填入服务主体的客户端ID、客户端密钥、租户ID即可
    Power BI会自动为你申请、刷新访问令牌,不需要你手动调用接口更新凭据,也可以长期支持计划刷新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 21:24:01