Limiting Data Access (continued)

ADX201 - Lesson 2: Getting Your Organization Ready for Users

课程内容

让我们来聊聊如何在Salesforce中限制对敏感数据(比如薪资信息)的访问。这个问题其实挺有意思的,因为它涉及到很多细节和策略。我们可以从几个方面来讨论。

首先,你可能会想,能不能直接在职位记录里加一个薪资字段,然后用字段级安全性(FLS)来限制访问呢?其实不行。因为字段级安全性只能做到“全有或全无”——要么某个配置文件的用户能看到这个字段,要么完全看不到。这显然不够灵活,尤其是当我们需要让招聘经理和他们的上级也能看到薪资信息时。

那怎么办呢?我们可以把薪资信息单独存到一个新的对象里。这样,招聘人员可以控制谁能看到这些信息。比如,招聘人员可以决定让招聘经理或者招聘经理的老板看到薪资数据。

接下来,我们需要考虑组织范围内的默认设置。这里我们选择“私有”,因为薪资信息是非常敏感的数据,我们不想让所有人都能看到。

然后,我们可能会想,要不要用“层次结构授予访问权限”呢?其实也不合适。因为虽然我们希望招聘经理的老板能看到薪资信息,但我们不希望这种访问权限一直往上累积。比如,招聘经理的老板的老板可能就不需要看到这些信息。

那么,谁应该拥有这些薪资记录呢?答案是招聘人员。因为招聘人员是负责管理这些数据的,他们应该有权决定谁能看到这些信息。只有记录的所有者、层次结构中位于所有者之上的用户,以及系统管理员,才能手动共享这些记录。

接下来,招聘经理和他们的老板怎么才能看到这些薪资信息呢?这就需要招聘人员手动共享记录了。不过,手动共享每个薪资记录显然不是一个长期的解决方案,因为这样太麻烦了。在后面的编程部分,我们会学习如何通过编程来自动化这个过程。

现在,我们来看看我们的目标是否达到了:只有招聘人员、招聘经理和招聘经理的老板能看到薪资信息。其实还没有完全达到,因为系统管理员还是能看到这些信息。那我们能不能对系统管理员隐藏这些信息呢?其实不行。系统管理员在Salesforce中拥有最高权限,他们可以随时更改字段级安全性。所以,唯一的方法是把薪资信息从Salesforce中移出去,存到另一个系统里,然后通过集成来访问。

最后,我们还可以讨论一下,系统管理员是否应该能查看薪资信息。这个问题其实挺复杂的,因为系统管理员通常需要管理整个系统,但薪资信息又非常敏感。在Salesforce中,我们无法设置一个系统管理员无权访问的对象。所以,如果真的需要完全限制系统管理员的访问,唯一的办法就是把信息存到Salesforce之外,然后通过集成来访问。

总结一下,限制对敏感数据的访问需要综合考虑多种策略,包括字段级安全性、对象设计、记录所有权和手动共享等。希望这些内容能帮助你更好地理解如何在Salesforce中保护敏感数据。