控制用户可以访问的内容

学习目标

完成本单元后,您将能够:

  • 描述对象和字段级别安全性之间的区别
  • 描述如何设置组织范围的默认共享设置

数据安全简介

既然您知道如何添加用户,您可能想知道如何确保他们能够看到他们需要查看的内容以及他们需要查看的内容。在本单元中,我们将向您展示如何配置用户对Salesforce记录的访问权限,以便他们只能访问所需的信息。

例如,假设您正在构建一个Recruiting应用程序,其中包含有关未结头寸,候选人和工作申请的信息。该应用程序将存储机密数据,例如社会安全号码,工资金额和申请人评论,这些数据只应向特定类型的用户公开。对于这样的应用程序,保护敏感数据非常重要,而不会让招聘人员,招聘经理和面试官更难以完成工作。

Salesforce提供灵活的分层共享模型,可以轻松地将不同的数据集分配给不同的用户组。这可确保您可以平衡安全性和便利性,最大限度地降低被盗或误用数据的风险,同时确保所有用户都可以轻松访问所需的数据。

Salesforce包含易于配置的安全控件,可以轻松指定哪些用户可以查看,创建,编辑或删除应用程序中的任何记录或字段。您可以在组织,对象,字段或单个记录级别配置访问权限。通过组合不同级别的安全控制,您可以为数千个用户提供恰当的数据访问级别,而无需单独为每个用户指定权限。

数据访问级别

您可以在四个主要级别配置Salesforce中的数据访问。

组织

在最高级别,您可以通过维护授权用户列表,设置密码策略以及限制对特定时间和特定位置的登录访问来保护对组织的访问。

对象

对象级安全性提供了控制哪些用户可以访问哪些数据的最简单方法。通过设置特定类型对象的权限,可以防止一组用户创建,查看,编辑或删除该对象的任何记录。例如,您可以使用对象权限来确保访调员可以查看职位和工作申请,但不能编辑或删除他们。

字段

您可以使用字段级安全性来限制对某些字段的访问,即使对于用户有权访问的对象也是如此。例如,您可以将职位对象的薪资字段设置为访问者不可见,但招聘经理和招聘人员可以看到。

记录

要以更高的精度控制数据,您可以允许特定用户查看对象,但随后限制他们允许查看的单个对象记录。例如,记录级访问允许访调员查看和编辑他们自己的评论,而不会暴露其他访调员的评论。您可以通过以下方式管理记录级访问。

  • 组织范围的默认值指定用户对彼此记录的默认访问级别。您使用组织范围的共享设置将数据锁定到最严格的级别,然后使用其他共享工具有选择地授予其他用户访问权限。例如,您可以让所有员工访问名为Candidate的对象,以允许任何人将候选添加到数据库。但您可以限制对职位的访问权限,以便任何人都可以看到可用的职位,但只有具有适当权限的员工才能编辑职位。
  • 角色层次结构打开对层次结构中较高层的访问权限,以便它们继承对层次结构中位于其下方的用户所拥有的所有记录的访问权限。角色层次结构不必与您的组织结构图完全匹配。相反,层次结构中的每个角色代表用户或用户组所需的数据访问级别。例如,您可以通过将组织范围的默认设置设置为“私有”来限制对候选人的访问,但允许招聘人员查看和编辑他们拥有的候选记录。招聘人员无法看到他们不拥有的候选记录,因为招聘人员在角色层级中都处于同一级别。但是,招聘经理可以获得对所有候选记录的读/写访问权限,因为他们在角色层次结构中处于比招聘人员更高的级别。
  • 通过共享规则,您可以对特定用户组的组织范围默认值进行自动例外处理,以允许他们访问他们不拥有或通常无法看到的记录。共享规则(如角色层次结构)仅用于为更多用户提供对记录的访问权限 – 它们不能比组织范围的默认设置更严格。例如,您可以允许所有员工查看职位,但使用共享规则授予对名为招聘经理的角色或组中的员工的完全编辑权限。
  • 手动共享允许特定记录的所有者与其他用户共享它们。虽然手动共享不像组织范围的共享设置,角色层次结构或共享规则那样自动化,但在某些情况下它可能很有用,例如,如果度假的招聘人员需要临时将工作申请的所有权分配给另一名员工。

记录级安全性概述

通过允许特定用户查看对象,然后限制他们允许查看的对象中的各个记录,您可以更精确地控制数据访问。例如,您可以让所有访问者访问具有组织范围默认值的评论,但限制他们只访问他们拥有的角色层次结构的评论。

在配置记录访问权限之前,您可能会发现回答以下问题很有用:

  • 您的用户是否应该对每条记录或仅仅是一个子集具有开放访问权限?
  • 如果它是一个子集,应该由哪些规则决定用户是否可以访问它们?

假设您创建了一个名为Recruiter的配置文件,以便为招聘人员创建对象级权限。您可以限制删除招聘相关对象(如职位或候选人)的权力,以便招聘人员永远无法删除这些对象。但是,您授予招聘人员创建,阅读或编辑招聘对象的权限并不一定意味着招聘人员可以阅读或编辑每个招聘对象记录,例如个人职位或候选人。这是平台中两个重要概念的结果:

  • 始终根据对象,字段和记录级权限的组合评估记录的权限。
  • 当对象与记录级权限冲突时,限制性最强的设置会获胜。

这意味着即使您授予配置文件创建,读取和编辑招聘对象的权限,如果个人招聘记录的记录级权限被证明更具限制性,那么这些规则定义了招聘人员可以访问。例如,如果您给予招募人员资料创建,阅读和编​​辑Candidates对象的权限,但限制招聘人员只能访问他们拥有的候选人记录,则招聘人员只能访问这些记录。

组织范围的共享默认值

既然您已经了解了有关记录级安全性的更多信息,那么让我们关注组织范围内的默认设置。这些是默认值,用于指定受限制最多的用户应具有的基准访问级别。您可以使用组织范围的默认值将数据锁定到此最严格的级别,然后使用其他记录级安全性和共享工具(角色层次结构,共享规则和手动共享)向需要的其他用户打开数据访问它。

您可以使用组织范围的共享设置指定对记录的默认访问级别,您可以为每种类型的标准或自定义对象单独设置它们。您可以确定具有对象权限的对象的所有记录的基本访问级别。您可以修改用户不拥有组织范围默认值的记录的权限。您永远不能使用组织范围的默认值来授予用户比通过对象权限更多的访问权限。

您可以通过回答每个对象的以下问题来确定应用程序所需的组织范围默认值。

  1. 谁是此对象最受限制的用户?
  2. 是否会有这个对象的实例不允许该用户看到?
  3. 是否会有这个对象的实例不允许该用户编辑?
A diagram for determining the sharing model for objects

根据您对这些问题的回答,您可以将该对象的共享模型设置为其中一个设置。

字段说明
Private只有记录所有者以及层次结构中该角色以上的用户可以查看,编辑和报告这些记录。
Public Read Only所有用户都可以查看和报告记录,但不能编辑它们。只有所有者和层次结构中该角色之上的用户才能编辑这些记录。
Public Read/Write所有用户都可以查看,编辑和报告所有记录。
Controlled by Parent用户可以基于他或她是否可以对与其关联的记录执行相同的动作来对联系人执行动作(诸如查看,编辑或删除)。

在您将对象的组织范围共享设置设置为“专用”或“公共只读”的环境中,您可以通过设置角色层次结构或定义共享规则来授予用户对记录的更多访问权限。但是,您只能使用共享规则来授予更多访问权限 – 除了最初使用组织范围的共享默认值指定的内容之外,它们不能用于限制对记录的访问。

举个例子,让我们回顾一下并回答Recruiting应用程序中Position对象的问题列表。

  1. 谁是此对象最受限制的用户
    标准员工配置文件的成员。他们被允许做的就是查看一个位置。
  2. 是否会有这个对象的实例不允许该用户看到?
    虽然最低和最高工资的价值对标准员工是隐藏的,但他们仍然可以查看所有职位记录。
  3. 是否会有这个对象的实例不允许该用户编辑?
    是的。标准员工不得编辑任何职位记录。

根据该流程图,对问题#3回答“是”意味着应该将Position对象的共享模型设置为Public Read Only。通过与其他招募对象重复相同的练习,您可以轻松地为它们找出适当的组织范围默认设置。标准员工配置文件是每个对象最受限制的用户,并且将存在特定员工无法查看的候选人,工作申请和审核记录。因此,您应该将Candidate,Job Application和Review对象的共享模型设置为Private。

Note
注意

您无法为Review对象设置组织范围的默认值。这是因为该对象位于主 – 详细信息关系的详细信息侧,并且详细记录会自动继承其父级的共享设置。因此,在我们的应用程序中,Review对象自动设置为Private。

设置组织范围的共享默认值

现在您已经阅读了有关组织范围的默认值,您已准备好设置一些。

  1. 从“设置”中,在“快速查找”框中输入“共享设置”,然后选择Sharing Settings.
  2. 单击“组织范围默认值”区域中的“ Edit  ”。
  3. 对于每个对象,选择要使用的默认访问权限。 (回想一下上一节中回答的问题,以帮助您确定哪种默认访问设置最合适。)
  4. 要允许角色层次结构中较高级别的员工自动访问记录,请选择“Grant Access Using Hierarchies”以获取没有“父级受控”默认访问权限的任何自定义对象。

在对象的组织范围共享设置默认设置为“专用”或“公共只读”的环境中,您可以通过设置角色层次结构或定义共享规则来授予用户对记录的更多访问权限。请记住,您只能使用共享规则来授予更多访问权限。除了最初使用组织范围的共享默认值指定的记录之外,您不能使用它们来限制对记录的访问。

默认情况下,Salesforce使用层次结构(如角色层次结构)自动向层次结构中记录所有者上方的用户授予记录访问权限。将对象设置为“私有”使这些记录仅对角色层次结构中的记录所有者和位于其上的用户可见。如果要禁用自定义对象层次结构中记录所有者上方用户的记录访问,请使用“授予使用层次结构访问权限”复选框。如果取消选中此自定义对象的复选框,则会将记录访问权限仅限于记录所有者和组织范围默认授予访问权限的用户。

如果取消选择“使用层次结构授予访问权限”,则角色层次结构中较高的用户不会收到自动访问权限。但是,某些用户仍然可以访问默认情况下不拥有的记录,例如具有“查看全部”和“全部修改”对象权限以及“查看所有数据”和“修改所有数据”系统权限的用户。

更新组织范围的默认值时,会导致共享重新计算自动运行并对记录应用任何访问更改。重新计算完成后,您会收到通知电子邮件,您可以刷新“共享设置”页面以查看更改。要查看更新状态,请从“设置”中,在“快速查找”框中输入“查看设置审计跟踪”,然后选择View Setup Audit Trail.

使用组织范围的默认设置保护数据后,生成的设置可能对某些用户而言过于严格。然后,您可以使用剩余的记录级安全控件:角色层次结构,共享规则和手动共享,以选择性地为需要它的特定员工打开记录访问。