控制对对象的访问权限
学习目标
完成本单元后,您将能够:
- 解释简档、权限集和权限集组之间的区别。
- 修改对象访问权限。
- 克隆并分配简档。
- 创建和分配新权限集。
- 创建和分配新权限集组。
管理对象权限
控制数据访问权限最简单的方法是针对特定类型对象设置权限。(对象是潜在客户或联系人等记录的集合)。您可以控制用户是否可以创建、读取、编辑或删除该对象的任何记录。
我们建议使用权限集和权限集组设置对象权限,不过也可以在简档中配置对象权限。这些功能有何不同呢?
-
权限集:用于为用户分配对象、字段和用户权限。我们建议您在组织权限集时,将有限任务(如处理潜在客户)所需的所有权限都包括在内。可以为用户分配多个权限集。
-
权限集组:用于将多个权限集组合在一起,以便于管理。将权限集组视为代表组织中的一个“角色”,如销售代表。分配至相应权限集组的用户可获得所含权限集中的所有权限。可以为用户分配多个权限集组。权限集也可以在不同的权限集组中重复使用,从而更便于进行访问权限管理。
-
简档:用于配置用户的默认设置,如分配的应用程序、记录类型和页面布局。只会为用户分配一个简档。
关详细信息,请参阅 Salesforce 帮助中的创建权限集和权限集组指南。正如您所看到的,这些功能为您指定对象级访问权限提供了极大的灵活性。在本单元中,您将看到如何为“招聘”应用程序设置这些功能,以确保用户有适当的对象访问权限。
招聘应用的对象权限
让我们探讨如何在“招聘”应用程序中配置对象级访问权限。这个应用有四大类用户:招聘经理、招聘人员、面试官和普通员工。各类用户需要什么样的对象访问权限?
招聘经理
Ben 是一名招聘经理,他应该能够查看与其空缺职位相关的招聘记录,但不能查看其他招聘记录(除非这些记录属于其下属招聘经理所有)。此外,还有一些他不需要看到的敏感字段,比如身份证号码字段。思考一下,Ben 对应用程序中每个关键自定义对象所需的权限。
-
职位:Ben 应该能够发布新职位,更新和查看他作为招聘经理所招聘职位的所有字段,但他应该仅能查看其他经理的职位。
-
候选人:Ben 应该仅能查看他作为招聘经理所招聘职位的候选人。此外,由于 Ben 没有理由查看候选人的身份证号码,因此,此字段应该限制他查看。
-
职位申请:Ben 需要能够更新职位申请状态,以便指定应该选择或拒绝哪些候选人。但是,他既不能更改职位申请中列出的候选人,也不能更改候选人申请的职位。因此,您必须找到一种方法来阻止 Ben 更新职位申请中的查找字段。
-
评价:为了对候选人做出决定,Ben 需要查看面试官发布的评价。如果他认为面试官的评价有失偏颇,他还需要对评价做出评论。同样地,Ben 也需要能够创建评价,以便记住所面试的候选人给自己留下了怎样的印象。
招聘人员
Mario 是一名招聘人员,他需要能够创建、查看和修改系统中的任何职位、候选人、职位申请或评价。此外,由于无论职位由谁创建,所有招聘人员均需要一起工作来填补该职位,因此他还需要查看和修改其他所有招聘人员拥有的招聘记录。
您需要确保招聘人员不会意外删除候选人的信息记录。相关法律要求与招聘相关的记录要保存数年。因此,如果招聘决定受到质疑,就可以利用这些记录在法庭上进行辩护。
面试官
Melissa 是负责面试高级技术职位候选人的工程师。她应该仅能查看分配给自己进行面试的候选人和工作申请。此外,因为所有职位的最低和最高奖金、所有候选人的身份证号码均是与 Melissa 工作无关的敏感信息,所以她不能查看这些信息。
普通员工
即使不是在职招聘经理或面试官,但像 Harry 这样的普通员工往往是招聘新员工的最佳资源。因此,您需要确保员工可以查看空缺职位,但他们不能看到职位最低和最高奖金字段的值。Harry 也不能在“招聘”应用程序中查看任何其他记录。
四类用户中每类用户所需权限的详情如下。
自定义对象
|
招聘人员
|
招聘经理
|
面试官
|
普通员工
|
---|---|---|---|---|
职位 |
读取 创建 编辑 |
读取 创建 编辑* |
读取(不含最低/最高奖金) |
读取(不含最低/最高奖金) |
候选人 |
读取 创建 编辑 |
读取*(不含身份证号码) |
读取*(不含身份证号码) |
不适用 |
职位申请 |
读取 创建 编辑 |
读取 编辑(不含查找字段) |
读取* |
不适用 |
评价 |
读取 创建 编辑 |
读取 创建 编辑 |
读取 **创建 编辑** |
不适用 |
*仅适用于与分配给招聘经理或面试官的职位相关的记录。
**仅适用于面试官拥有的记录。
在本模块其余部分,您将了解如何使用平台在“招聘”应用程序中落实这些要求。这需要在以下三个级别配置安全性控制:对象、字段和记录。
设置简档
如前所述,每个用户都有一个单独的简档,该简档与用户许可证相关联。该平台包括一套带有预定义设置的标准简档。示例如下:
- 标准用户
- 市场营销用户
- 合同经理
- 系统管理员
- 最低访问权限 - Salesforce
每个标准简档包括平台上标准对象的默认权限集。例如,“标准用户”可以创建并编辑记录,而“最低访问权限 - Salesforce”用户可以查看记录,但不能创建或编辑记录。“系统管理员”简档具有最广泛的数据访问权限,并且最具配置和自定义 Salesforce 的能力。其中,系统管理员简档包括两个特殊权限:View All Data(查看所有数据)和 Modify All Data(修改所有数据)。这些权限覆盖了其他所有共享设置。因此,在将这些权限分配给系统管理员以外的任何简档时,应格外小心。
一些标准简档所包含的访问权限很可能超过用户的要求,尤其是在您遵循使用权限集和权限集组配置访问权限的安全最佳实践时。在将每个简档分配给用户之前,请务必查看其包含的权限和设置。
您不能在标准简档上编辑对象权限。不过,您可以复制任意现有简档,将其作为新简档的依据,并根据需要调整设置。我们建议您尽可能使用 Minimum Access Salesforce(最低访问权限 Salesforce)简档或其克隆版本,然后使用权限集和权限集组仅授予用户所需的权限。例如,在“招聘”应用程序中,您可以为招聘人员、面试官和招聘经理分配“最低访问权限——Salesforce”简档,尽管他们的工作职能各不相同。此简档在 Salesforce Platform 中授予极为有限的权限和能力,但您可以使用权限集和权限集组授予更多访问权限。
创建并分配简档
创建简档的最简单方法是复制一个与您想要创建的简档相似的现有简档,然后进行修改。例如,您希望对“最小访问权限——Salesforce”简档稍作修改,显示不同的默认应用程序。
Salesforce 拥有增强简档用户界面,可以快速找到并修改简档设置。您将在本练习中使用该界面。
[替换文字:一份用户简档列表,备注以下内容:对于简档,您可以编辑任何属性。对于标准简档,您必须接受现有的权限设置。]
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 User Management Settings(用户管理设置)。
- 启用增强简档用户界面。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Profiles(简档)。
- 找到与要创建简档相似的简档,单击旁边的复制。
- 为新简档命名,并单击 Save(保存)。
- 根据需要编辑简档的默认设置,然后单击 Save(保存)。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Users(用户)。
- 单击要向其分配简档的用户旁边的编辑。
- 从简档下拉列表中选择刚刚设置的简档。
- 单击保存。
使用权限集和权限集组授予访问权限
前面您已经了解到,权限集和权限集组是管理用户权限和访问的首选方式。让我们来详细了解一下原因。
权限集是允许用户访问各种工具和功能的设置和权限的集合。权限集组顾名思义就是成组的权限集!由于权限集具有灵活性和可重用性,因此可以轻松地向组织中的各种应用程序和对象授予访问权限,也可以在不再需要的时候取消访问权限。由于您可以重复使用较小的权限集构建块,因此可以避免为每个用户和工作职能创建数十甚至数百个简档。
创建权限集,在其中包括作业或任务所需的所有权限。然后将这些权限集捆绑到与用户角色相对应的权限集组中。如果不同的角色执行相同的任务,您可以在不同的权限集组中重复使用这些权限集。
例如,假设您的销售代表和营销专家都需要删除和转移潜在客户。您可以根据潜在客户管理创建一个权限集。然后,根据用户的角色,将权限集纳入“销售代表”和“营销专家”权限集组中。对于只与销售或营销相关的其他权限,可以创建权限集,并将其纳入各自的权限集组。
在权限集中配置这些权限和功能。
- Apex 类
- 已连接应用程序访问权限
- 自定义权限
- 字段权限
- 对象权限
- 用户权限(应用程序权限和系统权限)
- 选项卡设置
- Visualforce 页面
招聘应用程序的权限集和权限集组
现在您已经了解了权限集和权限集组,请思考如何为示例“招聘”应用程序设置对象级访问权限。这个应用有四大类用户:招聘人员、招聘经理、面试官和普通员工。
招聘人员
这代表了明确定义的工作职能,因此很适合创建一个 Recruiters(招聘人员)权限集组。针对招聘数据(评价、候选人、职位和职位申请)的访问权限,您为每个对象创建与任务相关的独立权限集。
招聘经理
销售部门的招聘经理需要访问的数据类型可能与工程部门的招聘经理不同。不过,所有招聘经理仍然需要通过对象权限对招聘数据拥有相同类型的访问权限。因此,我们建议创建一个 Hiring Manager(招聘经理)权限集组,可以分配给不同类型的用户。您可以稍后再处理更具体的限制,如字段级安全性和记录访问权限。
面试官
所有部门和所有工作职能的员工均可能受邀参加面试,并且只需要在有限的时间内访问招聘信息。合理的做法是为面试官定义一个权限集组,并根据需要分配和删除用户。
尤其是对于评价,招聘人员、招聘经理和面试官都需要 Review(评价)对象的 Read(读取)、Create(创建)和 Edit(编辑)权限。为了省力,您可以在所有这些工作职能的权限集组中重复使用相同的权限集!
普通员工
请记住,不参与招聘的员工也应该可以查看职位。由于这是一项全公司范围的要求,因此可考虑创建一个基准权限集,为各职位提供更有限的读取访问权限。然后,将此权限集包含在特定于角色的权限集组中,确保所有用户都能以某种方式获得此访问权限。
因此,考虑到所有这些权限情况,为“招聘”应用程序配置对象权限的最佳方法是这样的:
- 创建三个权限集组:招聘人员、招聘经理和面试官
- 创建与评价、候选人、职位和职位申请相关的权限集。在可行的情况下,在权限组中重复使用权限集,但要确保不会授予用户过多权限。
创建权限集
创建一个权限集,控制对“招聘”应用程序的 Review(评价)对象的访问权限。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Permission Sets(权限集)。
- 单击 New(新建)。
- 输入您的权限集的标签和描述。将其命名为
Access and Manage Reviews
(访问和管理评价)。
- 或者,您可以选择是否仅向具有特定许可证的用户分配此权限集。选择 –None–(–无–)。
- 单击保存。
- 要添加对象权限,请在 Find Settings(查找设置)框中搜索并选择 Reviews(评价)。
- 单击编辑。
- 启用 Read(读取)、Create(创建)和 Edit(编辑)权限。
- 单击保存。
您可以直接为用户分配权限集。但您首先创建了一个权限集组,并包含该权限集。
创建权限集组
对于您的“招聘”应用程序,您确定所有三个基于角色的权限集组都包含相同的评价对象权限。为招聘人员创建权限集组。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Permission Set Groups(权限集组)。
- 单击新建权限集组。
- 输入权限集组的标签(此处为
Recruiters
(招聘人员))和描述。
- 单击 Save(保存)。
- 单击刚刚创建的招聘权限集组,然后单击 Permission Sets in Group(组中的权限集)。
- 单击 Add Permission Set(添加权限集),然后选择 Access and Manage Reviews(访问和管理评价)权限集的复选框。
- 单击 Add(添加),然后单击 Done(完成)。
已配置 Recruiters(招聘人员)权限集,并授予对评价的访问权限。最后一步是将其分配给用户。
- 在 Access and Manage(访问和管理)权限集组概览页面,依次单击 Manage Assignments(管理分配)和 Add Assignment(添加分配)。
- 选择要分配到组的用户,然后单击 Next(下一步)。
- 或者,为用户分配选择一个到期日期。如果您希望临时为用户分配权限集组,则此选项可能很有用。
- 单击分配。
使用摘要审查访问权限
在为所有对象设置访问权限时,您可能会发现要跟踪的东西太多了。哪些权限集授予客户访问权限?Joe Smith 能删除潜在客户吗?为帮助您审查和管理权限,可以使用针对对象访问权限、用户访问权限、权限集和权限集组的 Salesforce 摘要。
例如,在对象管理器中,可以查看授予对象访问权限的权限集、权限集组和简档,以及所授予的访问权限级别。
- 从 Setup(设置)中,转到对象管理器。
- 选择一个支持对象权限的对象。
- 在侧边栏上,单击 Object Access(对象访问权限)。
您还可以查看为用户分配的所有对象、字段和用户权限,以及授予访问权限的方式。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Users(用户)。
- 选择用户。
- 单击 View Summary(查看摘要)。
最后,您可以从权限集或权限集组的摘要页面轻松查看权限集或权限集组中包含的所有权限。
- 在 Setup(设置)中的 Quick Find(快速查找)框内搜索并选择 Permission Sets(权限集)。或者,在 Quick Find(快速查找)框内搜索并选择 Permission Set Groups(权限集组)。
- 选择权限集或权限集组。
- 单击 View Summary(查看摘要)。
干得漂亮!通过分配对象权限,您迈出了管理数据访问权限的第一步。在接下来的单元中,您将通过设置字段和记录的限制来对数据访问权限进行微调。
资源
- Salesforce 帮助:管理用户和数据访问权限
- Salesforce 帮助:对象权限
- Salesforce 帮助:在简档中配置默认设置
- Salesforce 帮助:在权限集中配置权限和访问
- Salesforce 帮助:权限集组
- Salesforce 帮助:在对象管理器中查看对象访问权限
- Salesforce 帮助:查看用户的访问权限摘要
- Salesforce 帮助:查看权限集或权限集组中已启用的权限