由 AI 翻译,尚未经过社区审校。 阅读英文版

博客 · 2023年10月20日 · Steve Simpson · 安全

Salesforce 字段级安全(FLS):细节与策略

欢迎来到安全系列的又一期。今天,我们将深入探讨 Salesforce 字段级安全(FLS)这一概念。当你已经授予了对某个对象的访问权限,但又想控制该对象中特定字段的可见性时,这项功能必不可少。

1. 引言

字段级安全是关于控制谁可以看到对象上的某些字段。设想一个对象上有一个存放机密数据的字段。我们如何确保只有特定的用户能看到这些数据?

2. 场景

为了说明,我们用一个关于“飞行员 Paul”的假设例子。我们有一个名为“Airport”的对象。在这个对象中,有一个叫“Security Status”的字段。我们的目标是只允许 Paul 访问这个字段,并限制其他人。

图示:Airport 对象上 Security Status 字段的字段级安全策略:只通过需要它的权限集授予访问权限;使用条件字段可见性(字段仍会出现在列表视图、报表和搜索中);或者把字段锁住,通过一个 Lightning Web 组件来显示它

3. 授予访问权限

首先,在“Airport”的对象管理器中,我们创建一个新字段。在我们的例子中,它是一个名为“Security Status”的选项列表,选项有“Normal”、“Elevated”和“Lockdown”。

不要在简档层面授予访问权限,而是转向权限集层面的安全。唯一的例外是系统管理员,他仍然可以拥有简档层面的访问权限。

因此,默认情况下,只有系统管理员能看到这个新字段。

4. 权限集

要给 Paul 授予访问权限:

  1. 进入权限集。
  2. 查看 Paul 的权限集组。在里面,你会找到一个名为“Airport View”的组(这是在之前的一次演示中创建的)。
  3. 调整这个组中的对象设置,提供对“Security Status”字段的读取权限(使用标准的字段级安全)。

按照这些步骤操作后,Paul 以及任何拥有“Airport View”权限集的人,现在都能在他们有权访问的任何机场记录上看到安全状态了。

5. 用动态表单有条件地显示字段

[caption id="" align=“alignnone” width=“3002”]可以在单个字段层面添加一个筛选条件 可以在单个字段层面添加一个筛选条件 [/caption]

如果你想有条件地显示这个字段:

  1. 进入 Lightning 页面生成器。
  2. 升级为使用动态表单。
  3. 给“Security Status”字段添加一个筛选条件。例如,只在机场类型为“Large”时才显示这个字段。

请记住,这种方法只会在用户界面上隐藏字段,但这个字段仍然可以在列表视图、报表、仪表板和全局搜索中被访问。所以,这并不是一种能确保数据绝对保密的万无一失的方法。

6. 用 Lightning Web 组件(LWC)实现更高级的安全

如果确实需要严格的字段级安全:

不要授予标准的字段级安全。因为如果用户对这个字段拥有 FLS(字段级安全)访问权限,他们就可能通过其他途径访问它,比如:

截图:一个 Airports 列表视图,仍然显示 Security Status 字段

设计一个在系统上下文中运行的 Lightning Web 组件(LWC),有条件地显示这个字段。

虽然 LWC 在显示数据方面很强大,但在新建或编辑时可能会带来挑战。这可能需要在 LWC 中做一个自定义的编辑界面。

结论

保护 Salesforce 中的字段至关重要。根据所需的安全级别,Salesforce 提供了多种选择:

谢谢

感谢收看。请记住,安全至关重要,而理解字段级安全能确保你的 Salesforce 数据保持机密、掌握在正确的人手中。

请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。

与架构师同行以及正走在架构师之路上的人分享有趣的想法,一起改变世界!

转录借助了 AI

STA 4.5