如何在服务主体的认证方式下嵌入Power BI 报表:

先决条件:
1)Power BI Pro 帐户(包含用户名和密码的主帐户,用于登录 Power BI Pro 帐户),或服务主体(仅限应用的令牌)。
2)需要设置自己的 Azure Active Directory 租户。

整个过程主要分为两步(由于验证类型分为主账户和服务主体,本次只针对服务主体做介绍):
1)在Azure 中注册应用程序;
2)将Power BI报表嵌入到应用程序

在Azure 中注册应用程序

参考:
https://docs.azure.cn/zh-cn/articles/azure-operations-guide/power-bi-embedded/aog-power-bi-embedded-howto-integrate-reports-into-application-with-service-principal

  1. 登录到Azure门户,在左侧导航栏找到“所有服务”——搜索点击应用注册:

  2. 点击新注册:

3.填写应用信息,可以选择自己需要的网址进行注册(可以选择 http://localhost:13526这个网址作为重定向 URI)。 注册完应用以后会自动生成一个服务主体。(OAuth 2.0认证时,重定向URI应该填写api地址,方便解析授权码,参考:https://blog.csdn.net/leinminna/article/details/109100731)

4.授予注册的本地应用程序相关 Windows Active Directory 和 Power BI Service 权限,如图所示:
您可以根据您自己的需求,参考如下链接,根据需要的API 进行选择:https://docs.microsoft.com/en-us/rest/api/power-bi/reports/getreportingroup

切记,添加权限后需点击“授予管理员同意”,才能完成所有步骤。

配置服务主体相关权限

  1. 在 Azure Active Directory 中新建一个安全组,并将注册应用生成的服务主体加到成员中。

    然后

    还需要注册

  2. 登录Power BI Service 网站授予相关admin权限

  3. 选择 “管理门户” 进行相关授权,将创建的安全组添加到”允许主体服务访问 Power BI API”:

  4. 创建新的 v2 版本的 Power BI Workspace,并将服务主体设置为此工作区的管理员:

将Power BI 报表嵌入到应用程序

此过程大概分为3步,在本次示例中,我们通过Postman获取EmbedToken、嵌入URL及Report ID;

  1. 获取access_token(加粗标识为租户ID)
    发送post到https://login.chinacloudapi.cn/2bf14663-2f99-4119-bde1-d970664a7b23/oauth2/token
    body为
    data:{
    grant_type:client_credentials
    resource:https://analysis.chinacloudapi.cn/powerbi/api
    client_id:注册应用的应用程序ID
    client_secret:应用程序密码
    }
    应用程序ID、租户ID在如下位置获取:

应用程序密码在如下位置获取:

示例如下:
Content-Type:application/x-www-form-urlencoded

  1. 利用上一步的access_token获取embedUrl及Report ID
    发送GET 到您工作区(加粗标识为工作区ID)
    https://api.powerbi.cn/v1.0/myorg/groups/150f3cdb-425f-40e0-b11c-5a376f012791/reports
    Authorization Type: Bearer Token
    Token: 上一步中access_token

  2. 获取Embed token
    发送post到https://api.powerbi.cn/v1.0/myorg/groups/29427125-e483-48fe-ab6e-e4de5dbd961e/reports/d788830e-4630-45d0-bd94-ecc7e35ccfdf/GenerateToken 黄色部分替换成您自己的group id和report id
    Authorization:Bearer 第一步的token
    headers为
    Content-Type: application/json
    Accept:application/json
    body为
    data:{
    “accessLevel”:“View”,
    “allowSaveAs”:“true”
    }:

到这里信息获取完毕,大家可以使用Microsoft Power BI Embedded Playground进行测试https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html:

powerbi 服务主体认证相关推荐

  1. SpringSecurity-基于微服务的认证与权限访问

    目录 一.微服务概述 1.1 微服务由来 1.2 微服务优势 1.3 微服务本质 1.4 微服务的认证与授权实现思路 1.5 权限管理数据模型(举例) 二.JWT概述 2.1 Sesssion认证与T ...

  2. 公众号的几种主体认证方式间的区别

    文章目录 前言 公众号的几种主体认证方式间的区别? 个人订阅号 个人服务号 企业订阅号 企业服务号 这么多不同的接口对应的使用场景是啥呢 一个主体可以申请几个公众号呢? 邮箱和手机号的限制 百变邮箱 ...

  3. 为 Kerberos 连接注册服务主体名称

    为 Kerberos 连接注册服务主体名称 SQL Server 2012 引自:http://technet.microsoft.com/zh-cn/library/ms191153.aspx 若要 ...

  4. [壹刊]Azure AD(四)知识补充-服务主体

    一,引言 又到了新的一周了,也到了我新的分享的时间了,还记得上一周立得Flag,其中 "保证每周输出一篇文章" ,让我特别"在意"(这里用词不太恰当).主要是我 ...

  5. 如何删除网关的session_微服务安全认证架构是如何演进而来的?坐好小板凳一起来听一听...

    之前有同事问为何要用基于JWT令牌的认证架构,然后近期又有童鞋在后台留言问微服务安全认证架构的实践,因此我决定花两篇推文来解答一下.为了答好这个话题,我们先来看看微服务的安全认证架构是如何演进而来的, ...

  6. kerberos验证_SQL Server中的服务主体名称和Kerberos身份验证概述

    kerberos验证 This article gives an overview of Service Principal Name (SPN) for using the Kerberos aut ...

  7. 信息安全服务资质认证实施规则

    1.适用范围 信息安全服务资质认证是依据国家认证认可法律法规.相关技术标准和规范,对信息安全服务提供者的资质进行评价的合格评定活动.本规则规定了信息安全服务提供者(以下简称服务提供者)应具备的通用评价 ...

  8. CCRC信息安全服务资质认证流程知识点汇总

    随着我国信息化和信息安全保障工作的不断深入推进,以应急处理.风险评估.灾难恢复.系统测评.安全运维.安全审计.安全培训和安全咨询等为主要内容的信息安全服务在信息安全保障中的作用日益突出.加强和规范信息 ...

  9. 企业之家完成华为鲲鹏云服务兼容性认证

    2020年8月7日,中国通服工业互联网(大数据)研究院研发的产品企业之家平台顺利通过华为云鲲鹏云服务兼容性认证. 经过双方共同测试,企业之家平台以高度的完整性.成熟度以及强大的开放性和兼容性,性能优异 ...

最新文章

  1. 组合特征(二)tfidf(word+article)+lsa
  2. 转载 - 使用HTML5、CSS3和jQuery增强网站用户体验
  3. Dubbo 源码分析 - 集群容错之 LoadBalance
  4. python web框架对比_Python六大开源框架对比
  5. 最炫国漫《雾山五行》用 Python 了解一下到底有多优秀
  6. 基于element ui的收起展开检索条件效果
  7. 让Python在后台自动解压各种压缩文件!
  8. (转载)c#常用的资料
  9. 欧华android导航刷机,寻找欧华DVD导航一体机刷机文件。
  10. Deepin 系统没有 Times New Roman 等微软字体
  11. idea调用自己的方法(introduce local variable)
  12. Windows powershell Terminal;linux tmux终端分屏使用;tabby终端使用
  13. 什么是驻点和拐点_拐点和驻点的区别是什么
  14. eclipse 显示 空格 .回车符号,去掉相应的符号
  15. iOS RunLoop基础和应用举例
  16. x64dgb安装插件教程
  17. 第三十三课第九章Storage Structure Relationships
  18. 实用交互设计工具大盘点
  19. 第八届中国云计算大会总结(第二天会议附带现场PPT及录音)
  20. 无线网卡错误代码10(intel 9560)wifi不能使用

热门文章

  1. 狂卷六亿美金黑客公开回答攻击内幕:本人对金钱不感兴趣、这次攻击是个意外...
  2. linux4.9编译内核,Linux 4.9内核那些激动人心的功能
  3. Pjax加持APlayer,音乐无间断
  4. mysql 查看slave状态_Mysql master/slave测试过程
  5. 基于JAVA在线课程教学大纲系统计算机毕业设计源码+系统+lw文档+部署
  6. CF1716A 2-3 Moves 题解
  7. 《Linux运维学习日记》第二篇:Linux的安装[CentOS 7.X]
  8. 计算机语言符号通配符,day 15 通配符和特殊符号
  9. AAA配置与管理——1
  10. 层次聚类python实现_聚类算法之层次聚类(Python实现)