salesforce权限控制

Salesforce对权限的设置非常灵活,颗粒度比较细,可具体到字段的读写权限。总体是‘循序渐进的漏斗式权限控制’的设计思想。所以在实践中,一般先给用户默认最小权限,再通过设置逐渐放开或增加其他权限。

Salesforce主要对objects、fields、records几个不同层级的权限进行控制,设置包括OWD、Role Hierarchy、Profile、Permission sets、sharing rules等来控制用户对数据的读写权限。

1.Objects-Level Security

     对对象的权限控制主要利用profile和permission sets,一个用户可以拥有一个profile和多个permission sets。一般使用 profile 分配给用户最低的权限集合,然后使用 permission sets 扩充其他权限。两个联合使用,提供了访问 objects 的灵活性。

     1.1Profile简档

            Profile用来控制用户对系统中各个对象的CRUD,一个用户只能有一个简档,简档的设置主要包括几个方面:Object permissions, Field Permissions, User permissions, Tab settings, App settings, Apex class permission, visualforce permission。

           Custom App Settings -- 给Profile分配哪些应用程序

           Tab Settings -- 哪些Tab可见

            Administrative Permissions--有哪些管理许可,比如是否可创建list view,能不能编辑report

            General User Permissions--

            Standard Object Permissions -- 对标准对象的CRUD权限

            Custom Object Permissions --  对自定义对象的CRUD权限

            Desktop Integration Clients

            Session Settings -- 多长时间自动掉线

            Password Policies -- 密码的过期时间,密码的设置要求等。

        1.2 权限集 permission sets

            permission sets可以说是Profile的一种扩充,实际应用中可给Profile基本的权限,通过permission sets进一步增加用户的权限quick find中找到 管理用户--权限集,新建一个权限集

            像Profile一样,Permission Sets也可以为其分配Tab、apps、object  permission等,比如销售代表,可给分sales cloud、marketing cloud,lightning 等

            对象设置-可访问的对象,以及字段

2. Record Level Security

记录级别的权限控制主要通过OWD和共享规则来实现。权限的优先级顺序为:Manual Sharing > Sharing Rule > Role Hierarchy > OWD

    2.1 OWD

    OWD是最基本的权限设置,组织级别的,主要决定谁可以登录以什么方式登录,OWD的权限是针对record。

    OWD主要有几种权限:Public Full access.(Campaign only)、Read/Write/Transfer(Lead & Case)、Read/Write、Public Read Only、Private.

     如果再利用profile、permission sets对用户授权,则OWD设置被覆盖,所以在设置OWD时一般会问用户的用户权限是什么,但凡有一个用户不能查看某个数据,就要设置成private。

    2.2 Role Hierarchy

        角色的层级关系,角色的领导拥有下属的权限。下面是引用别人的话:

        role determines what is visable to the user

        profile determines what  they can do(actions)

    2.3 sharing rules共享规则

        共享规则主要是针对record,根据一定的规则把记录共享给用户、用户组、用户角色或角色下属。

    2.4Manual sharing

        是最灵活也是最不好控制的一种授予权限方式。是对一条记录拥有owner权限,或者owner的上一级角色,又或者是对记录拥有Full access的用户,通过手动点击sharing按钮,把记录共享给一个用户、群组、角色的下属等,还可以选择共享什么权限。

3. Field-Level Security

        字段级别的权限控制,主要是控制用户对字段的CRED权限。利用page layout可以简单地把一个字段从用户界面上删除。但是如果想彻底控制用户对字段的权限,包括通过 API, 相关列表related lists, list views, 报表reports 以及平台的其他部分,就需要通过字段的安全来设置。

        路径是Setup=>Security Controls=>Field Accessibility. 有两种设置方式,一是单个字段的所有profile,一个是一个profile的所有字段的

        例如下图,一个profile中的字段设置,visible=read & edit, Read-Only只读。

目前对权限的理解仅限于此,来自别人分享的文章和自己的实践。另分享一篇浅显易懂的英文文档:

https://www.salesforcetutorial.com/field-level-security-salesforce/

你可能感兴趣的:(salesforce权限控制)