Salesforce数据安全简介

数据安全级别

Salesforce中将数据安全分为若干等级:

  • 组织级别:组织级别的安全设定在整个系统内部都有效。这是最广泛的级别
  • 对象级别:对象级别的安全设定可以限制用户对于对象的权限
  • 字段级别:字段级别的安全设定可以限制用户对于字段的权限
  • 记录级别:记录级别的安全设定可以限制用户对于记录的权限,这是最详细的级别

数据安全级别的关系

  • 对象级别和字段级别是相关联的,当用户对某字段有权限,那么对该字段所属的对象也是有权限的
  • 记录级别独立于对象级别和字段级别,是用户对于某条记录的权限的单独设定。但是当此用户在对象或字段的权限中有“查看全部”和“修改全部”权限时,记录级别会被忽略,即用户可以看或修改任何记录

权限计算

当用户需要进入某条记录、运行报表、进行搜索等操作时,Salesforce会检查该用户的权限。由于Salesforce中有着复杂的权限设定,Salesforce会在权限设定更改时立即计算数据记录的权限,然后将结果保存起来。这样,当用户需要对记录进行操作时,Salesforce不用在此时进行权限的计算(因为会使效率变慢),而是根据储存好的权限结果直接进行判断。

数据库中的权限相关表格

在数据库中,Salesforce主要使用三类数据表来管理各种权限设定:

  • 对象记录表(Object Record Table):这类表中存储着数据记录
  • 对象共享表(Object Sharing Table):这类表中存储着各个对象的共享权限,共享权限包括了各种权限设定,包括手动共享、角色权限、共享规则等
  • 用户组表(Group Maintenance Table):这类表中保存着各个用户和用户组的关系

当需要决定某个用户或用户组对于某条记录的权限时,会执行以下步骤:

  1. 在对象记录表中找到这条记录
  2. 在对象共享表中根据这条记录的ID找到存储于其中的共享权限
  3. 在用户组表中根据用户或组的ID找到对应的记录,然后在对象共享表中找到和该用户或组的ID相对应的共享权限

以上步骤执行完毕后,Salesforce便得到了该用户或用户组对于这条记录的权限。

组织级别的安全设定举例

组织级别的安全设定在整个系统内部都有效。最常用的设定有用户管理、密码规则、登陆IP限制等。

用户管理

用户管理是典型的组织级别的设定。管理员可以方便的从设置界面对用户进行管理。

需要注意的一点是:一个用户账户只能被冻结(无法登陆),而不能被直接删除。

密码规则设定

管理员可以设定所有用户都必须遵守的密码规则。

在设置界面下搜索“密码策略”,点击“安全性控制”菜单下的“密码策略”链接,可以进入“密码策略”的设定界面。

Salesforce数据安全简介

在此界面中,管理员可以设定用户密码的有效期、密码最小长度、密码复杂性等规则。

使所有密码到期

管理员可以一次性使所有密码到期。

在设置界面下搜索“使所有密码到期”,点击“安全性控制”菜单下的“使所有密码到期”链接,可以进入“使所有密码到期”的设定界面。

Salesforce数据安全简介

在此界面中,管理员可以勾选“使所有用户密码到期”,点击“保存”按钮,从而使所有用户的密码都到期,当用户下次登录时,必须重新设置密码。

受信IP范围

管理员可以设定一个IP范围,只有IP地址属于这个范围内的设备可以登录。

在设置界面下搜索“网络访问”,点击“安全性控制”菜单下的“网络访问”链接,可以进入“网络访问”的设定界面。

Salesforce数据安全简介

在此界面中,管理员需要输入开始和结束的IP地址,并保存。

登录时间和IP限制

Salesforce的用户都属于某一个用户简档。用户简档包含了一系列的规则,规定了用户在整个系统各个方面的权限。其中一种权限就是登录的时间和IP。

在设置界面下搜索“简档”,点击“管理用户”菜单下的“简档”链接,进入“简档”一览表界面。

点击任一简档的名字,进入其详细信息界面。

在简档详细信息的页面最下方,可以找到“登录时间”和“登录 IP 范围”的部分。管理员可以在此处进行设置,规定属于该简档的用户可以登录的时间范围和IP范围。在范围之外的时间或IP的用户无法登录。

Salesforce数据安全简介

如果用户在已经登录的状态下进行工作,当超过了登录时间范围的时候,用户会被自动登出,未保存的工作将丢失。

用户简档

用户简档(Profile)是一组规则的集合,规定了用户对于整个系统各个方面的权限,也包括对象。

利用用户简档,管理员可以设定属于该简档的用户对于若干对象的权限,比如查看、创建、编辑、删除等。这里同样也适用于每个对象的每个字段。

对象的特殊权限

在用户简档中,管理员还可以对对象设定两个特殊权限:“查看全部”和“修改全部”。这两个权限可以使具有此简档的用户忽略其他任何对此对象的安全设定,永远具有对此对象所有记录的查看权限和修改权限。

Salesforce数据安全简介

权限组

除了用户简档,管理员还可以设置权限组。权限组的内容和用户简档类似,也是一组用户对于系统各个方面权限的规则集合。

用户简档和权限组的功能有重叠的部分,一般来说,每个用户都必须具有一个用户简档,权限组可以作为用户简档的补充手段。

用户简档里的规则是统一的。当属于某用户简档的一部分用户需要一些特殊权限的时候,可以将这些特殊权限设定在某权限组中,再将该部分用户加入权限组里,这样,他们就可以在不失去用户简档规定的权限的同时拥有了权限组中规定的权限。

共享设置

在设置界面下搜索“共享设置”,点击“安全性控制”菜单中的“共享设置”链接,即可进入“共享设置”界面。

“共享设置”界面显示了系统中对于每个对象的权限设置。“共享设置”界面分为两部分:“默认共享设置”和“共享规则”。

“共享设置”处于数据安全级别的最底层,如果在用户简档或其他地方对于某些对象有其他的权限设定,则此处的访问权限设定将会被忽略。

默认共享设置

默认共享设置影响的范围是整个组织,在此可以规定每个对象对于所有用户的访问权限。

Salesforce数据安全简介

共享规则

共享规则是基于每个对象的。一条共享规则包括:

  • 基本属性:标签、名字、描述等
  • 规则类型:可以设定是基于记录的所有人还是基于某些条件
  • 被共享的用户:可以设定此共享规则对哪些用户有效。此处的用户分为三种:公用小组、角色、角色及下属
  • 被共享用户的访问权限:可以设定被共享的用户对于此数据有哪些权限
Salesforce数据安全简介

手动共享记录

无论是用户简档、权限组、共享设置,都只能设定对象、字段共享的规则。如果用户想共享某一条记录,那么就需要手动设置该记录的共享权限。

在记录的详细页面上,单击“共享”按钮,即可设定共享规则。

当一个对象在“共享设置”的“默认共享设置”中被设为“公用读/写”权限时,此对象的记录默认被所有用户共享,则此对象的记录中没有“共享”按钮。

Salesforce数据安全简介

隐式共享

Salesforce中的隐式共享是自动发生的,无法被关闭或消除。隐式共享对自定义对象不起作用。

父关系隐式共享

当某用户对某条Account记录的子记录(机会 Opportunity、联系人 Contact、个案 Case)拥有权限时,该用户自动对该Account记录拥有权限。

子关系隐式共享

当某用户是某条Account记录的所有者(Owner)时,该用户自动对此Account的各个子记录(机会 Opportunity、联系人 Contact、个案 Case)拥有权限。

相关推荐