Google Workspace 整域迁进 MailPlus 前置课:服务密钥官方生成全流程

痛点场景

公司决定把邮箱从 Google Workspace 搬进自建的 MailPlus。按人头逐个收集员工密码再迁移?安全上不可接受,手续上也走不通。官方路线是用服务密钥做整域授权:MailPlus Server 使用 Google OAuth 2.0 验证,让您无需收集每个用户的密码便可迁移电子邮件、联系人和日历。

生成这把钥匙分两段:先在 Google 管理控制台打开 Drive SDK API,再到 Google API Console 创建服务密钥并登记域委派授权。

第一段:配置 Drive SDK API

  • 使用要迁移的域的凭据登录 Google 管理控制台;
  • 前往应用 > Google Workspace
  • 单击云端硬盘和文档
  • 单击功能和应用程序
  • 在 Drive SDK 区域勾选「允许用户使用 Drive SDK API 访问 Google 云端硬盘」,单击保存

第二段:创建服务密钥

  1. 以域超级管理员身份登录 Google API Console;
  2. 单击选择项目,点击弹出窗口右上角的新建项目
  3. 输入项目名称,单击创建
  4. 从右上角的通知打开新项目;
  5. 单击导航菜单前往 API 和服务 > 库,搜索并逐一启用以下六个 API:Admin SDK API、Google People API、Gmail API、Google Calendar API、Google Drive API、Tasks API;
  6. 单击导航菜单前往 IAM 和管理 > 服务帐号,单击 + 创建服务帐号
  7. 输入服务帐户名称,单击创建并继续
  8. 选择 Project > 所有者 作为角色,单击继续,省略可选字段,单击完成
  9. 在跳转出的服务帐号列表里找到新帐号,单击操作下的菜单,选择管理密钥
  10. 单击添加密钥 > 创建新密钥,在弹出窗口选择 JSON 作为密钥类型,单击创建——密钥自动保存到计算机,单击关闭;
  11. 前往详细信息,把该服务帐号的专属 ID 复制到记事本备用;
  12. 使用要迁移的域的凭据登录 Google 管理控制台,前往安全性 > 访问权限和数据控制 > API 控制
  13. 单击页面底部的域委派管理入口(Manage Domain Wide Delegation),单击新增
  14. 在弹出窗口输入两项信息后单击授权——客户端 ID:粘贴步骤 11 复制的专属 ID;OAuth 范围:按官方清单复制粘贴以下九项:
https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.domain.readonly, https://www.googleapis.com/auth/drive, https://mail.google.com, https://www.googleapis.com/auth/calendar, https://www.googleapis.com/auth/contacts, https://www.googleapis.com/auth/contacts.other.readonly, https://sites.google.com/feeds, https://www.googleapis.com/auth/tasks

完成后,就可以使用本地存储的 JSON 密钥执行迁移。

迁移用户列表的两个口径

  • 来源帐户应使用完全限定域地址(FQDA);
  • 得益于 OAuth 2.0 授权,创建用户列表时可以省略来源帐户的密码。

官方注意事项

  • 建议创建一个专门用于迁移的项目,以确保隐私安全;
  • 此密钥可用于授权访问域中的所有用户数据,请创建副本并将其存储在安全位置;
  • 服务帐号的专属 ID 用于把域范围的授权委派给这个服务帐号。

这把钥匙开的是整个域的门。诚鑫致达科技经手此类迁移时,项目专建、密钥用完即收进加密存储,不留在任何日常工作帐号里——授权给到什么范围,归还时就退回什么范围。