密码同步功能的工作原理是什么?

Password Sync 可用于直接从 Microsoft Active Directory 更新用户的 Google Workspace 和 Cloud Identity 密码。

Google Workspace 和 Cloud Identity 管理员可以使用密码同步工具。

运作方式

安装并配置 Password Sync 后,每当 Active Directory 用户更改密码时,它都会将更新后的密码发送到您的 Google 账号。

  1. 当用户的密码发生变化时,系统会向网域控制器 (DC) 发送更新请求。
  2. 该网域控制器中的 Microsoft Windows 会调用包含新密码和用户名的密码同步动态链接库 (DLL)。
  3. GSPS 服务从 DLL 接收经过哈希处理的密码和用户名。
  4. 该服务使用 LDAP 从 Active Directory 获取用户的电子邮件地址。
  5. 服务使用 Directory API 更新 Google 账号。此外,要让 Google Workspace API 正常运行,您需要打开多个端口并将一些主机名添加到许可清单。了解详情
  6. 然后,用户可以使用其 Active Directory 密码登录其 Google 账号。

技术详情

  • 在 Active Directory 中,密码会以只写形式存储,无法通过任何接口(例如 LDAP)读取这些密码。因此,传统的同步方法(例如 Google Cloud Directory Sync)无法访问这些数据。读取密码的唯一方法是在设置或更改密码时捕获密码。
  • 密码同步工具包含一个以 LSA 通知包形式安装的 DLL,名为“password_sync_dll.dll”。如需详细了解 LSA 通知包,请参阅此 Microsoft 文章。
  • 如果特定 DC 上的密码发生更改,DLL 就会收到更新后的密码和用户的用户名。Password Sync 必须安装在每个可写 DC 上,因为在收到密码更改的 DC 上,Windows 会触发密码同步。无论更新密码的是管理员还是最终用户,都会触发密码更新。如需详细了解 PasswordChangeNotify 回调函数,请参阅这篇 Microsoft 文章。
  • DLL 收到用户名和密码后,会使用加盐 SHA512 算法对密码进行哈希处理,然后将其发送到密码同步服务。
  • 然后,Password Sync 服务 ("password_sync_service.exe") 会根据 DLL 发送的用户名,使用 LDAP 在 Active Directory 中查找用户的邮箱。然后,它会使用 Directory API 更新 Google 账号。通过 Directory API 更改密码时,某些应用 OAuth 令牌会被撤消。用户可能需要使用其用户名和密码重新登录应用。
  • 密码同步工具符合 Microsoft 密码筛选器编程注意事项中的相关要求。如需了解详情,请参阅这篇 Microsoft 文章。


Google、Google Workspace 以及相关标志和徽标是 Google LLC 的商标。其他所有公司名和产品名是其各自相关公司的商标。