salesforce 权限管理是salesforce平台中特别厉害的内容,基于很多层级来控制访问权限从而实现更细节的维度控制,比如安全级别控制以及数据控制。
- ORG ACCESS: Org Access用来配置系统级别的安全性信息,如Password Policy, IP Range以及Business Hours/Holidays等。
profile也可以进行这些配置,profile和ORG都配置情况下,profile会覆盖当前org的配置。user会优先看profile级别的配置项。
- 如果想要设置系统级别的IP range,setup搜索 Network Work Access即可设置系统级别的IP range。不在IP 地址范围内的用户访问,需要比如code发送到手机号或者邮箱进行二次验证。
- 如果想要设置系统级别的Password Policy,setup搜索Password Policies设置系统级别的密码策略。
- 设置系统级别的Business Hours以及Holidays,setup搜索 Business Hours。
- OBJECT ACCESS:对象级安全或对象权限提供了控制数据访问的最直接的方法。通过使用对象权限,可以防止用户查看、创建、编辑或删除特定对象类型的任何实例,也可以对所选用户隐藏选项卡和对象,这样他们甚至不知道存在这种类型的数据。我们可以基于 Profile或者Permission Set来设置 Object Permission,如果当前user没有表的 Read权限,则无法查看这个表的任何数据。
-
FIELD ACCESS:有时,我们希望用户能够访问一个对象,同时限制他们对该对象中各个字段的访问。比如一个销售代表,不希望看到产品表的利润,成本等字段。只有经理级别及以上才可以查看。字段级安全性或字段权限控制用户是否可以查看、编辑和删除对象上特定字段的值,这样可以保护敏感字段而不隐藏整个对象。我们可以基于 Profile或者Permission Set来设置 Field Access Permission,如果当前user没有表的字段的访问权限,则即使拖动在UI里也无法查看这个字段。
-
RECORD ACCESS:上述的配置为表和字段的权限控制。除此以外,我们还可以设置指定表的记录的访问权限。记录级别的安全性允许用户访问授权给他的数据,非授权的数据则无法查看。在salesforce中,记录有owner的概念,即拥有这条记录的所有权限。owner可以是user或者是queue,比如case表就可以设置owner为queue。
针对记录级别的访问设置,salesforce支持以下的配置维度:
- Organization-wide sharing settings(OWD):确定每个对象的组织范围共享设置,用来指定用户对记录的默认访问级别。
- Public Read/Write:所有用户都可以查看/编辑这个表的所有数据
- Public Read Only:所有用户都可以查看所有数据,拥有记录编辑权限的用户可以编辑
- Private:只有记录owner以及有权限访问的用户可以查看/编辑数据
- Role hierarchy:当设置OWD以后,第一步扩充权限的就是设置Grant Access Using Hierarchies。 在层次结构(Role Hierarchy)中,如果勾选了 Grant Access Using Hierarchies,层次结构中较高的用户对层次结构中较低的用户始终具有相同的访问权限。此访问权限适用于用户拥有的记录和与其共享的记录。
- Sharing rules:第二步常用的扩充权限可以使用共享规则,让这些用户访问他们不拥有或通常不能看到的记录。可以基于Record Owner或者基于条件进行共享,满足条件的,可以共享给指定的Group, Role或者Role及它下属。
- Manual sharing:记录Owner有权利进入指定的记录,然后点击 Share按钮去手动共享给需要的user
- Apex managed sharing:项目中通过代码进行数据共享也很常见,通过插入Share表的数据实现满足条件的用户/Group拥有数据的 Read Write / Read Only权限。
上述的记录访问的控制都是在扩大用户的访问权限,salesforce针对数据权限控制还提供了两个缩小权限的规则设置。
- Scoping rules:使用范围规则,根据你选择的标准,控制你的用户看到的记录。用户仍然可以访问你的共享设置所允许的记录。范围规则并不限制你的用户已经拥有的记录访问,只是对你的用户看到的记录进行范围界定。你的用户仍然可以根据你的共享设置,打开并报告他们可以访问的所有记录。
Help And Training Community
Data Security
Help And Training Community