根据我之前的问题Power BI, connect directly to a dataset from a nodeJS app,我无法在不使用用户凭据的情况下获得访问令牌。
到目前为止,我已经在Azure AD中创建了一个应用程序注册,其中包含客户端密码和以下API权限:
现在,由于某种原因,用于连接数据集的帐户显示未为我的组织授予权限。(不确定我是否真的需要它)
有没有一种方法可以实现从PowerBI读取数据集所需的不记名令牌,而无需在应用程序中输入或存储用户名和密码?
根据我之前的问题Power BI, connect directly to a dataset from a nodeJS app,我无法在不使用用户凭据的情况下获得访问令牌。
到目前为止,我已经在Azure AD中创建了一个应用程序注册,其中包含客户端密码和以下API权限:
现在,由于某种原因,用于连接数据集的帐户显示未为我的组织授予权限。(不确定我是否真的需要它)
有没有一种方法可以实现从PowerBI读取数据集所需的不记名令牌,而无需在应用程序中输入或存储用户名和密码?
1条答案
按热度按时间vjhs03f71#
您可以使用客户端凭据流来获取访问令牌,而不包括用户凭据。
我注册了一个名为**
SriPowerBi
**的Azure AD应用程序,如下所示:现在,我创建了一个安全组,并将上述服务主体作为成员添加到安全组中,如下所示:
登录Power Bi Adminportal,在
Developer settings
下添加安全组,启用以下选项:请确保在Power Bi工作区中提供对服务主体或安全组的访问权限:
请注意,在授予访问权限后需要等待**
15-20
分钟,因为会有延迟,并使用客户端凭据流生成访问令牌。在我的例子中,我通过Postman使用客户端凭证流生成了访问令牌**,参数如下:
回复:
当我使用此token读取数据集详情时,我成功获得了response,如下所示:
回复:
参考:Embed Power BI content with service principal and an application secret - Power BI | Microsoft