1,先放连接

​https://learn.microsoft.com/zh-cn/power-platform/admin/wp-security-cds#matrix-data-access-structure-modernized-business-units​

需要通过管理画面开启【跨业务部门的记录所有权】功能(​​Microsoft Dynamics CRM 的 OrgDBOrgSettings 工具​​对应的环境属性为EnableOwnershipAcrossBusinessUnits),

开启之前我们只能给用户分配属于自己部门的security role

开启之后,我们可以选择任意部门后,分配所选部门的security role

2,数据所有权说明

每条数据有两个字段:所属部门和所有者

默认创建记录时所有者为创建者,所属部门为所有者的所属部门

而开启【跨业务部门的记录所有权】之前,所属部门不可变更

开启之后可以添加到画面上,手动进行设定

这里,记录的所有权就分为了两个维度:所属部门和所有者

·对于所有者来说,自己对于记录所拥有的权限,要看自己的role的权限,如果记录的所有者是我自己,所属部门是其他部门,即使我不拥有其他部门的role,也一样可以根据自己的role的定义,来读取或编辑记录。(创建例外,如果没有创建他们部门的记录的权限,创建会失败,但可以先创建成自己部门的记录,然后将记录的所属部门修改成其他部门)

·对于所有者以外的人,他对于这条记录的权限要参考所属部门,比如我可以看到A部门的数据,只要记录的所属部门为A部门,我就可以看到,和所有者是谁没有关系

3,所有者变更时的动作

默认情况下,所有者变更时,所属部门会变更为所有者的部门。

将 AlwaysMoveRecordToOwnerBusinessUnit 设置为 false。 当记录所有权发生更改时,这会让记录仍保留在原始负责业务部门。

​https://learn.microsoft.com/zh-cn/power-platform/admin/wp-security-cds#record-ownership-in-modernized-business-units​

4,官方对于所有者变更时,有关联关系的记录的具体说明

​https://learn.microsoft.com/zh-cn/power-apps/developer/data-platform/configure-entity-relationship-cascading-behavior#about-the-assign-action​