1. Role Hierarchy

在私有或者混合模型中,如果在organization-wide defaults设置某个对象为Private,那么对象的记录只有拥有者可以查看。但是,role hierarchy可以让该条记录拥有者的上司有权限访问该条记录。

前提:Case在Organization-wide Defaults中被设为Private.

如图片中所说,如果US Sales Rep为Case A的拥有者,则US Sales Director,VP of Global Sales以及CEO都拥有访问Case A的权限。

注意,这里的权限继承是单向的。例如:US Sales Director为Case B的拥有者,那么VP Sales Director和CEO拥有Case B的访问权限,而US Sales Rep没有。

2. Orgnazation-Wide Defaults

相当于全局范围内,sObject的访问权限设置,一般分为:Private, Public Read Only, Public Read/Write

  • Private: 除了该条记录的拥有者,其他人无法访问(可通过其他的手段增加访问权限)。
  • Public Read Only: 除了该条记录的拥有者,其他人只有查看权限,没有修改权限(可通过其他手段增加修改权限)。
  • Public Read/Write: 所有的用户都可以访问该对象的所有记录。

3. Sharing Rules

除了设置全局范围内默认的权限外,还可针对某个Object,自定义设置Sharing Rules以满足业务需求。

首先,选择需要设置规则的对象,点击New。

由图可见,Rule Type有两种:

  • Based on record owner:当记录拥有者为某个用户或某个角色等时,满足分享条件。
  • Based on criteria:当达到设计的过滤准则时,满足分享条件

3.1 Based on record owner

当记录的拥有者的条件:Public groups == Account Share-BALTI 为真时,将该条记录分享给NGCC-CC Site Manager这个Role以及属于该Role下的所有用户。

注意:这里拥有者和被分享者有多种选择,可以是Group(用户组), Role(某个用户或某类用户),Roles, Internal and Portal Subordinates(某个用户及该用户下属所有用户)等,这些都可以自定义创建。

3.2 Based on criteria

这里的Criteria便是规则,具体内容如下:

  • Field,选择Lead Record Type字段。
  • Operator,判断的条件,equal(==),not equal(!=), start with(字符串以什么开始), contains(字符串中包含该字符), does not contain(字符串不包含), less than(<), greater than(>), less or equal(<=), greater or equal(>=), includes(包括), excludes(不包括), within(在什么里)。注意,这里是全量操作,而实际情况下,不同字段属不同类型,只有部分操作可选择。例如:less than/greater than则适用于Number类型,start with适用于Text(可理解为String)类型。
  • Value,判断的值,多个值之间用逗号隔开。

Filter Logic, 不同过滤条件之间的逻辑关系,上述图中,有三条过滤条件,其过滤逻辑为1 AND (2 OR 3),即(第一个条件为真)并且(第二个条件或第三个条件为真)时,该条规则满足。

Share with, 当满足该条规则时,便将该条记录分享给NGCC-CC Site Manager这个Role以及属于该Role下的所有用户。

** Access, 被分享用户对于该条记录的权限设置,分为Read Only和Read/Write两种。

4. Teams

顾名思义,创建一个team,在其中添加多个用户,然后将记录分享给整个team成员。

注意:对于Salesfroce来讲,目前只有两个标准对象拥有team概念:Account, Case.

Step 1: Enable Account Team

Step 2: 选择在哪些Page layout中可以看到Team,并将其添加到用户的自定义相关列表中,点击save。

Step 3: 【Setup】-->【Object Manager】-->【Account】-->【Page Layouts】-->【***】(自定义page layout)

选择Related Lists,在右侧找到Account Team后,将其拖至下方,点击Save按钮--> Yes,如下图所示。

Step 4: 点击九宫格,在All Items下面选择Account,进入Account导航页面。

Step 5: Account Team列中添加Team成员,点击Add Team Members。当然,你也可以创建一个Team,然后在此处直接Add Default Team。

点击Save按钮,分享该条记录至RestrieveCode SP和wu kai用户。

PS:点击用户旁边的倒三角,可以对该用户进行编辑和删除操作。

5. Manual Sharing

手动分享,通过sharing按钮,手动分享该条记录至指定用户(群)。但是,该功能目前还没有合入Lighnting Experience版本,若想使用,可切换至Classic版本。

点击右上角头像,选择Switch to Salesforce Classic

切换至Classic版本,界面如下。

从Recent Items下找到Account Team Sample用户,点击Sharing,添加要分享的用户。

6. 权限控制

对于Salesforce来说,权限是不断累加的,多种规则权限间表现为并集关系,但对于Salesfroce来说,搜寻不同规则是有先后顺序的,具体表现如下图所示。

用户访问某记录依次查询:

1)Organization-Wide Default: Public Read/Write,读写权限;Public Read/Only,只读权限,若想修改,往下查看;Private, 无访问权限,往下查看。

2)Role Hierarchy: 用户为记录拥有者的领导,有权限访问(读写权限)。

3)Sharing Rules: 满足规则,并且属于被分享者之一,则有访问权限(读写权限可配置)。

4)Teams and Manual Sharing: 属于Team成员之一或者属于Sharing成员之一,则拥有访问权限(读写权限可配置)

上述四条规则依次查询,满足操作权限则退出,如不满足,继续往下,若皆不满足则无权限访问。

Okay,上述内容是我对于Data Security的一点理解,如有误之处,望大佬斧正。

Salesforce学习之路-admin篇(三)role hierarchy & sharing的更多相关文章

  1. Salesforce学习之路(五)role hierarchy & sharing

    1. Role Hierarchy 在私有或者混合模型中,如果在organization-wide defaults设置某个对象为Private,那么对象的记录只有拥有者可以查看.但是,role hi ...

  2. Salesforce学习之路-admin篇

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  3. Salesforce学习之路-developer篇(三)利用Visualforce Page实现页面的动态刷新案例学习

    Visualforce是一个Web开发框架,允许开发人员构建可以在Lightning平台上本地托管的自定义用户界面.其框架包含:前端的界面设计,使用的类似于HTML的标记语言:以及后端的控制器,使用类 ...

  4. Salesforce学习之路-developer篇(四)Visualforce结合Reports展示图表

    Salesforce作为一款CRM系统,个人觉得最重要的环境便是在于数据的展示和联动,而Salesforce也本身提供了相当强大的功能,Report在展示图表的方面十分强大,前段时间更是宣布以157亿 ...

  5. Salesforce学习之路-developer篇(五)Aura组件原理及常用属性

    很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...

  6. Salesforce学习之路-developer篇(五)一文读懂Aura原理及实战案例分析

    1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Ligh ...

  7. Salesforce学习之路-developer篇(一)利用VS Code结合Git开发Salesforce

    Part 1: 从Git中克隆代码到本地 git clone https://github.com/git/git Part 2: 在VS Code中安装Salesforce和Git插件 在VS Co ...

  8. Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能

    上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...

  9. STM32学习之路入门篇之指令集及cortex——m3的存储系统

    STM32学习之路入门篇之指令集及cortex——m3的存储系统 一.汇编语言基础 一).汇编语言:基本语法 1.汇编指令最典型的书写模式: 标号 操作码        操作数1, 操作数2,... ...

随机推荐

  1. python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)

    1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的K-means聚类算法,算法原理就不介绍了,只从代码层面 ...

  2. 玩转 SpringBoot 2 快速搭建 | IntellJ IDEA篇

     IntellJ IDEA 介绍  IntelliJ IDEA 简称 IDEA,目前被认为是最好用的开发Java 语言开发工具之一.不过是收费的.和其同类型的工具有 Eclipse 和 MyEclip ...

  3. 三维动画形变算法(Linear rotation-invariant coordinates和As-Rigid-As-Possible)

    在三维网格形变算法中,个人比较喜欢下面两个算法,算法的效果都比较不错, 不同的是文章[Lipman et al. 2005]算法对控制点平移不太敏感.下面分别介绍这两个算法: 文章[Lipman et ...

  4. Spark的安装及配置

    title: Spark的安装及配置 summary: 关键词:Hadoop集群环境 Spark scala python ubuntu 安装和配置 date: 2019-5-19 13:56 aut ...

  5. Spring学习之旅(三)--装配Bean

    装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一 ...

  6. JVM(十三):后端编译优化

    JVM(十三):后端编译优化 在 JVM(一):源文件的转变 中我们介绍了 Java 中的前端优化,即将 Java 源代码转换为字节码文件.在本文中,我们将介绍字节码文件如何转换为本地机器码,并如何对 ...

  7. 【故障公告】升级阿里云 RDS SQL Server 实例故障经过

    昨天晚上,我们使用的阿里云 RDS SQL Server 2008 R2 实例突然出现持续 CPU 100% 问题,后来我们通过重启实例恢复了正常(详见故障公告).但是在恢复正常后发现了新问题,这台 ...

  8. HDU-6437 Videos

    HDU-6437 题意:一天有n个小时,现在有m场电影,每场电影有一个愉悦值,有k个人,电影分2种类型A, B, 并且每一场电影只能一个人看, 一个人可以看无数次电影, 只要时间足够, 但是连续看同一 ...

  9. CodeForces 375D Tree and Queries 莫队||DFS序

    Tree and Queries 题意:有一颗以1号节点为根的树,每一个节点有一个自己的颜色,求出节点v的子数上颜色出现次数>=k的颜色种类. 题解:使用莫队处理这个问题,将树转变成DFS序区间 ...

  10. 4、cesium场景出图,打印图件

    cesium场景出图,打印图件 把3d渲染的页面进行截图,并可以下载到本地:代码如下: function printscreenScene() { var image = new Image();// ...