控制对记录的访问权限
学习目标
完成本单元后,您将能够:
- 列出记录访问权限的四种控制方式。
- 分别描述使用四种记录级安全性控制的情况。
- 解释不同的记录控制之间如何交互。
- 设置组织范围共享默认设置,以控制对记录的访问权限。
记录级安全性
为准确控制数据访问权限,您可以允许特定用户查看特定对象中的特定字段,但限制用户可以查看的单个记录。记录访问权限决定了对于用户有访问权限的每个对象,用户可以查看和编辑其中哪些单个记录。首先,思考一下这些问题:
- 用户需要访问每个记录还是一部分记录?
- 如果需要访问部分记录,应该用什么样的规则来确定是否可以访问?
在“招聘”示例应用程序中,您已创建了一个名为 Recruiter(招聘人员)的新权限集,向招聘人员提供其所需的对象级权限。您限制了删除招聘相关对象的权限,因此招聘人员永远无法删除这些对象。但是,向招聘人员授予创建、读取或编辑招聘对象的权限并不一定意味着招聘人员可以读取或编辑招聘对象中的每个记录。出现这种行为是因为记录级安全性控制了用户对其不拥有的记录的访问权限。
记录级功能提供了层层递增的访问权限,因此了解配置了哪些记录级功能以及如何了解用户的访问权限非常重要。
您可以通过四种方式控制记录级访问权限。按升序列出访问权限。您使用组织范围默认设置,将数据锁定到最严格的级别,然后使用其他记录级安全性工具,按需向已选择的用户授予访问权限。
-
组织范围默认设置指定了用户对非自己所有的记录的默认访问权限级别。
-
角色层次结构确保经理对相同的记录具有和其下属相同的访问权限。层次结构中的每个角色代表一个用户或一组用户需要的数据访问权限级别。
-
共享规则让您可以自动允许特定用户组采用组织范围默认设置的例外设置,使他们能够访问其他人的记录或通常情况下无法查看的记录。
-
手动共享允许具备充分权限的记录所有者或用户向无法通过其他方式访问记录的用户提供读取和编辑访问权限。
所有数据类型的可见性和访问权限均由上述安全性控制的相互作用决定,并基于以下关键原则。
- 用户在任何对象上的基准权限由其组合权限集、权限集组和简档决定。
- 用户对非本人所有的记录的访问权限首先由组织范围默认设置决定。
- 如果组织范围默认设置低于公用读/写,您可以使用角色层次结构对特定角色启用访问权限。
- 您可以使用共享规则扩展对其他用户组的访问权限。
- 每个记录的所有者可通过使用记录上的“共享”按钮手动与其他用户共享单个记录。
在本模块的其余部分,您将学习更多有关控制记录访问权限的知识。在本单元中,您将深入了解如何配置组织范围默认设置。
组织范围默认设置
组织范围默认设置指定了用户对非自己所有的记录的基准访问权限级别。该设置应代表最受限制用户应拥有的访问权限。使用组织范围默认设置锁定数据,然后使用其他记录级安全性和共享工具(角色层次结构、共享规则和手动共享)向需要数据的用户开放数据。
对象权限决定了对对象中所有记录的基准访问权限级别,组织范围默认设置修改了对非用户本人所有的记录的权限。组织范围默认设置向用户授予的访问权限不会比用户通过对象权限所获得的权限多。可为每种类型的对象以及内部用户和外部用户分别设置组织范围默认设置。
要确定应用所需要的组织范围默认设置,先针对每个对象思考一下这些问题:
- 哪个用户是该对象最想限制的用户?
- 该对象中是否会有此用户不可以查看的实例?
- 该对象中是否会有此用户不可以编辑的实例?
根据您的答案,您可以将该对象的共享模型设置为这些设置中的一项。
-
专用:只有记录的所有者以及层次结构中该角色以上的用户可以查看、编辑和报告这些记录。
-
公用只读:所有用户均可查看和报告记录,但只有所有者以及层次结构中该角色以上的用户可以编辑这些记录。
-
公用读/写:所有用户都可以查看、编辑和报告所有记录。
-
由父级控制:如果用户可以查看、编辑或删除某个记录的父级记录,便可以查看、编辑或删除该记录。
当对象的组织范围共享设置为专用或公用只读时,管理员可通过设置角色层次结构或定义共享规则授予用户对记录的其他访问权限。共享规则仅可用于授予其他访问权限,不可用于在组织范围共享默认设置以外限制对记录的访问权限。
接下来,我们将针对“招聘”应用中的 Position(职位)对象回答上面的问题。
-
哪个用户是该对象最想限制的用户?
普通员工,只可以查看职位。
-
此对象是否会出现此用户不可以查看的实例?
没有。虽然最低和最高奖金字段的值对普通员工不可见,但他们仍然可以查看所有职位记录。
-
此对象是否会出现不允许该用户编辑的实例?
应该使用。普通员工不可以编辑任何职位记录。
由于存在普通员工不可以编辑的实例,因此 Position(职位)对象的共享模型应该设置为 Public Read Only(公用只读)。通过对其他招聘对象重复进行这一步骤,可以轻松得出合适的组织范围默认设置。普通员工是每个对象最受限制的用户,并且存在特定员工无法查看的候选人、职位申请和评价记录。因此,“候选人”、“职位申请”和“评价”对象的共享模型应设置为专用。
设置组织范围共享默认设置
使用组织范围默认设置指定最受限制的用户应该具有的基本访问权限级别。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Sharing Settings(共享设置)。
- 单击“组织范围默认设置”区域中的编辑。
- 为每个对象选择默认内部访问权限和默认外部访问权限。如前所述,您将对 Position(职位)的默认内部访问权限设置为 Public Read Only(公用只读),并将 Candidate(候选人)、Job Application(职位申请)和 Review(评价)的默认内部访问权限设置为 Private(专用)。您将所有四个对象的默认外部访问权限都设置为 Private(专用)。
- 要使用层次结构禁用自动访问权限,您可以为没有 Controlled by Parent(由父级控制)默认访问权限的所有自定义对象取消选择 Grant Access Using Hierarchies(使用层次结构授予访问权限)。如果取消选择此复选框,则只有记录所有者和通过共享功能授予访问权限的用户才能访问记录。
- 完成访问设置后单击 Save(保存)。
使用组织范围默认设置锁定数据之后,形成的设置对于某些用户来说可能限制性过高。如果是这样,您可以使用其他记录级安全性控制,如角色层次结构、共享规则和手动共享,选择性地向有需要的特定员工开放记录访问权限。
资源