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. 测试--easymock的使用

    使用场景:对于调用其它类中的方法,但是还没有编写完,使用easymock进行单元测试,它提供这些没有编写完的代码期待的默认值. 使用步骤: step1: pom引入: <dependency&g ...

  2. 子代选择器(>)后代选择器(' ')的区别

    子代选择器是指紧接着父级的那个标签,如:container>a指的是紧接着container后面的第一个a(儿子级别的,孙子或者之后的a是不能生效的) 后代选择器是用空格分开的,如:contai ...

  3. 接口测试SoapUI参数化

    上次和大家一起完成了soapui的参数之一properties,今天我们一起交流另外一种参数化的方法,跟着一起练习,不懂不要紧,练习多了就会慢慢懂的: 1.准备excle(目前soapui只支持xls ...

  4. UDP和TCP的区别

    UDP(User Datagram Protocol 用户数据报协议) TCP(Transmission Control Protocol 传输控制协议) UDP是一种非面向连接的传输协议,它的实现是 ...

  5. js 短信验证码 计时器

    $(function(){ getMsg(); //页面加载完成之后执行 }) function getMsg(){ //注册按钮的点击事件 $("#smsBtn").on(&qu ...

  6. 【转贴】Python处理海量数据的实战研究

    最近看了July的一些关于Java处理海量数据的问题研究,深有感触,链接:http://blog.csdn.net/v_july_v/article/details/6685962 感谢July ^_ ...

  7. 把C#程序(含多个Dll)合并成一个Exe的超简单方法

    开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超 ...

  8. 疯狂C#~伴随着我的库存管理¥

    每次的等待都是期待下一次的勃发!但激进的我非常想和大家学习一些东西,所以特地的分享了一个库存管理, 生活中容易运用的很多,但现在的学业希望能够得到各界人士的帮助!!! 首先:会有几个类来让它们协调 ( ...

  9. C#时间戳转换

    ,,)).ToUniversalTime ().Ticks ) / ;//先取得当前的UTC时间,然后转换成计算用的周期数(简称计时周期数),每个周期为100纳钞(ns)=0.1微秒(us)=0.00 ...

  10. NSIS 无边框移动问题总结笔记

    无边框移动 插件 WinProc WinCore.nsh [一定要有这个] 代码 ;事件 ;处理无边框移动 Function onGUICallback ${If} $MSG = ${WM_LBUTT ...