本期我们将讨论安全性的另外一个话题,层次结构安全性。
什么是层次结构
层次结构安全性的概念是根据用户在组织中的“层次结构”授予用户对记录的访问权限。可以理解为是一种对现有安全模型的扩展能力,它可以和前几期介绍的安全功能一起搭配使用,从而实现更细粒度的权限控制。可以用两种方式来定义,分别是经理层次结构和基于职位的层次结构。
经理层次结构
经理层次结构是基于用户和他的上级经理形成的一种层次结构关系。所以要想使用这种层次结构必须要配置用户的经理是谁才可以,这里有一个条件是经理必须是当前用户的父级业务部门或者和当前用户处于同一个业务部门才行。
在下面的图中,Warren 是 David 的经理, 而 David 同时是 Sean 和 Will 的经理。
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691869-542808-5248e392ab08be9d321430e6cbcefb73.png)
层次结构安全模型的一个关键概念是,经理对直接下属拥有的记录可以有读写权限,但是对非直接下属的记录只有读取权限。
比如图上的例子,Warren 可以对 David 的记录进行读写操作,但是对于 Sean 和 Will 的记录只能访问而不能够更改。而 David 可以对 Sean 和 Will 的数据进行读写操作。
我们可以更改 User 的 Manager 来定义每个用户的经理。
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691878-785314-7b2a56394244e172c0c951cd76c436fd.png)
通过点击每名用户记录上方的 View Hierarchy 功能,可以查看每名用户的层次结构
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691889-795109-d5b0650a1ce1c81b36e27e8d4af0bb3d.png)
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691894-114238-1c8faa83090012737de8dc7007fff148.png)
职位层次结构
职位层次结构是经理层次结构的一种替代方案,可以根据用户的职位来管理用户记录的访问权限。
和经理层次结构的主要区别在于,职位层次结构中的用户没有限制必须在同一个业务部门中。
可以在管理中心-环境设置 - 用户和权限 - 位置中进行职位设置。
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691905-538667-08c8c0e93efea5d719cc2faec5fc2da0.png)
我们可以在这里,新建职位,并管理职位的上级职位以及当前职位的用户有哪些。
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691914-182100-8f5aa99f20663c3b0ae8092b5d3ede4f.png)
比如我这里创建了 3 个职位。
CEO , 销售经理(CEO的下级职位)和顾问(销售经理的下级职位)
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691922-98066-de2fc578f3654724ac58e699728c63e7.png)
然后可以将 CEO 分配给 Warren , 销售经理分配给 David , 销售顾问分配给 Will 和 Sean 。
(可以通过在用户表中给用户添加职位,或者在职位管理中,给职位添加用户来进行设置)
这种情况下 CEO 可以对 CEO 自己和 销售经理得数据有读写权限,对顾问数据有只读权限。销售经理能看到自己的数据并且能够对顾问的数据具有读写权限,而顾问只能看到顾问的数据。
需要注意的是一个职位可以给多个用户,但是一个用户只能属于一个职位。
如何设置层次结构安全性
前往管理中心的环境设置界面,展开用户和权限区域,点击层次结构安全性。
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691961-504753-1d45dde2a2dfbfd7020fbb654af8b1cb.png)
进入层次结构安全性的配置界面
![](https://forum.power-platform.cn/assets/files/2022-03-31/1648691999-171937-3c0d183829cbe38ab84201fbb5635346.png)
Turn on Hierarchy Modeling : 在环境中开启层次结构
Select Hierarchy Model : 可以从经理层次结构和职位层次结构中选择一个作为当前环境的层次结构模型。
Hierarchy Depth : 定义了当前环境层次结构模型的深度,默认是3,相当于能访问3级层次的数据,超过3级之后的数据就看不到了。
Select entities to exclude from the hierarchy : 选择要从层次结构安全性中排除的表,默认所有表都会启动层次结构安全性。
以上就是 Dataverse 中提供的两种层次结构安全性,通过配置层次结构安全性,可以实现跨业务部门对数据进行访问,从而实现更多的安全模型。