第9章 数据保护与数据共享

9.1 数据保护

9.1.1 为什么要进行数据保护

  使用系统不同的人可以了解的数据内容不同,保证数据的隐私,避免数据泄密。招聘管理系统列出了许多敏感数据,例如工资数额和申请人评论等,这些信息如果泄密,会给我们带来很多麻烦。所以我们需要提供可靠安全性,设置安全规则或者安全策略,限制用户可以访问而且只能访问自己被授权的资源。数据保护也称为权限设置。

9.1.2 数据访问的概念

1、对象级安全

  我们控制数据最直接的方法就是避免用户查看、创建、编辑或删除某一特定对象(如Position 或Review)的任何实例。对象级访问允许我们将整个选项卡和对象对特定用户隐藏起来,使他们甚至不知道这种数据的存在。在平台上,可以使用用户简档上的对象权限来设置对象级访问规则。

2、字段级安全

  与对象级访问类似的是字段级访问,它可以避免用户查看、编辑或删除某个对象上特定字段的值。字段级访问允许我们在不隐藏整个对象的情况下,将某职位的最高工资值或某应聘都的电话号码等敏感信息隐藏起来。在平台上,可以使用字段级安全设置字段级访问规则。

3、记录级安全

  要更加精细地控制数据,可以允许特定用户查看某个对象,但同时限制允许他们查看的个别对象记录。例如,记录级访问允许面试官查看和编辑他自己的评论,同时不显示团队中任何其他人的评论。在平台上,实际可以使用4种方法来设置记录级访问规则:

  • 组织范围默认设置:允许指定用户在组织中拥有的访问权限的基本级别。例如,可以将它设置为任何用户都可以查看在其简档中授权访问的特定对象的所有记录,但要编辑任何一条记录,都需要额外的授权。
  • 角色层次结构:可以确保经理总是可以访问其下属可以访问的所有记录。
  • 共享规则:可以为特定的一组用户制作组织范围默认设置的自动特例。
  • 手动共享:允许记录所有者可以为不能以其他方式访问该记录的用户授予读取和编辑权限。

注意:

  • 一条记录的权限永远由对象级、字段级和记录级权限组合确定。 
  • 当对象级权限和记录级权限冲突时,将实现二者中较严格的权限。

9.2 Salesforce用户

9.2.1 Salesforce用户

  Salesforce用户是软件版权所有组织的软件使用者,在Salesforce平台注册的用户会被分配给一个角色和一个简档。角色决定了用户可以访问什么数据,简档决定了用户可以对有权限访问的数据做什么样的操作(读取、创建、编辑、删除)。简档控制的是用户的对象级和字段级访问权限。事实上,如果不指定一个特定的简档,我们就无法定义用户,因为简档将确定该用户登录时显示哪些应用程序和选项卡, 以及其他有用的东西。 而角色主要用来通过角色层次结构和共享规则控制用户的记录级访问权限。尽管在定义用户时不一定要指定角色,但不指定角色可不是聪明的做法,因为它可以使定义记录级权限变得非常简单。因此通常要为用户既指定简档也指定角色。

9.2.2 创建测试用户

1、进入到管理用户窗口:设置 -> 管理用户

2、新建用户

3、填写用户信息

  如果在 Developer Edition 组织中实现此招聘管理系统,那么除 系统管理员 用户外仅可以操作一个其他用户。仍然可以练习这里介绍的所有用例,只是需要根据正在使用的用例更新用户简档和角色。

9.3 对象级安全

  使用对象级安全性您可以防止用户查看、创建、编辑或删除特殊类型对象的任何实例。如潜在客户或业务机会。对象级安全性使您能够对特定用户隐藏整个选项卡和对象使他们甚至不知道此类数据的存在。

9.3.1 安全规则的定义

  1、招聘人员 

  招聘人员小张可以创建、查看和修改系统中的所有职位、应聘者、工作申请或评论。同样,小张还需要查看和修改所有其他招聘人员(如小李)拥有的招聘记录,因为无论招聘记录是由哪一位招聘人员创建的,其他招聘人员都需要填补该职位空缺。 尽管招聘人员是招聘管理系统中权利最大的角色,但也不能给他完全的自由。虽然随时可以永久删除职位记录,我们需要确保不让招聘人员意外删除那些需要依法保留的记录。 但是如果他不能删除记录,怎样才能保证职位、应聘者、工作申请的数量呢?我们可以在记录上使用 IS_Deleted 字段标明该记录是否是被删除。

  

  2、招聘经理 

  (1)招聘经理小刘会张贴他自己的职位,以便可以快速公开这些职位, 因此,小刘需要创建职位的能力,但小刘应该还可以更新和查看他自己创建的职位记录的所有字段。

  (2)招聘经理小刘有时会想了解应聘者的信息,而从中选拔优秀人才,但不能编辑和删除应聘者。

  (3)作为招聘经理,他应该可以更新这些职位申请的状态以指定哪位应聘者将被选中或被拒绝。

  (4)为了评定申请了该职位的应聘者,小刘需要查看面试官张贴的评论,如果他认为面试官在应聘者的评论中存有偏见,可以提出相应意见。 同样,小刘还应该可以创建评论,以便记住他本人面试的应聘者给他留下的印象。

   

 3、面试官

  面试官小陈。她的经理小刘为她分派应聘者和职位申请信息。她可以查看与指定应聘者相关的职位信息,小陈必须能够创建和编辑她的评论,以便记录她对每个应聘者的评价,但是她应不能查看其他面试官的评论(阅读这些评论可能会影响她的观点)。

   

  4、普通职员

   普通员工通常是招聘新人的最佳来源,尽管他们不是当前的招聘经理或面试官。因此,我们需要确保像员工小周可以查看空缺职位,但小周不应该查看招聘应用程序中的任何其他记录。
  

9.3.2 定制简档

  简档,是一组设置和权限的集合,这些设置和权限决定了用户可以在平台上进行什么操作。简档可以控制:

  • 用户可以查看、创建、编辑和删除的对象;
  • 用户可以查看和编辑的对象字段;
  • 应用程序中用户可以查看的选项卡;
  • 用户可以访问的标准和定制应用程序;
  • 用户可以查看的页面布局;
  • 用户可用的记录类型;
  • 用户可以登录到应用程序的时间段;
  • 用户可以登录到应用程序的IP地址。

  简档通常根据用户的工作职能(例如,系统管理员或销售代表)定义,但也可以根据组织需要设置任何类型的简档。一个简档一次可以指定给多位用户,但每位用户每次只能指定到一个简档。

  本平台为所有的组织提供下列标准简档:

  • Read Only(只读);
  • Standard User(标准用户);
  • Marketing User(市场营销用户);
  • Contract Manager(合同经理);
  • Solution Manager(解决方案经理);
  • System Administrator(系统管理员)。

  这些标准简档分别包含一组默认权限,应用于平台上所有可用的标准对象。例如,被指定到 Standard User 简档的用户决不可以创建、编辑或删除任何活动。 每创建一个定制对象,所有标准简档都将自动获得对该对象的所有默认权限(当然不包括 Read Only 简档,这种简档只能获得读取访问权限)。如果要限制被指定到标准简档的用户访问定制对象,则需定义字段级或记录级访问规则。

  1、创建招聘人员简档

 (1)进入简档窗口:设置 -> 简档

 (2)创建招聘人员简档:复制标准用户简档

 

   

  (3)自定义应用程序:编辑招聘人员简档

  将招聘管理系统选择为默认,其它全部为不可见。选择该选项意味着在用户登录时显示招聘管理系统。

 

 (4)选项卡设置

  将职位、应聘者、职位申请选择为默认打开。其它选择默认关闭。

 

 (5)自定义对象权限

  

 (6)大功告成:保存

 (7)修改测试用户的简档为招聘人员,然后用测试用户登录系统,查看效果。这时会发现职位,应聘者和职位申请没有了删除功能。

  2、创建其它简档

  按照权限规则,分别用同样的方法创建招聘经理简档,面试官简档,普通员工简档。

 

9.4 字段级安全

 

9.4.1 控制字段的访问

  精确的来管理单个对象字段的安全,可以帮助我们保护敏感字段(如应聘者的身份证号码)的安全,同时又无需隐藏应聘者对象存在的事实。在该平台中,通过字段级安全控制对单个字段的访问。字段级安全可以控制某个用户是否可以查看、 编辑和删除某个对象上特定字段的值。 与页面布局仅控制字段在详细信息页面和编辑页面上是否可见不同,字段级安全可以控制字段在应用程序中任何地方的可见性,包括相关列表、列表视图、报表和搜索结果。

  本系统的字段级安全设置包括:

  • 在职位对象上,对普通员工和面试官隐藏最低和最高工资值;
  • 在应聘者对象上,对招聘经理和面试官隐藏身份证号码。
  • 在职位申请对象上,使职位和应聘者查找字段对于招聘经理为只读。

1、创建普通员工的控制字段

(1)设置字段可访问性:设置 -> 安全性控制 ->字段可访问性

  进入字段可访问性窗口后,选择职位对象。

(2)选择字段和简档:按字段查看 -> 选择字段 -> 选择简档

(3)设置访问权限:点击可编辑进入设置窗口

(4)大功告成,用测试用户进入系统,查看效果。

9.5 记录级安全

  记录级安全性使您能够授予用户对一些对象记录的访问权限。

  在处理记录级访问设置时,首先要做的是为应用程序中的每个对象确定组织范围默认设置 (organization-wide defaults,通常称为org-wide defaults)。组织范围默认设置也叫共享模式,用于指定最受限制的用户应拥有的访问权限的基本级别。我们首先使用组织范围默认设置将数据锁定到最受限制的级别,然后使用其他记录级安全和共享工具(角色层次结构、共享规则和手动共享)对其他需要访问的用户开放数据(权限一步步放大)。

9.5.1 组织范围内的默认权限(OWDS)

  OWDS是组织级别确定记录对每个用户的基础权限(Salesforce的管理员会超出这个权限的设定)。每个Salesforce的对象都会有相应的OWD。Salesforce默认会对每个对象都设定为公共读写的权限。根据组织的安全和记录访问权限的需求,公司级别的默认权限可后续被更改。组织范围内的权限设置为“公共”不是很常见,只要有一个特殊的权限规则,你就需将权限设置为“私有”并使用其他工具来扩大权限。假如,在系统中的每个用户都有访问Salesforce所有记录的权限,你需要将共享权限设置为公共读写或公共只读。而有一个特殊的用户他不能在Salesforce看到所有的记录该如何操作呢?因为这一个用户或特例,你必须将权限设定为私有并利用其它共享规则去扩大其他用户的权限。

1、确定组织范围的默认设置

  要确定应用程序中所需的组织范围默认设置,需要为每个对象回答下列问题:

  (1)哪些用户是该对象最受限制的用户?
  (2)该对象中是否存在这些用户不允许查看的实例?
  (3)该对象中是否存在这些用户不允许编辑的实例?
  如下图所示,基于对上述问题的答案,可以确定该对象的共享模式。

 

  例:确定招聘系统各个对象的共享模式

  (1)回顾在创建对象级安全时确定的各对象的访问权限:

  

  (2)确定组织范围默认设置

  

1、设置组织范围的默认设置

 (1)进入共享设置窗口:设置 -> 安全性控制 -> 共享设置

 (2)进入共享设置编辑窗口:

  

  (3)设置共享设置

  

  (4)切换用户登录,你会发现,职位不能编辑了,应聘者和职位申请记录也查看不到了。

9.5.2 角色层级

  角色决定了用户可以访问什么数据。角色层次结构代表一位用户或一组用户所需的数据访问级别。指定到层次结构顶端的用户(通常是首席执行官、经理和其他管理人员)可以访问在层次结构中直接位于该用户下方的用户拥有的数据。无论组织范围默认设置如何,角色层次结构都可以确保管理人员总是可以访问其员工可以访问的数据。角色层次结构还有助于定义经常访问同类记录的用户组。

1、角色层级定义

   假如使用招聘管理系统的公司组织结构如下:

   

  我们将他们分成以下角色:

  

2、创建角色层级

(1)进入创建角色层次结构窗口:设置 -> 管理用户 -> 角色 -> 设置角色

  

(2)添加角色:按照上表角色层次结构创建角色

  

(3)向角色添加用户: 点击角色旁边的 分配 进入添加用户窗口

  

(4)大功告成。

  

9.5.3 共享规则

  共享规则可以为特定的一组用户制作组织范围默认设置的自动特例。共享规则是用来共享组织的数据。只有当定义对象是可以事先确定或预知的一组特定用户而不是经常变动的一组用户时,共享规则才最为有效。例如,在招聘应用程序中,我们需要在所有招聘人员之间共享所有职位、应聘者、职位申请和评论。因为在角色层次结构中,招聘人员都属于招聘人员角色,我们可以方便地使用共享规则在招聘人员角色之间共享这些对象。但招聘经理需要对他被指定为招聘经理的职位和职位申请记录拥有读取和更新权限,就不能使用共享规则来共享数据,因为很难预知哪些职位将被指定给哪位招聘经理。

1、定义共享规则

  回顾在创建对象级安全时确定的各对象的访问权限:

     

  根据用例定义如下规则:

 

2、创建共享规则

  (1)进入共享设置窗口:设置 -> 安全性控制 -> 共享设置

  (2)为职位对象创建共享规则

  

  (3)新建共享规则

  

  (4)按确定的共享规则完成创建

  

   (5)按确定的共享规则完成应聘者、职位申请对象的招聘人员角色的共享规则创建

  

3、创建公共组

  公共组是单个用户、其他组、单个角色和带有下属的角色。例如,在本系统中,除了招聘部门的用户,研发部门的用户都有可能成为面试官,会评论职位申请。在定义共享规则时使用公共组使得规则更容易创建,而且更重要的是使得规则在后续过程中更容易理解,尤其是在维护大型组织中的大量共享规则时,这一点更为重要。如果要定义的共享规则涉及不止一两组角色或任何单个角色,则需要创建公共组。

  在本系统中,我将创建两个公共组:

  • 面试官(Interviewers):将参与某次面试考核的普通员工加入该组,使其具有面试官所授予的权限。
  • 评估人(Reviewers):将具有评估权限的招聘人员、招聘经理、面试官加入该组。

  (1)进入创建公用小组窗口:设置 -> 管理用户 -> 公用小组 -> 新建

  (2)按向导完成创建操作:

  

  (3)共享设置

  因为评论对象属于主从关系表中的“从”,所以它将继承我们应用于职位申请对象的共享设置。

  

9.5.4 手动共享

  手动共享是所有权限设置中最灵活的,启动了此功能后,允许记录的所有者以及在记录所有者层级结构上的其他用户也可以手动的共享一个特定的记录给另一个用户或组。

  现在来讨论定义共享模式还要完成的工作。实现共享规则之后,还剩下如下所需权限尚未实现:

  

  我们没有使用共享规则实现这些所需权限,是因为很难确定需要访问特定记录组的用户范围。实际上,这就是招聘人员的工作职能。招聘人员拥有与他要招聘的职位相关的职位、应聘者和职位申请记录,而且他需要将招聘经理和面试官指定给这些记录。

1、为职位指定负责的招聘经理

(1)进入职位创建共享窗口:职位选项卡 -> 职位记录 -> 共享

(2)为该条记录分配用户和公用小组:如图

  

(3)为其它对象设置共享。

【总结】

1、使用系统不同的人可以了解的数据内容不同,保证数据的隐私,避免数据泄密。所以我们需要提供可靠安全性,设置安全规则或者安全策略,限制用户可以访问而且只能访问自己被授权的资源。数据保护也称为权限设置。

2、Salesforce的安全级别包括

(1)对象级安全级别:对象级访问允许我们将整个选项卡和对象对特定用户隐藏起来,使他们甚至不知道这种数据的存在。在平台上,可以使用用户简档上的对象权限来设置对象级访问规则。

(2)字段级安全级别:  与对象级访问类似的是字段级访问,它可以避免用户查看、编辑或删除某个对象上特定字段的值。在平台上,可以使用字段级安全设置字段级访问规则。

(3)记录级安全级别:  要更加精细地控制数据,可以允许特定用户查看某个对象,但同时限制允许他们查看的个别对象记录。在平台上,实际可以使用4种方法来设置记录级访问规则:

  • 组织范围默认设置:允许指定用户在组织中拥有的访问权限的基本级别。例如,可以将它设置为任何用户都可以查看在其简档中授权访问的特定对象的所有记录,但要编辑任何一条记录,都需要额外的授权。
  • 角色层次结构:可以确保经理总是可以访问其下属可以访问的所有记录。
  • 共享规则:可以为特定的一组用户制作组织范围默认设置的自动特例。
  • 手动共享:允许记录所有者可以为不能以其他方式访问该记录的用户授予读取和编辑权限。

【练习】

1、为学生成绩管理系统设置访问权限

(1)学生只能查看自己所修的课程成绩;

(2)学生只能查看老师对自己的评价;

(3)老师可以为自己所担任的课程输入成绩和评语;

(4)班主任可以查看所有学生修的课程和成绩评语;

(5)教务员可以查看,更新所有学生修的课程成绩和评语;

(6)角色层次结构如下:

猜你喜欢

转载自www.cnblogs.com/drink186/p/11231851.html
今日推荐