项目中,我们可能会遇见以下的场景。

1. HR 经理针对申请者和工作相关的表的app会经常需要修改布局查看需要的页面的字段;

2. 开发者将record type对应的picklist values等进行调整,或者是针对新建的表需要维护一个新的tab,需要让管理员去进行上线后的manual action;

3. 某次上线需要创建一个普通的user并且assign给指定的permission set去进行数据的维护等操作。

生产的管理员每天有特别多的事情需要处理,特别是针对上线的节点,如果针对权限管理比较严的公司可能只有管理员有system administrator权限,其他的开发只能将上线的component list整理成change set打包上生产,然后将需要做的上线后的手动处理弄在文档中由管理员进行处理。针对管理员是国内的还好,如果针对global的项目管理员在国外涉及到时差或者节假日,万一开发人员没有将manual action整理完全后续操作很不方便。而且针对某个人或者某几个人要求管理员频繁更改pagelayout,沟通成本以及执行起来总是会不方便影响效率。如何解决上述类似的问题呢,Salesforce提供了Delegated Administrator功能去帮助管理员减轻负担以及帮助业务/技术人员更好的操作。

一. Delegated Administrator

1 适用场景和限制

上述只是引出了Delegated Administrator适用的一小部分场景,其实Delegated Administrator作用远远比这个强大,可以用于以下:

  • 针对某些指定的角色或者这些角色的下属角色去创建或者编辑用户信息,针对这些用户,可以进行:重置密码,设置quota,创建默认的Opportunity team,创建personal group;
  • 针对锁住的账号进行解锁;
  • 给用户分配指定的Profile;
  • 在对Delegated Administrator授权的Permission Set的group中允许添加或者移除用户;
  • 在对Delegated Administrator授权的Public Group允许管理group member;
  • 对管理员授权过可以login as的User,Delegated Administrator同样也可以对这些user进行login as操作;
  • 管理自定义对象,并且可以定制化自定义对象的功能,比如更改page layout,更改 字段的picklist values,对对象创建tab等;
  • 当同一个user在不同的Delegated Adminstrator Group中, 这个user可以将不同的Group中的权限分配给其他的Delegated Adminstrator Group的Delegated Administrator。

通过上述功能可以看出Delegated Administrator功能还是挺强大的,但是毕竟Delegated Administrator不是真的system adminstrator,还是有很多限制条件的:

  • 想要成为一个 Delegated Adminstartor 必须要拥有 ‘View Setup and Configuration’ 的权限;
  • 不是所有的Profile都可以进行分配,当Profile或者Permission Set中包含了‘Modify All Data’权限时, Delegated Administrator无法对他们进行选择;
  • 不能修改Permission Set的配置项,只是可以选择他作为user的可分配的permission set选项;
  • 需要拥有自定义对象的访问权限才能对这些对象公式中的merge field进行访问,针对标准对象没有管理的权限。

2. 操作

我们进入Set Up后搜索delegated admin便可以新建一个Group去管理Delegated Group。我们在salesforce中经常会用到public groups,那public groups和Delegated Group 是否会有什么关系或者有什么联系?答案是没有关系的。Delegated Administrator维护的user用来授予这些用户相同的管理权限主要用来进行授权admin管理,public group通常用于进行sharing操作的,无论是sharing rule还是 manual share record。public groups可以添加user/ role /group等作为group内的成员,delegated admin只能添加user。

1) 创建 Delegated Group:我们这里创建一个Group 名字是 Test Delegation Group.

2)创建好以后我们可以看到有几个section,针对section区域做不同的配置项。

  • Delegated Administrators: 维护的user用于成为此Delegated Group的Delegated Admin;
  • User Administration: 这里用来选择Role,上文也提到了Delegation Admin可以创建User,那针对User的Role的选择取决于我们在这里选择的Role,这里选择的Role以及下属的Role可以用来作为选择项(需要注意的是,Delegation Admin只能选择Role作为创建的User的Role,不能修改系统中的Role的内容);
  • Assignable Profiles:当我们创建User的时候,Profile是必填项。Delegation Admin选择的Profile取决于我们在这里配置的Profile,其他的Profile是没法看到和选择的(这里需要注意的是,如果Profile拥有了 Modify All Permission,则无法将此Profile放在这里,这里也只是选择已有的Profile,无法新建和编辑已有的Profile);
  • Assignable Permission Sets:设置可以assign给user的 permission set,同上面的Profile配置项相同,Delegated Admin只能操作哪些Permission Set可以给user assign,但是没法修改Permission Set的内容;
  • Assignable Public Groups:设置可以assign给user的public group;
  • Custom Object Administration:设置Delegated Admin针对自定义表的配置权限,除了针对Profile中对自定义表的Permission无法修改以外,其他大部分针对自定义表的权限,此功能均可以配置修改(需要注意的是,这里只能选择自定义的表,标准的object是没有权限进行 Delegated的)。

通过以上的section我们便可以配置完一个Delegated Group以及assign指定的user作为此group的Delegated Admin了。

3. 验证

1)上图中我们将2FA User(Standard Platform User)设置成为Delegated Admin,当我们login as他的账户创建User,我们可以看到它可以创建的账号的Role进行了限制

2) 当我们找到object时,发现我们针对自定义的object只有Goods有编辑权限,其他的均为只读。

二. Set Up Audit Trail

我们可能针对不同的功能设置了不同的Delegated Group以及在Group中设置了不同的Delegated Admin,如果有Delegated Admin针对需求的配置错误或者System Administrator想要监控Delegated Admin的操作,这个时候我们可以通过 Set Up Audit Trail进行查看。点击Set Up,输入 View Setup Audit Trail即可看到针对最新setup的改动的监听数据。当然不是所有的setup change都会被记录,salesforce的audit trail支持详情可以参看:https://help.salesforce.com/articleView?err=1&id=admin_monitorsetup.htm&type=5

 总结: 针对某些场景,使用 Delegated Admin可以更好的节约System Administrator时间,也可以更高效的完成某些工作。篇中有错误地方欢迎指出,有不懂的欢迎留言。

Salesforce Admin篇(三) Delegated Administrator的更多相关文章

  1. Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On

    本篇参考: https://c1.sfdcstatic.com/content/dam/web/en_us/www/documents/white-papers/2fa-admin-rollout-g ...

  2. Salesforce Admin篇(一)Duplicate Management

    参考资料:https://help.salesforce.com/articleView?id=managing_duplicates_overview.htm Salesforce 很重要的一个平台 ...

  3. Salesforce Admin篇(二) Report

    针对salesforce系统也好,针对其他的平台系统也好,对于business user的需求以及疑问,数据往往决定了答案.业务人员提出了某些疑问,管理员需要根据需求的分析转换成数据的分析及过滤从而反 ...

  4. Salesforce 集成篇零基础学习(一)Connected App

    本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...

  5. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  6. Salesforce LWC学习(三十九) lwc下quick action的recordId的问题和解决方案

    本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:hasRecordId/documentation ...

  7. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  8. 【SSRS】入门篇(三) -- 为报表定义数据集

    原文:[SSRS]入门篇(三) -- 为报表定义数据集 通过前两篇文件 [SSRS]入门篇(一) -- 创建SSRS项目 和 [SSRS]入门篇(二) -- 建立数据源 后, 我们建立了一个SSRS项 ...

  9. Salesforce学习之路-admin篇(三)role hierarchy & sharing

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

随机推荐

  1. 获得QQ聊天输入框中的内容

    // 首先得到输入框的句柄.通过spy++这类工具分析,聊天窗体的类名为“#32770”// 但当前系统里不只一个类名为“#32770”的窗体,这就需要全体遍历一次.// 类名为“#32770”标题含 ...

  2. 30+ 强大的Buddypress主题–开始您的社区站点吧

    BuddyPress起源于2008年,当时设计者设想添加社交网络功能到WordPress多用户版本中.第一个正式稳定版本的发布是在2009年的5月.自从那时起.BuddyPress开始快速的成长和演变 ...

  3. asp.net mvc中使用jquery H5省市县三级地区选择控件

    地区选择是项目开发中常用的操作,本文讲的控件是在手机端使用的选择控件,不仅可以用于实现地区选择,只要是3个级别的选择都可以实现,比如专业选择.行业选择.职位选择等.效果如下图所示: 附:本实例asp. ...

  4. 初次比较正式的IT职场面试后几点对自己web开发的思考

    昨天晚上参加一个web开发面试,对于还没有真正毕业的自己来说,web开发的面试不是第一次,暑假就面试几家公司,前几次的面试并没有发现自己对自己学习的专业知识有什么学习态度的问题,因为前几次的面试官都是 ...

  5. java集合的方法及使用详解

    一.java集合的分类及相互之间的关系 Collection接口:向下提供了List和Set两个子接口 |------List接口:存储有序的,存储元素可以重复 |------ArrayList(主要 ...

  6. vue的checkbox或多选的select的代码例子

    另外一种实现checkbox的vue绑定方法代码: 给v-model绑定一个相同的数组类型的属性: <div id="app"> <label>jack&l ...

  7. 前后端分离时代,Java 程序员的变与不变!

    事情的起因是这样的,有个星球的小伙伴向邀请松哥在知乎上回答一个问题,原题是: 前后端分离的时代,Java后台程序员的技术建议? 松哥认真看了下这个问题,感觉对于初次接触前后端分离的小伙伴来说,可能都会 ...

  8. springboot 集成完整的swagger2

    springboot 在集成swagger中会不会遇到各种问题: 1.swagger  进行接口鉴权(比如设置header的token,接口进行拦截处理). 2.swagger 进行实体属性解析(po ...

  9. Python自学day-2

    一.模块     模块分两种:标准库和第三方库,标准库是不需要安装就可以使用的库.     import [模块名]:导入一个库,优先是在项目路径中寻找.自定义模块名不要和标准库模块名相同.   sy ...

  10. 正则RegExp对象的用法

    RegExp实例方法: 1.Test() RegExpObject.test(string) 判断string中是否有与表达式匹配的字符串,有则返回true,否则返回false 例如 var patt ...