Salesforce通过一系列复杂的权限控制系统来保证数据的Security.下面谈谈我自己的简单理解:
根据开发者文档,Salesforce通过4个层级来保证数据的安全性,简单说就是"什么样的人看到什么样的数据".
1. 第一个层级是Organization:和其他大部分系统一样,Salesforce可以通过密码来判定User是否可以进入组织的 org.但SFDC更全面,它还可以限制用户的登录时长,还可以通过IP Address来限制用户的登录。
2.OBJECT-LEVEL SECURITY: 限制对object 的view 和 Edit 权限。可以在PROFILE 和permission里做设置(Read,Create,Edit,Delete,View All ,Modify All)
3.Field-LEVEL Security:对用户能看到的field做限定,也在 PROFILE 和permission set中做设置
4.Record-LEVEL Security:限制User看到的record.有四种方式来做record方面的设置:
(1)OWD(Organization-wide defaults): 当你创建好一个object就要考虑这个object的OWD设置,考虑已怎样的方式来share表中的数据,可以为object的OWD设置下列属性:
Private: record的owner和高于该owner role的人可以view,edit,report 这些records.
Public Read Only: 所有的用户都可以看到这些记录,并且可以report, 但是只有owner, 和比其role高的人可以编辑他们。
Public Read/Write:所有user都可以看到,修改和报告这些记录。
(2)Role hierarchies:即便一个Object的owd是private的,但该role的上级依然和owner拥有相同的权利。但是如果你在为object做设置时把把Grant Access Using Hierarchies 选项置为disabled的,那只有owner和被授权的用户才可以看到这些记录,role hierachies将失效。
(3)Sharing rules:把特定的 record share给需要的user和group( Read-Only& Read/Write access)
(4)Manual sharing