Salesforce Admin篇(三) Delegated Administrator
项目中,我们可能会遇见以下的场景。
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的更多相关文章
- 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 ...
- Salesforce Admin篇(一)Duplicate Management
参考资料:https://help.salesforce.com/articleView?id=managing_duplicates_overview.htm Salesforce 很重要的一个平台 ...
- Salesforce Admin篇(二) Report
针对salesforce系统也好,针对其他的平台系统也好,对于business user的需求以及疑问,数据往往决定了答案.业务人员提出了某些疑问,管理员需要根据需求的分析转换成数据的分析及过滤从而反 ...
- Salesforce 集成篇零基础学习(一)Connected App
本篇参考: https://zhuanlan.zhihu.com/p/89020647 https://trailhead.salesforce.com/content/learn/modules/c ...
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- Salesforce LWC学习(三十九) lwc下quick action的recordId的问题和解决方案
本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:hasRecordId/documentation ...
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理
篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...
- 【SSRS】入门篇(三) -- 为报表定义数据集
原文:[SSRS]入门篇(三) -- 为报表定义数据集 通过前两篇文件 [SSRS]入门篇(一) -- 创建SSRS项目 和 [SSRS]入门篇(二) -- 建立数据源 后, 我们建立了一个SSRS项 ...
- Salesforce学习之路-admin篇(三)role hierarchy & sharing
1. Role Hierarchy 在私有或者混合模型中,如果在organization-wide defaults设置某个对象为Private,那么对象的记录只有拥有者可以查看.但是,role hi ...
随机推荐
- 一条命令,秒秒钟完成MD5、SHA1校验,这就叫效率!
相信很多奋斗在运维战线的小伙伴们经常会遇到版本升级之类的问题.笔者之前所在的公司每次进行版本发布的时候都会附带MD5校验哈希值,每次升级之前一般都要核对MD5哈希值的,刚刚开始的时候对Linux并不是 ...
- XP系統IIS最大連接數修改
方法一: 安裝軟件 http://download.microsoft.com/download/iis50/Utility/5.0/NT45/EN-US/MtaEdt22.exe 然後進入 W3S ...
- 快速删除mysql表中的数据
一.清空全部数据,不写日志,不可恢复,速度很快 truncate table 表名; 二.清空全部数据,写日志,可恢复,速度很慢 delete from 表名;
- ES6 新增声明变量的 var let const 的区别详解
var 如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域. let 1.let 声明的变量具有块作用域的特征 ...
- .NET开发框架(二)-框架功能简述
若视频播放不了,请点击 这里查看 本框架为响应式SPA框架,支持PC与手机端的屏幕自适应.手机展示效果视频在文章末尾查看. 框架入口地址:http://letyouknow.net/ 1.框架登录界面 ...
- 《菜鸟也要学会C》-和大家聊一聊
简介 为什么要出本系列作品? 怎么学好C? 学完这套课程后,我的编程会怎么样? 1.1为什么要出本系列作品? 随着大部分人喜欢编程,大部分人都有一个毛病,就是想要急切的学完编程.其实这种思想是错误的, ...
- Java进阶——高性能MySQL(一)
MySQL逻辑架构: 链接管理与安全性: MySQL5.5或更高版本版本提供了一个API,支持线程池(Thread-Pooling)插件,可以使用池中的少量线程来服务大量的连接. 优化与并行: MyS ...
- c#基础三
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Python入门(一) 异常处理
异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 以下是语法: try: <语句> # ...
- HDU 1584:蜘蛛牌(DFS)
http://acm.hdu.edu.cn/showproblem.php?pid=1584 题意:要让小的牌放到大的牌上面最少移动的距离. 思路:看成让大的牌放在小的牌上面了...用一个标记数组vi ...