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