Salesforce 权限管理

Salesforce 权限管理

Salesforce 对于权限的管理是非常严谨的并且支持不同维度的权限控制。常用的有Profiles(简档)、Permissions Set(权限集)、Role Hierarchy(角色层级结构)和Organization-Wide(组织范围)这四项用来控制控制相应的权限。

本文中所指的权限主要指和record(数据)相关的。

介绍及定义

Profiles(简档)
Profiles是Salesforce为每个用户指定的标准配置文件,在创建用户时需指定(不同用户可使用同一Profile)。那么它究竟配置了什么样的内容呢,先来看一段官方定义:
Profiles define how users access objects and data, and what they can do within the application.

这段话很明确的定义了用户通过Profile来获取对象的元数据(这里指具体字段和对象定义)和数据,并且可以规定了在不同的应用中可以做什么。展开来讲:

  • 用户可以看到哪些对象
  • 用户可以看到每个对象的哪些字段
  • 用户可以对哪些对象有什么权限(CRUD)
  • 用户可以看到哪些应用
  • 用户可以看到对象在不同的应用中的展现形式
Permission Sets(权限集)
Permission Sets将一系列权限展现了出来,可根据具体的需要选择具体的权限来赋予特定的用户权限。来看一下官方的标准定义:
A permission set is a collection of settings and permissions that give users access to various tools and functions. The settings and permissions in permission sets are also found in profiles, but permission sets extend users’ functional access without changing their profiles.

同样的说明Permission Set的权限范围和Profile是类似的,但是不同的是一个用户可以同时拥有N(>= 0)个Permission Sets而只能拥有一个Profile。

Role Hierarchy(角色层级结构)
角色层级结构是组织的一个定义范围,规定了不同的职位的从属关系。以下是官方定义:
Salesforce offers a user role hierarchy that you can use with sharing settings to determine the levels of access that users have to your Salesforce org’s data.
Organization-Wide(组织范围)
组织范围的一个基础配置信息,例如Account Data是公有还是私有。

使用

一般而言需要先配置Role,然后配置不同的Profile(依据职级)以及特定的Permission Sets,根据数据特性设置Organization-Wide范围权限。实时或者特殊数据需求可根据Sharing rule来实现共享数据。

心得

  1. Salesforce的权限管理非常严谨,非常细粒度化。在配置Profile时要特别注意后期维护是否困难,将一般字段和逻辑字段等进行区分,后期会比较好一些;
  2. 只有将Organization-Wide设置为私有,才会进行数据的CRUD区分;
  3. Sharing Rule的配置可通过不同的方式UI配置或者代码开发进行赋予;
  4. 本文只是简单介绍了各种控制权限方式,详细需要根据不同的项目具体定义。不过总的来讲:使用并不复杂;
  5. 目前笔者接触到的控制权限方式为这几类,有其他方式的欢迎聊天。

参考

[1] https://help.salesforce.com/articleView?id=admin_userprofiles.htm&type=5
[2] https://help.salesforce.com/articleView?id=perm_sets_overview.htm&type=5
[3] https://developer.salesforce.com/docs/atlas.en-us.210.0.securityImplGuide.meta/securityImplGuide/admin_roles.htm

你可能感兴趣的:(Salesforce)