Salesforce 字段级安全(FLS):细节与策略
欢迎来到安全系列的又一期。今天,我们将深入探讨 Salesforce 字段级安全(FLS)这一概念。当你已经授予了对某个对象的访问权限,但又想控制该对象中特定字段的可见性时,这项功能必不可少。
1. 引言
字段级安全是关于控制谁可以看到对象上的某些字段。设想一个对象上有一个存放机密数据的字段。我们如何确保只有特定的用户能看到这些数据?
2. 场景
为了说明,我们用一个关于“飞行员 Paul”的假设例子。我们有一个名为“Airport”的对象。在这个对象中,有一个叫“Security Status”的字段。我们的目标是只允许 Paul 访问这个字段,并限制其他人。

3. 授予访问权限
首先,在“Airport”的对象管理器中,我们创建一个新字段。在我们的例子中,它是一个名为“Security Status”的选项列表,选项有“Normal”、“Elevated”和“Lockdown”。
不要在简档层面授予访问权限,而是转向权限集层面的安全。唯一的例外是系统管理员,他仍然可以拥有简档层面的访问权限。
因此,默认情况下,只有系统管理员能看到这个新字段。
4. 权限集
要给 Paul 授予访问权限:
- 进入权限集。
- 查看 Paul 的权限集组。在里面,你会找到一个名为“Airport View”的组(这是在之前的一次演示中创建的)。
- 调整这个组中的对象设置,提供对“Security Status”字段的读取权限(使用标准的字段级安全)。
按照这些步骤操作后,Paul 以及任何拥有“Airport View”权限集的人,现在都能在他们有权访问的任何机场记录上看到安全状态了。
5. 用动态表单有条件地显示字段
[caption id="" align=“alignnone” width=“3002”]
可以在单个字段层面添加一个筛选条件 [/caption]
如果你想有条件地显示这个字段:
- 进入 Lightning 页面生成器。
- 升级为使用动态表单。
- 给“Security Status”字段添加一个筛选条件。例如,只在机场类型为“Large”时才显示这个字段。
请记住,这种方法只会在用户界面上隐藏字段,但这个字段仍然可以在列表视图、报表、仪表板和全局搜索中被访问。所以,这并不是一种能确保数据绝对保密的万无一失的方法。
6. 用 Lightning Web 组件(LWC)实现更高级的安全
如果确实需要严格的字段级安全:
不要授予标准的字段级安全。因为如果用户对这个字段拥有 FLS(字段级安全)访问权限,他们就可能通过其他途径访问它,比如:
- 列表视图
- 报表
- 搜索

设计一个在系统上下文中运行的 Lightning Web 组件(LWC),有条件地显示这个字段。
虽然 LWC 在显示数据方面很强大,但在新建或编辑时可能会带来挑战。这可能需要在 LWC 中做一个自定义的编辑界面。
结论
保护 Salesforce 中的字段至关重要。根据所需的安全级别,Salesforce 提供了多种选择:
- 只通过权限集授予访问权限。
- 使用条件字段可见性,但它有其固有的局限。
- 对于高安全要求,设计一个 Lightning Web 组件。
谢谢
感谢收看。请记住,安全至关重要,而理解字段级安全能确保你的 Salesforce 数据保持机密、掌握在正确的人手中。
请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。
与架构师同行以及正走在架构师之路上的人分享有趣的想法,一起改变世界!
STA 4.5