将用户账户与Google Workspace同步
更新时间:2025-12-03 16:56:28
除了按照章节“用户管理”中所述的手动添加用户外User Management,MailStore Server 还可以将其内部用户数据库与组织的 Google Workspace 账户同步。
在同步过程中,用户信息(如用户名和电子邮件地址)会从 Google Workspace 账户复制到 MailStore Server 的用户数据库中。这样,用户可以使用其Google Workspace凭据登录MailStore服务器,例如,也可以自动将电子邮件分配给相应的用户存档。MailStore Server 对 Google Workspace 账户本身没有进行任何更改。通过筛选器可以限制同步的范围。
先决条件、建议、限制
- 为满足谷歌对OAuth 2.0客户端授权重定向URI的要求,MailStore Server 必须通过以公共顶级域名结尾的 URI 进行访问。这并不一定意味着它确实必须能够从互联网获取。谷歌使用来自 https://publicsuffix.org 的列表进行验证。
- 为了获得最佳用户体验,MailStore Server 所使用的证书应受到所有客户端和使用过的网页浏览器的信任。强烈建议使用由可信证书颁发机构签名的证书或使用Let's Encrypt证书。
- 如果用户应从组织网络外部登录MailStore服务器,无需VPN,MailStore Client使用MailStore客户端、MailStore Outlook插件或Web Access,则本文中提到的URI必须通过互联网DNS进行解析,并且必须在防火墙或路由器上设置邮件存储服务器计算机的端口转发。
- 使用谷歌在登录时验证用户身份时,由于技术原因,无法通过IMAP访问该存档。
在谷歌注册项目
无论所有或第三方应用程序(如 MailStore Server)是否应通过 Google API 与 Google Workspace 账户进行交互,它们必须先注册为 Google 项目。这对于确保外部应用程序的访问限制在必要的最低限度,并确保每个应用程序使用其自身的凭据来与谷歌进行身份验证。
创建新项目
要在 Google 上注册 MailStore Server 项目,请按照以下步骤进行:
- 前往谷歌云平台控制台。
- 如果提示,请使用 Google Workspace 组织的 Google 账户登录。强烈建议使用具有管理员权限的用户登录。
- 如果没有项目,请在仪表板上单击“创建项目”。否则,点击标头栏中的项目下拉菜单,然后点击“新建项目”即可打开项目列表。
- 在项目名称字段中输入一个有意义的名称,例如MailStore 服务器。
- 确认组织是否匹配所需的组织,并在需要时调整位置。
- 点击创建。
项目创建完成后,请确保将其选入项目下拉列表中,然后继续操作。
添加API库
- 打开导航菜单(☰),然后选择API与服务 > Library库。
- 在 API 库搜索并启用以下API和服务:
- 管理SDK API
- Gmail API
自定义同意屏幕
- 打开导航菜单(☰),然后选择API与服务 > OAuth 同意界面。
- 在“用户类型”下选择“内部”。
- 单击创建。
- 在应用名称字段中输入一个有意义的名称,例如MailStore 服务器。
- 根据您组织的政策填写其他字段。
- 单击“保存”并继续。
- 在下一步中,直接单击“保存”并重新继续,因为 MailStore Server 无需用户授权任何作用域。
创建服务账户
MailStore Server 需要注册一个服务账户,以便向谷歌进行身份验证,并请求授权使用某些 Google API 来同步用户和访问邮箱。请按照以下步骤创建此类服务账户。
- 打开导航菜单(☰),然后选择API与服务 >凭据。
- 单击“+创建凭据”,然后从下拉列表中选择服务账户。
- 在“创建服务”账户页面上,输入服务账户的名称,例如MailStore 服务器服务。
- 您可以在默认设置下离开服务账户ID,或进行自定义。
- 请输入以下描述:MailStore Server 用于同步用户和访问邮箱的服务账户。
- 单击创建并继续。
- 服务账户在项目级别上不需要权限,因此不会选择某个角色。此外,用户无需访问服务账户,因此许可用户访问此服务账户步骤时无需进行任何更改。
- Done单击完成。
- 在现已显示的服务账户列表中,点击新创建的服务账户以打开其属性。
- 在“按键”下点击“添加密钥”并选择“创建新键”。
- 选择 JSON 作为密钥类型,然后单击“创建”。
- JSON 文件将被自动下载。将JSON文件保存在安全位置,以便访问组织中的云资源。
- 点击关闭。
- 返回详细信息,点击显示高级设置。
- 在域范围范围的代表部分,将客户端ID复制到剪贴板中。
- 单击按钮并使用您的 Google Workspace 管理控制台。
- 打开导航菜单(☰),然后选择“安全”>“访问和数据控制”>“API”控件。
- 在域外代表团下,点击管理域域范围。
- 在域范围的代表团页面,点击“添加新”。
- 从剪贴板中复制与服务账户关联的 OAuth 2.0客户端ID。
- 在OAuth 范围添加以下作用域:
- https://mail.google.com/,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.user.readonly
- 点击授权。
创建用于用户身份验证的 OAuth 2.0 客户端
要允许用户使用 OpenID Connect 机制进行身份验证,必须创建另一个 OAuth 2.0 客户端,具体如下所述。
- 前往谷歌云平台控制台。
- 打开导航菜单(☰),然后选择API与服务 > 凭据。
- 单击“+创建凭据”,然后从下拉列表中选择“OAuth”客户端ID。
- 选择Web应用程序作为应用程序类型。
- 输入一个名称,例如MailStore 服务器 OpenID 连接。
- 单击“在授权重定向URI”下添加URI。
- 输入客户端可访问的 URI URI 使用以下方案进行字段:
- https://<fqdn>[:<port>]/oidc/signin
- 使用以下组件
- https:/
必须指定协议 https://https://。为防止在登录时延迟发出证书警告,MailStore Server 所使用的证书必须受到所有客户端和使用过的网页浏览器的信任。 - FQD
MailStore Server 计算机的完全合格域名,例如mailstore.example.com。这必须能够从所有客户端中解析,用户应从该客户端登录到 MailStore Server。 - 端口
MailStore Web Access 的 TCP 端口(默认配置:8462)必须与在“网络设置”>“服务”>“MailStore网页访问/Outlook插件”(HTTPS)中配置的端口相匹配。TCP 端口仅在与 HTTPS 协议(443)的默认端口不同时才需要。 - /oidc/signin
MailStore Server 期望通过网络浏览器接收来自 Google 的身份验证响应路径。
- 单击创建 完成。
- t将客户端ID和客户端的机密从您的客户端ID和客户端机密字段复制到安全的地方(例如密码安全或类似),然后点击“确定”。
| 产品 | FQD | 端口 | 生成重定向URI |
|---|---|---|---|
| MailStore 服务器 | mailstore.example.com | 8462 | https://mailstore.example.com:8462/oidc/signin使用完全限定的域名和 MailStore Web Access 默认端口重定向 URI。 |
| MailStore 服务器 | mailstore.example.com | 443 | https://mailstore.example.com/oidc/signin如果默认端口 443 用于 MailStore Web 访问,或作为防火墙端口转发规则的来源,则可将该端口指定为重定向 URI 的一部分。 |
| MailStore 搜索引擎优化 | archive.example.com | 443 | https://archive.example.com/<instanceid>/oidc/signininstanceid实例的实例是重定向URI的一部分。 |
配置 MailStore 服务器
在Google端成功设置项目后,MailStore Server 现在可以配置为使用 Google Workspace 对用户进行同步和身份验证。
- 以 MailStore 服务器管理员身份登录 MailStore 客户端。
- 点击“管理工具” > “用户与归档” > “目录服务”。
- 在“集成”部分,将目录服务类型更改为 Google Workspace。
连接
要实现同步,MailStore Server 需要有关如何连接到 Google 工作区的信息。
- 密钥 ID
要导入私钥,请选择 Google 为“创建服务账户”步骤中的服务账户生成的 JSON 文件帽。 - 服务账户
服务账户由JSON文件自动确定。 - 用户名
Google Workspace 管理员的电子邮件地址(例如 admin@example.com)。
用户数据库同步
配置上述连接设置后,您可以在本节中为 Google Workspace 同步设置筛选条件。
- 仅同步这些组
如果只希望创建其成员为 MailStore Server 用户,请选择一个或多个 Google Workspace 群组。这样就有可能排除某些用户与 MailStore Server 同步。
身份验证
身份验证设置定义了 MailStore Server 在登录时如何对已从 Google Workspace 同步的用户进行身份验证。
- 客户端ID
从“创建 OAuth_2.0 客户端”步骤中输入客户端 ID。 - 客户秘密
从 Create OAuth_2.0 客户端步骤输入客户端密钥。 - 重定向 URI
输入与“创建 OAuth 2.0 客户端”步骤中定义的相同重定向 URI。
选项
- 自动删除 MailStore Server 中的用户
在这里,您可以选择在Google Workspace账户中已删除的用户是否也会通过同步方式在MailStore Server用户数据库中被删除。如果超出已配置设置的范围,用户也将被删除。
只有将其身份验证方法设置为目录服务的 MailStore Directory ServicesServer 用户才会被删除。
如果该用户的存档文件夹已包含存档邮件,则只有用户条目但未包含其存档文件夹的邮件将被删除。
分配默认权限
默认情况下,已从 Google Workspace 帐户同步到 MailStore Server 的用户有权登录 MailStore Server 以及读取对自身用户存档的访问权限。
例如,您可以在同步之前配置这些默认权限,以便将权限归档电子邮件分配给所有新用户。要执行此操作,请单击默认权限...
有关管理用户权限及其效果的更多信息,请参阅“用户、文件夹和设置”章节,Users, Folders and Settings这些章节还包含编辑现有权限的详细信息。
运行目录服务同步
单击测试设置以检查同步配置以及由 Google Workspace 帐户返回的结果,而无需对 MailStore Server 用户数据库进行任何实际操作的更改。
要最终运行同步,请立即点击同步。结果显示了对 MailStore Server 用户数据库进行的任何更改。
你可以先从列表中选择他,然后点击左下角的按钮,来测试用户的身份验证。现在您需要该用户的密码。单击“确定”后,您将收到一条消息,提示身份验证是否成功。