在招聘应用中保护数据安全

数据安全是 Salesforce 信任的基石。本文通过 AW Computing 招聘应用项目,构建四层纵深防御安全模型:克隆标准配置文件创建 HR Recruiter 并配置对象权限、创建 Hiring Manager 权限集授予例外访问、用字段级安全保护 Salary Range 敏感字段,以及用组织级默认共享设置控制记录级访问,践行最小权限原则。...

📅 2026/10/7 ✍️ ponybai 🏷️ salesforce, headless

一、创建自定义配置文件

slide_2
slide_3

本单元为 AW Computing 的招聘应用创建 HR Recruiter 配置文件,并配置对象级权限。

学完本项目,你将能够:在 HR 招聘应用中更新字段级安全并创建权限集,让敏感数据只对需要的人可见;通过修改共享设置进一步限制数据访问。

保护 AW Computing 招聘应用的安全

slide_4

在本项目中,你继续定制 AW Computing 的招聘应用——HR 团队用它把求职者安排到公司的空缺职位。HR 副总裁 Ling Wu 希望确保使用该应用的人只看到他们需要看的数据,这体现了最小权限这一基本安全原则。为此你要实施多层安全:不是所有人都能看到薪资信息、不是所有人都能看到所有候选人、外部用户被完全限制。第一步是根据 Ling 的规格创建 HR Recruiter 配置文件并设置所需的数据访问。

为什么克隆配置文件而不是用标准配置

slide_5

最佳实践是不把标准配置文件直接分配给用户。相反,即使不做任何更改,也克隆标准配置文件,把克隆件分配给用户。这样,如果用户将来需要权限或对自定义对象的访问,克隆的配置文件可以轻松更新,而不会影响其他用户。标准配置文件不可修改,克隆件让你拥有控制权,每个角色都有自己定制化的安全基线。模式就是:克隆 → 定制 → 分配。

项目先决条件

slide_6

开始本项目前,你必须完成三个前置项目:Build a Data Model for a Recruiting App(创建 Candidate、Job Posting、Position 等自定义对象)、Customize the User Interface for a Recruiting App(设置招聘应用的 UI 与导航)、Improve Data Quality for a Recruiting App(添加验证规则与数据质量检查)。这里的工作建立在这些项目之上——它们创建了对象、UI 与数据,你现在要用配置文件、权限集与共享规则来保护它们。

第 1 步——自定义配置文件视图设置

slide_7

创建新配置文件前,先自定义配置文件的查看方式。从 Setup 在 Quick Find 框输入 User Management Settings 并选择它,把 Enhanced Profile User Interface 设置为 Disabled(如果尚未禁用)。禁用增强视图是因为经典配置文件界面提供了更直接的视图来配置对象级权限,正是我们设置 HR Recruiter 配置文件所需的。

第 2 步——克隆标准用户配置文件

slide_8

现在创建 HR Recruiter 配置文件。从 Setup 输入 Profiles 并选择 Profiles,在配置文件列表中找到 Standard User,点击 Clone。

Profile Name 输入 HR Recruiter,点击 Save。现在你有了一个专门的 HR 招聘人员配置文件,但它的权限仍与 Standard User 相同——接下来要定制它。

第 3 步——配置对象权限表

slide_9

在 HR Recruiter 配置文件页面点击 Edit,按 Ling Wu 的规格设置权限。对 Candidates:Read、Create、Edit(无 Delete——候选人记录应保留而非删除);对 Interviewers、Job Applications、Job Postings、Job Posting Sites、Positions、Reviews:完整的 Read、Create、Edit、Delete 权限(招聘人员需要完全掌控招聘工作流)。点击 Save。关键是 Candidates 没有 Delete 权限——这是配置文件本身防止数据丢失的简单而强大的安全控制。

配置文件创建——小结

slide_10

你已完成第一个安全里程碑:禁用了 Enhanced Profile User Interface、克隆 Standard User 创建 HR Recruiter 配置文件、为 7 个自定义对象配置了对象级 CRUD 权限。这个配置文件让招聘人员拥有所需访问权限,同时阻止候选人记录被删除。但这只是第一层安全——配置文件控制对象级访问。接下来要用权限集、字段级安全与共享设置添加更细粒度的控制。

二、用权限集、字段级安全与共享设置限制访问

slide_11

本单元在 HR Recruiter 配置文件基础上,添加权限集、字段级安全与共享设置三层安全。

理解权限集

slide_12

权限集在用户现有配置文件权限之上授予额外权限,而无需修改现有配置文件、创建新配置文件,或在不必要的地方授予管理员配置文件。关键好处:无需改动配置文件、无需授予管理员访问权、作为例外分配给特定用户而非广泛更改。在我们的招聘应用中,hiring manager 需要额外访问权来审查候选人、管理面试官,但他们不是 HR 招聘人员——与其创建全新配置文件,不如创建 "Hiring Manager" 权限集分配给他们。配置文件 = 基线;权限集 = 例外。

创建 Hiring Manager 权限集

slide_13

从 Setup 输入 Permission Sets 并选择 Permission Sets,点击 New,输入:Label 为 Hiring Manager,描述为"Temporary permission set for those Hiring Managers that need to interview candidates for positions in their department",License 选 Salesforce,点击 Save。然后在 Apps 区点击 Assigned Apps,点击 Edit。

从 Available Apps 列表选择 Recruiting 并点击 Add,点击 Save。现在 Hiring Manager 可以访问招聘应用了。

为 Hiring Manager 配置对象设置

slide_14

现在在权限集内设置对象级权限。点击 Assigned Apps 旁的下拉菜单,选择 Object Settings。先从 Interviewers 开始:Tab Settings 选 Visible,Object Permissions 勾选 Read、Create、Edit,点击 Save。然后对 Job Applications、Job Postings、Job Posting Sites、Positions、Reviews 对象重复,权限按 Ling Wu 提供的表格设置。每个对象都精确地获得 hiring manager 所需的权限——不多不少。

Hiring Manager 对象权限——完整参考

slide_15

Ling Wu 为 hiring manager 的权限矩阵:Interviewers(Tab Visible,Read/Create/Edit);Job Applications(Visible,仅 Read——只读,可查看但不能修改);Job Postings(仅 Read,Tab 不 Visible——通过相关列表访问,而非直接导航);Job Posting Sites(Visible,仅 Read);Positions(Visible,Read/Create/Edit);Reviews(Read/Create/Edit/Delete——hiring manager 撰写绩效评估)。与 HR Recruiter 配置文件的关键差异在于:Job Applications 只读、Job Postings 只读且 Tab 不可见、Reviews 完整 CRUD。这就是最小权限的实践——每项权限都服务于特定工作职能,默认不授予任何权限。

理解字段级安全

slide_16

字段级安全在单个字段级别控制配置文件或权限集可以查看与编辑哪些字段。关键特性:覆盖任何较宽松的字段访问设置;控制页面布局与搜索布局中的可见性;普遍强制——无论用户如何访问 Salesforce(页面布局、相关列表、报告、API),都始终生效。这使字段级安全成为保护敏感与机密信息的首选方式。例如 Position 对象上的 Salary Range 字段:HR 招聘人员需要查看与编辑薪资范围、hiring manager 需要查看、面试官与其他用户不应看到薪资数据——字段级安全让它成为可能。

为 Salary Range 设置字段级安全

slide_17

从 Setup 点击 Object Manager,点击 Position,点击 Fields & Relationships,找到并点击 Salary Range,点击 Set Field-Level Security。对 HR Recruiter 与 System Administrator 勾选 Visible,取消其他所有配置文件的 Visible,点击 Save。保存后,除了 HR 招聘人员与管理员,任何用户都无法在系统任何地方看到薪资信息——不在记录页、不在列表视图、不在报告、也不通过 API。这是一个强大、简单、普遍的控制。

通过权限集授予 Salary Range 访问权

slide_18

字段级安全也与权限集协同工作。hiring manager 也需要查看与编辑薪资范围。通过 Hiring Manager 权限集授予访问权:从 Setup 进入 Permission Sets,点击 Hiring Manager,点击 Object Settings → Positions → Edit。

在 Field Permissions 下找到 Salary Range,勾选 Read Access 与 Edit Access,点击 Save。现在拥有该权限集的 hiring manager 可以查看与编辑薪资范围——即使其基础配置文件不能。这就是权限集与字段级安全协同实现细粒度控制的方式:字段默认锁定,只有明确分配的用户才能访问。

理解共享设置

slide_19

此前我们在对象级(配置文件)与字段级(字段级安全)控制访问。共享设置则在记录级控制访问:哪些具体记录每个用户能看到。组织级默认值(OWD)设置基线——Private(只有记录所有者及角色层级之上的人可见)、Public Read Only(人人可见、只有所有者可编辑)、Public Read/Write(人人可见可编辑)。设置 OWD 后,用共享规则按条件开放访问。原则是:把 OWD 设为仍允许业务运转的最严格级别,然后用共享规则有选择地开放访问——事后开放比事后锁定更容易。

为招聘应用配置组织级默认值

slide_20

Ling Wu 的要求:Job Postings 是唯一具有公共访问权的 HR 自定义对象。从 Setup 输入 Sharing Settings,在 Organization-Wide Defaults 区点击 Edit,设置 Default Internal Access:Candidate、Interviewer、Job Application、Position 设为 Private;Job Posting Site 设为 Public Read Only,点击 Save。注意:OWD 更新可能需要一些时间处理,验证前请等待几分钟。Job Posting Site 设为 Public Read Only 意味着公司内任何人都能看到使用的招聘网站,但只有所有者能修改。

安全层级——完整图景

slide_21

你的招聘应用现在受四层安全保护:配置文件(HR Recruiter)——控制能访问哪些对象(Candidate 无 Delete);权限集(Hiring Manager)——在配置文件之上授予额外访问(Job Applications 与 Job Postings 只读);字段级安全(Salary Range)——控制哪些字段可见(只有 HR 招聘人员与 hiring manager 能看薪资);共享设置(OWD)——控制能看到哪些记录(招聘数据默认 Private,Job Posting Sites 例外为 Public Read Only)。这就是纵深防御——一次入侵需要绕过多个相互独立的控制。Ling Wu 可以放心了:她的团队以及任何访问该应用的人都只会看到他们被授权的数据。


文章来源:Trailhead - Keep Data Secure in a Recruiting App