我有一个简单的场景,我有一个Azure SQL数据库,我想在Power BI报告中使用数据库中的数据。数据库服务器只启用了Azure AD身份验证。到目前为止,我设法使用自己的凭据创建和刷新了数据集(身份验证方法:OAuth2),但我希望有一个更通用的解决方案,不依赖于用户帐户。
是否可以为Power BI工作区启用托管身份并使用它连接到Azure SQL DB并获取数据?这样,Power BI将使用与其他Azure服务访问DB相同的模式。
如果Power BI管理的身份还不受支持,那么不使用用户帐户提取数据的最佳替代方案是什么?
1条答案
按热度按时间50few1ms1#
如果Power BI管理的身份还不受支持,那么不使用用户帐户提取数据的最佳替代方案是什么?
AFAIK,只有Azure流分析作业支持托管身份作为Power BI的身份验证。
但作为一种解决方案,您可以使用Azure服务主体或Azure AD应用程序对连接到Azure SQL的Power BI数据集进行身份验证。
我创建了一个Power BI组,其中存在我的Azure AD服务主体和用户。
我连接到我的Azure SQL服务器与Powerbi如下:-
使用Azure SQL数据集创建了一个PowerBi报表,如下所示:-
上传到PowerBi网站:-
我有一个PowerBI嵌入组,其中有嵌入演示应用程序和用户谁可以访问Power BI如下:-
登录到我的Power BI Web门户〉设置〉管理门户〉租户设置
将允许嵌入设置设置为启用:-
允许服务主体使用Power BI并授予powerbiembedgroup访问权限。
为服务负责人提供对工作区或特定数据集的访问权限:-
通过Powershell访问PowerBI:-
安装PowerBI Powershell模块-
使用SP连接到PowerBI-
在"用户名和密码"中,添加服务主体的应用程序ID和密码。
已成功连接到PowerBI:-
把工作区-
Embed Power BI content in an embedded analytics application with service principal and an application secret - Power BI | Microsoft Learn
Use Managed Identity to authenticate your Azure Stream Analytics job to Power BI output | Microsoft Learn