Power BI的本地数据网管(On-Premises Data Gateway)是运行在组织内部的软件,用于管控外部用户访问内部(on-premises)数据的权限。PowerBI的网管像是一个尽职的门卫,监听来自外部网络(云端服务,Cloud Service)的连接请求,验证其身份信息。对于合法的请求,网管执行查询请求;否则,拒绝执行。云端(PowerBI Service)程序向网管发送查询内网数据的请求,网管访问企业内网(On-Presmises)的数据库执行查询(Query)请求,网管把查询结果加密和压缩之后传送到云端,保证数据的传输安全。总而言之,网管的作用就像一座桥,桥的两端是内网的数据和云端的PowerBI Service,网管使得企业私有的内部数据,能够安全地应用于云端的PowerBI Service。使用网管能够设置调度程序,定时把内网数据刷新到PoserBI Service的Datasets中,从而实现报表数据的自动更新。

单词 Premises可以翻译为组织的生产/营业场所,“On-Premises”是指:在组织的建筑内的,在本地的,与之对应的反义词是云端,On-Premises Data是指在组织所在的经营场所中存储的数据,可以翻译为本地数据,内网数据。

我的PowerBI开发系列的文章目录:PowerBI开发

一,本地网管的工作原理

本地网管是一个软件,用于监控云端服务对组织内部的、私有网络内的数据的访问。当一个交互式的查询发生时,云端(PowerBI Service)和内网网管的工作流程如下图:

流程图显示,内网数据网管充当的是一个桥梁的角色,位于云端服务(Cloud Service,例如PowerBI Service)和内部数据(On-Premises Data)的中间,接收云端的查询请求,在内网执行请求,并把查询结果返回给云端:

  • step1:PowerBI 创建查询(Query),把加密的凭证发送到云端网管(Gateway Cloud Service)进行处理,Azure Service Bus接收云端网管的请求,并转发到内网网关(On-Premises Gateway);
  • step2:内网网管接收到Azure Service Bus的查询(Query),解密凭证(decrypt credentials),并使用凭证连接数据源(Data Source)
  • step3:内网网管把查询发送到数据源执行,并把查询的结果返回给云端;

PowerBI提供两种类型的网管:

  • On-premises data gateway (personal mode) :个人模式,只允许一个User连接到内网数据源(On-Premises Data Source)
  • On-premises data gateway :标准模式,允许多个User连接到内网数据源

二,网管的安装

本地网管(On-Premises Data Gateway),必须安装在企业的私有网络的服务器上,用于响应云端的连接请求,对传输到云端的数据进行加密和压缩处理,配置数据的调度刷新。

1,下载安装包

为了安装网管,首先需要下载安装包,用户打开PowerBI Service,点击浏览器右侧的“下载”菜单,选择“Data Gateway”,跳转到PowerBI Gateway的下载页面,如图:

2,开始安装数据网管

安装包下载完成之后,点击“PowerBIGatewayInstaller.exe”安装程序,开始安装网管:

在安装过程中个,用于需要选择网管的类型,推荐使用标准模式,允许多人共享使用网管:

3,输入管理账户,注册网管

输入网管的初始管理员账户,该账户必须能够登陆到PowerBI Service,该账户用于配置和管理网管,点击“Next”按钮,开始注册网管

注册完成之后,输入还原键(Recovery Key),还原键用于恢复网管的配置,点击“Next”,网管安装完成。

三,管理网管

网管创建之后,需要创建Data Source,添加管理员,和添加访问DataSource的用户(User)。初始管理员需要登陆到PowerBI Service,点击右侧的“设置”菜单,选择“Manage gateways”,

1,添加管理员

在左侧面板中,选中新建的网管名称,点击Administrators,添加Gateway的管理员

2,添加数据源

选中新建的网管,点击“ADD DATA SOURCE”,创建新的数据源,每一个数据源都有一个Name和类型,如果想要创建的数据源是SQL Server数据库,在Data Source Type列表中,选择SQL Server,在展开的选项中,配置SQL Server 数据库实例的主机,数据库名称,验证方式和验证信息,点击“Add”按钮,把数据源添加到网管中:

在向网管添加数据源时,管理员必须提供访问数据源的凭证信息,凭证信息在存储到云端之前被加密处理,PowerBI Service把凭证信息从云端发送到网管进行解密,使用解密之后的凭证访问数据源。

3,添加数据源的用户(User)

选中已添加的数据源,授予用户权限访问该数据源,默认情况下,管理员有权限访问网管中的所有数据源:

参考文档:

Getting started with Power BI Gateways

Security4:Role 和 Permission的更多相关文章

  1. User、Role、Permission数据库设计ABP

    ABP 初探 之User.Role.Permission数据库设计 (EntityFramework 继承的另一种使用方法) 最近群里(134710707)的朋友都在讨论ABP源码,我把最近学习的内容 ...

  2. ABP 初探 之User、Role、Permission数据库设计 (EntityFramework 继承的另一种使用方法)

    最近群里(134710707)的朋友都在讨论ABP源码,我把最近学习的内容记录下来,同时也分享给大家,希望正在研究ABP源码的朋友有一定帮助. 上篇介绍ABP的多语言,本篇主要介绍权限的数据库设计,用 ...

  3. RBAC中 permission , role, rule 的理解

    Role Based Access Control (RBAC)——基于角色的权限控制 permission e.g. creating posts, updating posts role A ro ...

  4. shiro权限管理框架与springmvc整合

    shiro是apache下的一个项目,和spring security类似,用于用户权限的管理‘ 但从易用性和学习成本上考虑,shiro更具优势,同时shiro支持和很多接口集成 用户及权限管理是众多 ...

  5. ABP源码分析四十二:ZERO的身份认证

    ABP Zero模块通过自定义实现Asp.Net Identity完成身份认证功能, 对Asp.Net Identity做了较大幅度的扩展.同时重写了ABP核心模块中的permission功能,以实现 ...

  6. Java资源大全中文版(Awesome最新版)

    Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...

  7. shiro的使用1 简单的认证

    最近在重构,有空学了一个简单的安全框架shiro,资料比较少,在百度和google上能搜到的中文我看过了,剩下的时间有空会研究下官网的文章和查看下源码, 简单的分享一些学习过程: 1,简单的一些概念上 ...

  8. ABP集合贴

    thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>t ...

  9. ABP集合贴(转)

    ABP集合贴 本文背景 公司最近规划的新框架准备基于ABP来搭建,自从在阳铭博客看到ABP框架的介绍后,就一直持续关注着,但还没真正在实际项目中直接使用ABP,只是自己做了一些学习和Demo.ABP所 ...

随机推荐

  1. 缺少.lib文件导致的Link2019 解决方案汇总

    环境Vs2015,  Win10 添加lib的方法在末尾 下面的错误都是我在写Direct3D程序中遇到的, 记下来方便查找 4.ws2_32.lib 3.   version.lib _GetFil ...

  2. [深度学习大讲堂]从NNVM看2016年深度学习框架发展趋势

    本文为微信公众号[深度学习大讲堂]特约稿,转载请注明出处 虚拟框架杀入 从发现问题到解决问题 半年前的这时候,暑假,我在SIAT MMLAB实习. 看着同事一会儿跑Torch,一会儿跑MXNet,一会 ...

  3. CentOS搭建SVN记录

    1.安装subversion(client and server) $ yum install subversion $ yum install mod_dav_svn 安装成功之后使用 svnser ...

  4. 深入理解JavaScript中 fn() 和 return fn() 的区别

    在js中,经常会遇到在函数里调用其它函数的情况,这时候会有 fn() 这种调用方式,还有一种是 return fn() 这种调用方式,一些初学者经常会一脸萌逼地被这两种方式给绕晕了.这里用一个优雅的面 ...

  5. js闭包-在你身边却不知

    今天组里小伙很纳闷的问了我js绑事件带出的一个小问题,随便聊聊闭包那点事,背景如下: 当点击Button的时候给li绑定事件,事件的大概内容是获取li位置的index再做点事,据他描述代码看上去也没错 ...

  6. label 多行显示自适应高度

    //项目中显示 地址:XXXXXXX换行  UILabel *numLable = [[UILabel alloc] initWithFrame:CGRectMake(80, 50, 40, 20)] ...

  7. Django 中related_name,"%(app_label)s_%(class)s_related"

    先看个model from django.db import models # Create your models here. class Parent(models.Model): name = ...

  8. Linux上Tomcat部署JavaWeb项目

    一.安装JDK 配置java的环境变量,修改/etc/profile文件:vi /etc/profile 然后按下字母i进入插入模式, shift+insert粘贴; esc退出编辑; :wq保存退出 ...

  9. jquery常见获取高度

    jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...

  10. Hello Bugs

    2014-01-09 [Maven]Not Authorized ReasonPhame: Failed to decrypt password... 描述:eclipse中使用maven进行mvn ...