通过API作为Google Apps超级管理员关闭用户的两步验证

时间:2015-08-04 11:55:42

标签: authentication google-apps-script google-api google-apps

作为我们"离职的一部分"员工离开公司的流程,作为超级管理员,我们使用Google Apps管理员SDK目录API更改用户的密码,以便他们无法再访问自己的帐户。然后我们登录进行Google导出,重置其他帐户的密码等。

但是,我们最近决定对所有用户实施两步验证。所以现在当我们登录他们的帐户时,它会向他们的手机发送一个代码。

由于SubOrg强制执行2步,因此我们甚至无法通过管理控制台将其关闭。所以我现在所能做的就是让API将用户移动到另一个SubOrg,其中关闭两步强制设置,然后手动关闭两步。

有没有办法以编程方式关闭帐户的两步验证?

我查看了Google Apps Admin SDK Directory API Users:update文档,但它似乎与2步有任何关系。

Reports API可以找出用户的注册状态,但出于报告目的,它是只读的。

2 个答案:

答案 0 :(得分:1)

您正在做的是删除两步验证的正确方法。正如您所提到的,如果它是在组织单元下强制执行的,那么删除它将违反该规则,这就是为什么除非将用户移动到未强制执行此操作的另一个OU,否则无法执行此操作。

我无法通过编程方式找到某种方法。但是,您可以暂停用户。之后,用户无法访问该帐户。该帐户仍会显示在您的管理控制台中,并且在您最终删除该帐户之前,其他Google服务中的所有信息都将保留在该帐户中。

当用户被暂停时,作为管理员,您可以将服务帐户用于impersonate该用户。通过这样做,您可以充当该用户并编辑权限或将云端硬盘中包含的文件的所有权转移到其他帐户,以便这些文件不会丢失。

我希望这会有所帮助。

答案 1 :(得分:1)

最简单的方法是创建一个免除2FA的组(请参阅此处:https://support.google.com/a/answer/2370108)。然后将用户添加到该组,然后您可以在管理控制台的用户页面上单击“禁用2FA”。我假设你可以通过API做同样的事情。

唯一的缺点是,这意味着您将拥有一个群组,通过该群组可以免除用户的2FA强制执行选项。因此,这是您必须接受的风险以及您必须仔细检查的政策。