能否使用Service Principal等身份替换个人账户刷新Power BI数据集?
关于Power BI Dataset切换Kusto身份验证方式的解决方案
完全可行,以下是几种主流身份的配置步骤:
一、使用Service Principal(服务主体)
- 步骤1:在Azure AD中创建Service Principal,记录其客户端ID和客户端密钥(或证书)。
- 步骤2:在Kusto Cluster中为该Service Principal分配相应权限(如数据库查看者、数据读取者等),可执行Kusto命令:
.add database <数据库名> viewers ('aadapp=<客户端ID>') - 步骤3:在Power BI Desktop中编辑数据集的数据源连接,将身份验证方式改为OAuth2.0,选择"服务主体"并填入客户端ID和密钥,保存后发布到Power BI服务。
- 步骤4:在Power BI服务的数据集设置中更新数据源凭据,确认使用服务主体身份,设置刷新计划即可。
二、使用System-Assigned托管标识
- 步骤1:在Power BI服务的工作区设置中,启用数据集的系统分配托管标识。
- 步骤2:在Kusto Cluster中为该托管标识分配权限,托管标识的对象ID可从Power BI工作区的托管标识设置中获取,执行Kusto命令:
.add database <数据库名> viewers ('aaduser=<托管标识对象ID>') - 步骤3:编辑Power BI数据集的数据源连接,将身份验证方式改为托管标识,保存并发布后,服务端配置刷新时无需额外输入凭据。
三、使用User-Assigned托管标识
- 步骤1:在Azure AD中创建User-Assigned托管标识,记录其资源ID。
- 步骤2:在Kusto Cluster中为该托管标识分配权限,执行类似的Kusto授权命令。
- 步骤3:在Power BI工作区设置中,将该User-Assigned托管标识关联到工作区。
- 步骤4:编辑数据集的数据源连接,选择托管标识并指定使用User-Assigned类型,填入资源ID,发布后配置刷新即可。
注意事项
- 无论使用哪种身份,都要确保该身份在Kusto Cluster和对应数据库上拥有足够的读取权限,否则刷新会失败。
- 若数据集是直接在Power BI服务中创建(而非从Desktop发布),可直接在数据源设置中切换身份验证方式。
内容的提问来源于stack exchange,提问作者Vinny
相关产品推荐
相关产品推荐

