练习 - 在共享模型驱动应用时控制安全性
试图访问 Dataverse 表的用户都必须分配有安全角色。 分配安全角色是基本控制手段,用于控制哪些对象可以访问模型驱动应用中的受限或敏感数据。 安全角色定义不同用户如何访问不同类型的记录。 要控制对数据和资源的访问,您必须创建或修改安全角色,然后向用户分配相应的角色。
必须要注意的一点是,您创建的表都必须为访问定义了安全角色。 创建/配置安全角色后,您可以将该角色用于多个表。 一名用户可以拥有多个安全角色,但每个应用用户必须至少分配一个(或多个)安全角色。
您可以将安全角色分配给单个用户或用户团队。 在为用户或团队分配角色时,该用户或该团队的所有成员都将被授予与该角色相关联的特权。
在本单元中,您将了解如何共享模型驱动应用,以便其他人员使用。
具体而言,您将了解如何:
- 创建安全角色。
- 将用户分配给安全角色。
- 与用户共享应用。
若要共享应用,您必须拥有“环境管理员”或“系统管理员”角色。
应用场景
注意
本应用场景基于之前单元的想法和概念构建。 要充分利用本练习,您需要先创建本模块上一单元中介绍的应用并创建 Dataverse 服务入门模块的创建 Microsoft Dataverse 表单元中介绍的 Pet 表。
本单元以 Contoso 公司为例,该公司主营宠物美容业务,为猫狗提供服务。 已创建并发布包含用于跟踪宠物美容业务的自定义表的应用。
必须共享应用以供宠物美容工作人员使用。 要共享应用,管理员或应用开发者将为用户和应用分配一个或多个安全角色。
有关安全角色的更多信息
Power Apps 环境包含预定义的安全角色,但这些角色只能用于环境中的标准表。 您无法自定义它们。 这些角色反映了常见的用户任务。 所定义的访问级别遵循安全最佳做法,即提供使用应用时所需的最小业务数据量的访问权限。
切记 Contoso 宠物美容应用基于自定义 表。 由于表是自定义的,因此,您必须先明确授予特权,然后再让用户使用表。 要指定特权,您必须创建自定义安全角色,以管理用户在应用中的特权。
维护宠物美容行的环境也同时用于 Contoso 公司运行的其他应用。 因此,我们需要创建两个特定于宠物美容应用的安全角色,分别具有两组不同的访问特权:
- 宠物美容技师只需要读取、更新和添加其他行。 因此,其安全角色具有读取、写入 和追加 特权。
- 宠物美容计划人员需要宠物美容技师拥有的所有特权。 此外,他们还必须能够创建、追加到、删除和共享行。 因此,他们的安全角色将拥有创建、读取、写入、追加、删除、分配、追加到 和共享 特权。
以下是我们为安全角色授予的不同特权的参考表:
特权 | 描述 |
---|---|
创建 | 创建新记录时需要此特权。 |
读取 | 打开记录以查看内容时需要此特权。 |
写入 | 对记录进行更改时需要此特权。 |
删除 | 永久删除记录时需要此特权。 |
追加 | 将当前记录关联到另一个记录时需要此特权。 例如,如果用户对某注释具有“追加”权限,则可以将该注释附加到商机。 如果存在多对多关系,用户必须对要关联或要取消关联的表拥有“追加”特权。 |
追加到 | 将一条记录关联到当前记录时需要此特权。 例如,如果用户对某商机具有“追加到”权限,则可以将注释添加到该商机。 |
分配 | 将一条记录的所有权授予另一个用户时需要此特权。 |
共享 | 向另一个用户授予对某记录的访问权限,同时保持自己的访问权限,则需要本特权。 |
创建安全角色
登录到 Power Platform 管理中心,选择一个环境。
选择设置 > 用户 + 权限 > 安全角色。
从安全角色屏幕的命令栏中,选择 + 新建角色。
在创建新角色窗格中,输入以下内容:
角色名称 -
Pet Grooming Technicians
业务单位 - [从下拉列表中选取一个。 每个环境至少有一个。]
成员特权继承 - 仅限团队特权
保存该角色。
保存角色后,您会看到新角色的详细信息屏幕。 它包括有关角色设置的信息以及环境中所有表的列表,因此您可以为指定表设置特权。 通过在右上角的搜索字段中键入
pet
来筛选列表。 标题中包含“Pet”的所有表都显示在筛选后的列表中。找到并选择您的 Pet 表。 如果您没有看到它,请选择可能显示仅显示已分配的表的字段,并将值更改为显示所有表。 请注意下拉选项框如何显示在表选项字段下方。 我们的美容技师只需要此表的读取、写入和追加权限。 在这三个权限下,将其从无更改为组织。
该 Pet Grooming 应用还与客户表存在关联。 在右上角的表搜索字段中输入
account
,然后选择客户表。对于客户表,在读取下查看并选择组织。 我们需要宠物美容师能够从此表中读取数据,而无需其他权限。
在命令栏中,选择保存 + 关闭返回到安全角色屏幕。
现在让我们创建第二个安全角色。 选择 + 新建角色。
在右侧的创建新角色窗格中输入以下信息:
角色名称 -
Pet Grooming Schedulers
业务单位 - [从下拉列表中选取一个]
成员特权继承 - 仅限团队特权
保存该角色。
片刻之后,将出现宠物美容计划人员角色查看器。 在视图屏幕右上角的搜索字段中输入
pet
,找到 Pet 表。选择 Pet 表,将创建、读取、写入、删除、追加、追加到、分配 和共享 下的所有下拉菜单从无调整为组织。 (记住:可能需要向右滚动才能看到所有字段。)
正如我们对宠物美容师所做的那样,我们需要确保 计划人员可以访问 Account 表。 但就他们而言,我们需要他们拥有更高级别的访问权限。 在表格搜索字段中输入
account
。选择客户表。
将创建、读取、写入、删除、追加、追加到、分配和共享 下的所有下拉菜单从无更改为组织。
从命令栏中选择保存 + 关闭。
现在我们已经创建了一对安全角色,让我们为他们分配一些用户。
为用户分配安全角色
安全角色通过一组访问级别和权限控制用户对数据的访问。 具体安全角色中包含的访问级别和权限组合在一起,限制用户查看数据及与该数据的交互。
向宠物美容技师分配安全角色
在 Power Platform 管理中心,选择环境,然后选择您的环境。
选择设置 > 用户 + 权限 > 安全角色。
通过在屏幕右上角的搜索字段中输入
pet
,搜索 Pet Grooming Technicians 角色。 选择角色,然后从命令栏中选择成员。从命令栏中选择 + 添加人员。
在屏幕右侧的添加人员窗格中,您可以搜索组织中的某个人。 如果下拉列表中有目标人员,请选择相应选项。 您可以继续搜索以不断添加人员。 选择一个名字即会添加该名字。 您可以通过选择其名字右侧的 x 来删除他们。
向添加人员列表添加几个名字后,选择面板底部的添加按钮。
您选择的成员将显示在“Pet Grooming Technicians”下的列表中。
向 Pet Grooming Schedulers 分配安全角色
返回到您的安全角色列表,搜索并选择 Pet Grooming Schedulers 安全角色。
从命令栏中选择成员。
选择 + 添加人员按钮并通过搜索和选择人员来添加多个名字。
选择添加。
现在我们已将特定用户分配到安全组,我们可以与这些用户共享应用。
与用户共享应用
返回到 make.powerapps.com。
在左侧导航中选择应用,查找/选择您的 Pet Grooming 应用,然后从命令栏中选择共享按钮。
添加要与之共享应用的组或用户。 共享应用时,您还可以分配安全角色以启用应用访问权限。
选择共享。
只要您的用户是该环境的一部分并且拥有适当的许可,现在就应该能够使用您已创建的新安全角色来使用该应用。