Google Apps、广告和单点登录

Chr*_*s_K 15 active-directory single-sign-on g-suite

我们是一家运行 Google Apps (Enterprise) 的小商店,可满足我们的电子邮件需求。爱它。在内部,我们使用的是 Windows AD (2003)。那里也没有抱怨。

我想在 AD 和 Google Apps 之间使用某种 SSO 方法,以便 AD 是我的人必须管理(并定期更改!)密码的唯一地方。

我过去看过谷歌的“tfm”,但我想我不太明白。有没有人这样做?如果是这样,你愿意分享如何吗?可以在没有大量复杂性和费用的情况下完成吗?

Zor*_*che 9

您可以使用 Google Apps 做几件事。

您可以设置连接到 AD 网络的SAML服务器,然后设置 Google 以针对 SAML 服务器验证您的 Google Apps 访问。我们使用了一个名为simpleSAMLphp的 php 应用程序,因为我们已经设置了运行 PHP 的服务器,并且我们有具有 php 技能的开发人员。单独使用 SAML 解决方案的缺点是您只能通过 Web 登录帐户。这意味着您无法通过 imap/pop 访问您的邮箱,并且您无法使用任何旧的 XMPP 客户端登录 Google talk。

使用 SAML 不会自动在 Google Apps 域中创建帐户。您可能还需要一个工具来同步帐户,您可以使用Google Apps Directory同步工具。这将允许您创建帐户,但默认情况下它仍然不会同步密码,因为 Windows 密码哈希是不可逆的,谷歌无法对它们做任何事情。

可以使用PasswdHk 之类的东西来拦截 AD 中的密码更改,然后以 Google 目录同步实用程序可用于设置 Google Apps 密码的格式(未加盐的 sha1)存储密码。但这确实增加了一些安全风险,因为 Google 仅通过其Provisioning API接受未加盐的 md5 或 sha1 密码哈希,并且要与 Google 同步,您基本上必须存储这些哈希。如果您要使用它,那么保证这些散列的安全是非常重要的。

哼。在谈到 imap/pop 之前,你让我对 SAML 感到非常兴奋。那会杀死所有使用 windows mobile 和 blackberry 客户端的人,不是吗?有什么聪明的选择吗?

如果您愿意接受存储密码哈希的风险,那么可以将 SSO 和目录同步组合在一起以获得一个工作系统。

作为替代方案,有人可以开发一个 Intranet 门户,您域中的用户可以在其中初始化他们的 Google 帐户并设置 Google 帐户的密码。我曾考虑开发这样的东西,但无法让我的同事同意这是要走的路。

基本思想是这样的,构建一个 webapp

  • 驻留在您的 Intranet 上并根据您的活动目录进行身份验证
  • 有一个函数,它会使用用户用来登录到 Intranet 站点的用户名和密码,并从 AD 中获取您需要的任何其他信息,然后使用 Google Provisioning API 添加/更新用户帐户。

构建这个工具真的不应该太难,我估计破解一些基本的东西只需要 12-16 小时的开发时间。此解决方案的优点是它为您提供了 100% 的 Google Apps 功能,缺点是它给最终用户带来了一些不便。

  • Google 发布了一个名为 [Google Apps Password Sync (GAPS)](http://googleappsupdates.blogspot.com/2012/05/new-product-google-apps-password-sync.html) 的新密码同步产品,现在应该可以处理这个。 (3认同)