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的分页工具
配置拦截器插件 特别注意,新版拦截器是 com.github.pagehelper.PageInterceptor. com.github.pagehelper.PageHelper 现在是一个特殊的 ...
- Struts2之国际化
时间:2017-1-11 11:12 --国际化Struts2已经对国际化进行了封装,我们只需要根据其提供的API进行访问即可.要使用国际化的Action必须继承ActionSupport.1.什么是 ...
- 刷题-力扣-1738. 找出第 K 大的异或坐标值
1738. 找出第 K 大的异或坐标值 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-kth-largest-xor-co ...
- 优先队列PriorityQueue&Lambda&Comparator
今天翻阅<Labuladuo的算法小抄>时发现在使用优先队列的PriorityQueue解决一道hard题时(leetCode 23),出现了如下代码: ListNode mergeKLi ...
- MySQL-SQL基础1
p.p1 { margin: 0; font: 11px Menlo; background-color: rgba(128, 128, 128, 0.5); min-height: 13px } p ...
- 基于Linux系统的MariaDB数据库的安装配置
数据库是指长期存储在计算机内.有组织的和可共享的数据集合.表是数据库存储数据的基本单位,一个表由若干个字段组成 MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 G ...
- Redis++:Redis 内存爆满 之 淘汰策略
前言: 我们的redis使用的是内存空间来存储数据的,但是内存空间毕竟有限,随着我们存储数据的不断增长,当超过了我们的内存大小时,即在redis中设置的缓存大小(maxmeory 4GB),redis ...
- python实现分水岭算法分割遥感图像
1. 定义 分水岭算法(watershed algorithm)可以将图像中的边缘转化为"山脉",将均匀区域转化为"山谷",在这方面有助于分割目标. 分水岭算法 ...
- KMP算法中的几个疑问
KMP算法next数组求解实现 首先我们通过应用场景将KMP算法中用到的名词做一个说明: 在一个字符串(string1)中查询是否存在另一个字符串(string2). 在字符串匹配算法中,我们通常将字 ...
- WinForm控件常用设置(转)
本来想自己整理一份,但找到了一份挺全的,就直接用到直接找吧 A0 ---- 通用A1 ---- Form 类A2 ---- Control 类A3 ---- MessageBox 类A4 ---- B ...