Salesforce MFA调研 + 测试成果分享

前言】:相信很多小伙伴收到了Salesforce MFA增强政策的邮件通知,这里将结合当前的SF系统背景 + 实测结果 + 与Support咨询后的反馈分享一下调研结果

系统背景】:
#1. 当前系统主要使用Sales Cloud,License以Standard为主
#2. 实施了SSO的集成并启用了IdP的MFA
#3. Pipeline用到了UI-Test, 用到了MFA FAQ提到的测试框架
#4. 通过Connected App暴露SFDC服务
#5. 业务人员会使用Data Loader进行数据操作

MFA调研结果】:
Q1. MFA强制执行的Scope是什么?
A1. 对于Sales Cloud而言,Prod将在2022-02-01强制启用MFA;对于Sandbox而言,暂时是Optional的,但是如果在timeline后刷新Sandbox,MFA将会被强制启用
Q2. 合同上究竟强制启用哪类MFA限制?
A2. 我们在Permission Set中会发现有两种类型的MFA Permissions:UI Login,API Login,从文档来看强制启用的是UI Login
Q3. UI Login启用后会否影响到#2?
A3. 如果IdP提供了MFA,不会影响现有用户
Q4. UI测试会否受影响?(以Cucumber为例)
A4. 如果UI测试pipeline仅仅用于Sandbox环境(非Prod环境),在timeline后不刷新Sandbox前提下,由于MFA Permissions在Sandbox上可配置,因此可以绕过MFA;如果UI测试需要在Prod上进行或者Sandbox因为刷新被强制应用了MFA,这个时候需要临时存储key(如:存储在S3),另外为了防止测试用户的TOTP被Disconnect,同时需考虑动态获取key,即每次UI测试完后在User Detail Page点击disconnect,下次就能生成新key用于产成passcode。
在这里插入图片描述
因此,本文观点对上图给的答案是中立的,并非完全肯定,Support给的答复中也能印证:
在这里插入图片描述
Q5. 关于#5,Data Loader有何影响?
A5. Data Loader提供两种授权方式,第一种OAuth需要MFA验证,第二种将不受影响
Q6. 如果启用了MFA for API Login,集成用户将如何登入?
A6. 以jsforce为例子,以前我们需要在password后拼security token,这时需要拼passcode,因为security token将不可用。

var jsforce = require('jsforce');
var login_cfg = require('./credentials.json');

const env = login_cfg['sixdeep'];
const domain = env['domain'];
const username = env['un'];
// const password = env['pwd']+env['token'];
const password = env['pwd'] + '129796';

var conn = new jsforce.Connection({
    loginUrl: 'https://'+domain+'.salesforce.com'
});

conn.login(username, password, function(err, res) {
  if (err) { return console.error(err); }
  conn.query('SELECT Id, Name FROM Account limit 5', function(err, res) {
    if (err) { return console.error(err); }
    console.log(res['totalSize']);
    // console.log(res['records']);
  });
});

测试截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值