禁用权限集组中的权限
学习目标
完成本单元后,您将能够:
- 描述为什么您会禁用权限。
- 禁用权限集组中的权限。
什么是禁用?
在本模块的前面部分,您了解到权限集组使您能够根据工作职能将权限集捆绑在一起。一个权限集组包含其所含权限集中的所有权限。此外,您还可以将一个权限集添加到多个权限集组中。
咦,暂停一下。将权限集添加到多个权限集组中的能力为我们提供了很大的灵活性。但是,如果您不想将指定权限集中的所有权限分配给权限集组中的用户,该怎么办呢?
禁用权限集功能可让您将权限集中的特定权限禁用 (muting),从而自定义权限集组。每个权限集组最多可设置一个禁用权限集,并可禁用对象、字段和用户权限以及其他访问设置。
通过禁用权限集,您可以获得更高的可重用性,因为您可以避免为满足每个用户的个性化需求而创建权限仅略有不同的类似权限集。考虑在不同用户所需的权限集中包含与任务或功能相关的所有权限。然后,在基于角色的权限集组中使用禁用权限集,确保用户只拥有其角色所需的权限。
例如,您创建了一个“服务代表”权限集组,并希望将现有的“个案管理”权限集添加到该组中。但是,该权限集包含“删除”个案对象权限,您不希望分配至“服务代表”权限集组的用户拥有该权限。
要解决这个问题,请在将“个案管理”权限集添加到“服务代表”权限集组之前,创建一个禁用权限集,将“删除”对象权限禁用。这样,用户就只能通过“个案管理”权限集获得所需的权限。无需修改现有的权限集,以免无意中影响其他用户;也无需创建新的权限集,以免使访问配置随着时间的推移而更难管理。
禁用权限集注意事项
如您所见,在设计权限模型时,禁用功能为您提供了极大的灵活性。在计划如何配置权限集组时,请牢记这些行为注意事项,以了解禁用权限如何与其他功能交互:
- 当您将权限集组中的权限禁用时,禁用只会影响分配至该权限集组的用户。
- 直接分配到该权限集组之外的权限集的用户不受影响。
- 如果为用户分配了具有禁用权限的权限集组,但通过简档、权限集或不同的权限集组为该用户分配了相同的权限,则尽管权限集已禁用,用户仍然拥有这些权限。
- 在确定启用哪些权限时,用户访问摘要和权限集组摘要都会考虑禁用权限集。
尝试一下禁用功能
只有亲自体验才能更好地了解新功能是如何发挥作用的。您在本模块的前面部分为 E.J. 创建的“销售处理”权限集组包含两个权限集。
- 销售订单权限集,具有以下权限:
- 激活订单
- 读取、创建、编辑和删除订单
- 销售合同权限集,具有以下权限:
- 读取、创建、编辑和删除合同
合同部门的 Alyssa 有一些需要处理销售合同的用户。Alyssa 的用户需要:
- 读取、创建、编辑、删除、查看和修改所有合同
- 启用合同
- 删除已生效合同
您可以专门为 Alyssa 创建权限集。但先等一下,因为重复使用现有的权限集,特别是“销售合同”权限集,可能会更合适。重复使用之所以有效,是因为这两个团队都有涉及合同的任务,尽管两个团队中的成员的工作职责不同。
问题在于,“销售合同”权限集缺少 Alyssa 的用户需要的某些权限。如果只是在“销售合同”中添加这些额外权限,分配给“销售处理”权限集组的用户就会拥有他们不需要的权限。
被难住了吧?不可能!请记住,权限集组是灵活的,您可以使用禁用权限集来确保用户只拥有他们需要的权限。这里有个解决方案。
- 通过创建禁用权限集,将分配给“销售处理”权限集组的用户不应拥有的权限禁用。先执行这一步。为什么?您要避免让分配到这个权限集组中的用户可以访问 Alyssa 团队所需要的更广泛的合同权限(即使只是暂时的)。通过先创建禁用权限集,您就可以为 Max 维持权限集组的完整性。
- 通过添加 Alyssa 的团队所需的权限,更新“销售合同”权限集。
- 为 Alyssa 的团队创建一个新的“合同处理”权限集组。添加更新的“销售合同”权限集。
让我们开始吧。如果您还没有完成第 2 单元中的步骤,那么先去完成,否则您将无法进行此活动。
创建一个禁用权限集。
- 在“设置”的“快速查找”框中,输入
Permission Set Groups
(权限集组),然后选择 Permission Set Groups(权限集组)。
- 单击 Sales Processing(销售处理)—即您在第 2 单元中创建的权限集组。
- 在“权限集”项下,单击组中的禁用权限集。
- 单击新建。
- 在标签处输入
Contracts Permissions Muted
(禁用的合同权限)。
- 在 API 名称处,输入
Contracts_Permissions_Muted
。
- 保存该禁用权限集。
选择要禁用的权限。
- 单击您的禁用权限集的名称。
- 在 Find Settings(查找设置)框中,输入
Contracts
(合同),然后选择 Contracts(合同)。
- 单击编辑。
- 将 View All Records(查看所有记录)和 Modify All Records(修改所有记录)对象的权限禁用。
- 保存更改。
- 在 Find Settings(查找设置)框中,输入
Contracts
(合同),然后选择 Activate Contracts(启用合同)。
- 单击编辑。
- 在“销售”项下,将 Activate Contracts(启用合同)和 Delete Activated Contracts(删除已生效合同)权限禁用。
- 保存更改。
现在,当您将 Alyssa 的小组的权限添加到“销售合同”权限集中时,它们将在“销售处理”权限集组中被禁用。让我们将 Alyssa 的权限添加到“销售合同”权限集中。在“销售合同”权限集中启用这些权限:
- Activate Contracts(启用合同)应用程序(用户)权限
- “删除已生效合同”应用程序(用户)权限
- 针对合同的 View All Records(查看所有记录)和 Modify All Records(修改所有记录)对象权限
当您准备为 Alyssa 创建“合同处理”权限集组时,您可以向其中添加“销售合同”权限集。成员将获得所有启用的权限,包括 Activate Contracts(启用合同)、Delete Activated Contracts(删除已生效合同)以及针对合同的 View All Records(查看所有记录)和 Modify All Records(修改所有记录)对象。非常好!
禁用和权限依赖性
当您在禁用权限集中禁用权限时,从属权限也会受到影响。例如,假设您授予用户针对对象的 Create(创建)、Read(读取)、Edit(编辑)、Delete(删除)、View All Records(查看所有记录)和 Modify All Records(修改所有记录)权限。现在,如果将 Read(读取)权限禁用,则 Create(创建)、Edit(编辑)、Delete(删除)、View All Records(查看所有记录)和 Modify All Records(修改所有记录)这些权限也将被禁用,因为如果没有读取数据的能力,用户无法执行这些任务。
这个例子相当简单,但依赖性可能会很棘手。禁用权限时,请注意保存更改时弹出的权限更改确认消息。例如,如果将 Activate Orders(启用订单)禁用,则 Edit Activated Orders(编辑已启用订单)也将被禁用。
在使用权限集组时,请记住权限依赖性,以避免将权限从对其有需要的用户中删除。有关权限集组禁用依赖性的更多信息,请参阅 Salesforce 帮助。
在已安装软件包中禁用
我们还要分享禁用权限集的另一个好处。如果您订阅了一个托管软件包,您可以在权限集组中对尚未准备好采用的功能设置禁用权限。
比方说,您创建了一个权限集组,然后将通过托管软件包安装的托管权限集添加到该组。您收到了独立软件厂商 (ISV) 发来的针对该软件包的自动更新,但您还没有准备好启用托管权限集中现在已可用的新字段。这会是一个问题吗?不会。您可以接收更新并从中受益,但在准备为您的组织采用它之前,将此字段权限禁用。
非常好!现在您已经了解了禁用权限集,并对权限集组有了全面的了解。您了解了使用权限集组的所有好处以及如何设计权限模型以利用其灵活性和可重用性。
资源