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

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

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

运作方式

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

  1. 当用户的密码发生变化时,系统会向网域控制器 (DC) 发送更新请求。
  2. 该网域控制器中的 Microsoft Windows 会调用包含新密码和用户名的 Password Sync 动态链接库 (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)无法访问这些数据。读取密码的唯一方法是在设置或更改密码时捕获密码。
  • Password Sync 包含一个名为“password_sync_dll.dll”的 DLL,该 DLL 以 LSA 通知包的形式安装。如需详细了解 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 的商标。其他所有公司名和产品名是其各自相关公司的商标。