salesforce零基础学习(一百零八)MFA
本篇参考:https://security.salesforce.com/mfa
https://sfdc.co/bvtuQT (MFA官方研讨会的文档)
https://sfdc.co/iwiQK(MFA中华区研讨会视频)
Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On
我们之前介绍过关于登录安全的 2fa,今天主要讲的是MFA。 MFA 官方的介绍是到2022年2月1日起,salesforce登录环境要强制要求启用MFA。换言之,MFA没搞定,不允许登录salesforce了。那么所有license,所有场景都需要强制吗,是否收费,如何实施是大部分人的疑问,主要针对这几点进行描述。
一. 什么场景使用 MFA
说MFA 强制使用也不是一个特别绝对的说法,也不必过度紧张。MFA强制使用也是有一个 scope范围的。我们基于用户的类型以及用户登录的媒介进行两个表格的梳理。
我们针对salesforce的用户的类型,可以简单的归纳成3类: 内部用户,外部用户,chatter用户。
内部用户: 比如admin / standard user等内部用户,可以访问 salesforce UI的用户。license通常是 salesforce / platform user / standard user等。
外部用户:代表只能访问 community cloud用户或者site等的外部用户。license通常有Customer Community,Partner Community,External Identity User。
Chatter用户:通常 license/ profile是Chatter External, Chatter Free和Chatter Only用户
用户类型 |
是否需要实施MFA |
内部用户 |
是 |
外部用户 |
否 |
Chatter |
否 |
如果只是针对用户类型考虑,并不绝对,也不客观。举个例子: 有些项目情况比较特殊,Salesforce可能只是当成了一个云服务器,真正的UI操作都是在外部系统。外部系统可能通过 rest api / tooling api等访问 metadata以及访问数据,那这种情况即使用户是内部用户,即使是system admin的Profile,不访问SF的UI还需要强制MFA吗?结果是不需要的。所以我们还需要考虑登录类型或者授权方法的维度。
登录类型 / 授权方法 |
是否需要实施MFA |
介绍/注意事项 |
直接登录到 Salesforce的UI |
是 |
适用于Salesforce所有的界面,包括手机app以及客户app(比如Dataloader)。针对Dataloader有一个注意点:Dataloader有两种登录方式,Oauth是需要MFA的, Password方式走API Login是不需要的 |
自动化测试和 RPA 帐户登录到 UI |
否 |
自动化测试账号,MFA是不需要强制实施的 |
API / Integration 登录 |
否 |
|
设备激活/身份验证 |
是 |
当用户登录在一个未识别的设备或者浏览器时,或者IP在 trust IP以外的场景,验证时需要走MFA |
代理身份认证 |
是 |
详见:https://help.salesforce.com/s/articleView?id=sf.sso_delauthentication.htm&type=5 |
单点登录 |
是 |
|
Risk-Based/Continuous Authentication |
具体情况具体分析 |
根据官方的介绍文档,具体情况具体分析。 |
Trusted Corporate Devices / Device Certificates |
同上 |
同上 |
Trusted Networks |
同上 |
同上 |
User Certificates |
同上 |
同上 |
上面的一些登录方式或者授权方式项目中没使用过,为了防止翻译错误或者解释错误,建议自行查看文档。所以我们根据文档中的介绍,可以看出来,大部分的项目需要强制MFA的场景是内部用户,并且需要访问 salesforce UI的场景,如果只是用于API集成,则大可不必。
二. MFA支持的实现方式以及实现步骤
MFA的实施根据官方建议可以采用大概三种方式:
- Salesforce Authenticator:此种方式的实现步骤和2FA极其相似,而且是免费的。所以此种MFA方式是性价比最高的,而且Salesforce Authenticator如果出现了问题,可以随时给salesforce提紧急case帮助解决。
- 第三方身份验证器:官方也例举了一些,这些需要考虑一下费用,以及你的公司的使用用户所在地等等。如果针对国内客户,需要考虑认证方式是否可以访问以及是否稳定。
- 密钥方式
针对文本验证,邮件等方式验证,不计入MFA范畴,所以即使你现在的项目使用了这些种验证方式,根据salesforce的安全性考虑,还要在MFA强制启用之前,选择前面的3种方式之一实行。
本篇介绍的是通过 Salesforce Authenticator。Google app访问不了的小伙伴,后续项目实施记得下载apk以后,提供给用户一个 publick link去下载。
启用MFA其实特别简单。创建一个 permission set,然后 在 system permission勾选这两个permission即可。
创建完成以后,将需要启用MFA的user添加到这个permission set即可。我们以自己的管理员账号登录到salesforce,账号密码输入完成以后,需要进行Salesforce Authenticator的关联和校验。
这里因为手机软件对当前页面保护措施要求严格,没法截图,所以不添加手机端的截图。这里有一个很尴尬的点,就是我第一次对手机端授权关联以后,报错了。。。
按照提示,将web端 log out,并且将手机端 authenticator账号解绑并且重新操作以后,顺利搞定。(Notes:这里实施团队强烈建议客户做一个FAQ进行说明)
接下来就是我们想知道系统用户中都有哪些人已经做了MFA的账号绑定,我们只需要在 user视图中将MFA相关的字段拖出,可以很方便的查看到,如下图所示。
除了看谁已经绑定了MFA以外,我们还可以在 setup 访问 Identity Verification History查看用户认证登录的信息。
当然,上述只是最简单的介绍了一下 MFA的简单的配置以及一些小特性。除此之外,小伙伴们如果想更加细致的了解MFA的内容,目前salesforce的org已经在setup处增加了MFA 的小助手,大家可以 step by step进行学习了解。
当然,如果时间紧急,并且没有resource去进行MFA的配置,也可以联系salesforce原厂的实施团队,他们针对这个也可以进行有偿实施,详情可以查看视频内容。
总结:篇中只是简单的介绍了MFA的一种简单的实现方式。MFA和2FA的区别,按照官方的说法就是2FA是MFA的一部分,配置上可能也就省了session setting中的2fa的设置,整体MFA实施难度还好,无非就是针对app的安装,针对用户的training需要更好的进行推广。篇中有错误欢迎指出,有不懂欢迎留言。
附: authenticator的app已经放在百度网盘。链接: https://pan.baidu.com/s/16v52M6cLEBAGi29Xugm8rg 提取码: 2eee 复制这段内容后打开百度网盘手机App,操作更方便哦
salesforce零基础学习(一百零八)MFA的更多相关文章
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- salesforce 零基础学习(六十八)http callout test class写法
此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...
- salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现
项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...
- salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见
项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...
- salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值
注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...
- 【转】【Salesforce】salesforce 零基础学习(十七)Trigger用法
看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...
- salesforce零基础学习(九十六)Platform Event浅谈
本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trai ...
- salesforce零基础学习(一百零五)Change Data Capture
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...
- salesforce零基础学习(一百一十)list button实现的一些有趣事情
本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/docu ...
随机推荐
- mybatis学习日志二
一.动态sql语句 if语句 if+where语句 if+set语句 choose(when,otherwise)语句 trim语句 sql片段 foreach语句 总结 bean部分的User类代码 ...
- 辗转相除 求最大公约数!or 最小公倍数
求最大公约数和最小公倍数的经典算法--辗转相除法描述如下: 若要求a,b两数的最大公约数和最小公倍数,令a为a.b中较大数,b为较小数,算法进一步流程: while(b不为0) { temp=a%b: ...
- tensorflow实现Word2vec
# coding: utf-8 ''' Note: Step 3 is missing. That's why I left it. ''' from __future__ import absolu ...
- linnux安装多台redis
安装: 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar xzvf redis-4.0.8. ...
- JavaWeb学习总结—Session
转载自:https://www.cnblogs.com/xdp-gacl/p/3855702.html 一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(sess ...
- 多线程编程<二>
wait()与notify(): 1 public class ThreadComDemo { 2 public static void main(String[] args) { 3 try { 4 ...
- MySQL双主多从+Keepalived配置
原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 基础环境 二 实际部署 2.1 MySQL双主+Keepalived高可用 2 ...
- 详细分析MySQL事务日志(undo log)
2.undo log 2.1 基本概念 undo log有两个作用:提供回滚和多个行版本控制(MVCC). 在数据修改的时候,不仅记录了redo,还记录了相对应的undo,如果因为某些原因导致事务失败 ...
- TCP/IP以及Socket聊天室带类库源码分享
TCP/IP以及Socket聊天室带类库源码分享 最近遇到个设备,需要去和客户的软件做一个网络通信交互,一般的我们的上位机都是作为客户端来和设备通信的,这次要作为服务端来监听客户端,在这个背景下,我查 ...
- Django实现基本的页面分页
1.视图views.py from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage def index(requ ...