您可以使用 Password Sync 直接从 Microsoft Active Directory 中更新用户的 Google Workspace 和 Cloud Identity 密码。
Password Sync 可供 Google Workspace 和 Cloud Identity 管理员使用。
工作原理
安装并配置 Password Sync 后,每当 Active Directory 用户更改密码时,该工具都会将更新后的密码发送到 Google 帐号。
- 当用户的密码发生变化时,系统将向网域控制器 (DC) 发送更新请求。
- 此网域控制器中的 Microsoft Windows 会调用包含相应用户名和新密码的 Password Sync 动态链接库 (DLL)。
- GSPS 服务从 DLL 接收经过哈希处理的密码和用户名。
- GSPS 服务利用 LDAP 从 Active Directory 获取用户的电子邮件地址。
- 该服务使用 Directory API 更新 Google 帐号。此外,要让 Google Workspace API 正常运行,您需要打开多个端口并将一些主机名添加到许可名单。了解详情
- 用户之后可以使用 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 服务 ("password_sync_service.exe") 会根据 DLL 发送的用户名,利用 LDAP 从 Active Directory 中查找用户的电子邮件地址。然后,使用 Directory API 更新 Google 帐号。通过 Directory API 更改密码后,部分应用 OAuth 令牌会被撤消。用户可能需要使用自己的用户名和密码重新登录这些应用。
- Password Sync 符合 Microsoft 密码过滤编程注意事项中的相关要求。有关详情,请参阅这篇 Microsoft 文章。
“Google”、Google Workspace 以及相关标志和徽标是 Google LLC 的商标。其他所有公司名和产品名是其各自相关公司的商标。