(被编辑以符合对答案的理解 – 作者 – 新的,新鲜的,干净的问题张贴在这里: 活动目录+谷歌身份validation – 在Windows Server本地支持? )
目前的研究已经完成
有关于如何使用谷歌身份validation与Active Directory联合服务(AD FS)的TechNet文章: https : //blogs.technet.microsoft.com/cloudpfe/2014/10/26/using-time-based-one-time -passwords换多因子authentication在-AD-FS-3-0 /
奇怪的是,它似乎是一个开发项目,需要一些代码和自己的SQL DB。
我们在这里不是专门针对AD FS的。 我们正在寻找2FA的解决scheme,并支持内置于AD的Google Authenticator RFC。
我们需要看看这里发生了什么。
AD FS是关于SAML的 。 它将连接到Active Directory以将其用作SAML身份提供商。 Google已经具备充当SAML服务提供商的能力 。 把两者放在一起,所以Google会信任你的服务器的SAML令牌,并且你通过Active Directory证书login到一个Google账户。 1
另一方面,Google身份validation器通常作为身份提供商的一个因素,通常用于Google自己的服务。 也许你现在可以看到它如何不适合AD FS。 在Google上使用AD FS时,您不再真正使用Google的身份提供商,到AD FS完成交给Google的身份validation时,身份证已经完成。 如果您做了任何事情,那么将Googleconfiguration为要求身份validation器作为AD FS或其他SAML身份提供商(但独立于此)的补充身份确认。 (注:我不认为谷歌支持这一点,但他们应该)。
现在,这并不意味着你想做的事情是不可能的,只是这可能不是最合适的。 虽然AD FS主要用于Active Directory,但它也被devise用作更通用的SAML服务; 您可以将其连接到除Active Directory之外的其他身份提供程序,并且它支持许多不同的选项和扩展。 其中之一是能够创build自己的多因素身份validation提供程序。 此外,Google身份validation器支持多因素身份validation的TOTP标准 。
把这两者放在一起,它应该有可能(虽然当然不是微不足道的)使用Google身份validation器作为AD FS的MuliFactor提供商。 你链接的文章是一个这样的尝试的概念的certificate。 但是,这不是AD FS开箱即用的function; 每个Multi-Factor服务都要创build该插件。
也许MS可以为一些大型多种因素提供商提供第一方支持(如果有的话),但是Google Authenticator是足够新的,而且AD FS 3.0已经足够老了,以至于不可能做到这在发布时间。 另外,如果MS维护这些服务对于何时或者哪些更新可能推动这些更新没有影响,那么这对MS来说是一个挑战。
也许当Windows Server 2016不在时,更新的AD FS将使这更容易。 他们似乎已经做了一些更好的多因素支持的工作 ,但我没有看到关于在竞争对手的身份validation器中join任何说明。 相反,他们似乎希望您设置Azure来完成此操作,并可能为Authenticator的竞争对手提供iOS / Android / Windows应用程序。
我最终希望看到的MS提供的是一个通用的 TOTP提供程序,在那里我configuration了一些东西来告诉它,我正在与Google Authenticator进行通信,剩下的事情就完成了。 也许有一天。 也许更详细的看一下系统,一旦我们真正得到它,就会显示它在那里。
1为了logging,我已经这样做了。 请注意,当您跳转时,此信息将不适用于使用该帐户的imap或其他应用程序。 换句话说, 你打破了Google帐户的一大部分。 为了避免这种情况,您还需要安装和configurationGoogle的密码同步工具 。 使用该工具,每次有人在Active Directory中更改其密码时,域控制器都会将密码散列发送给Google,以便与其他身份validation一起使用。
另外,这对你的用户来说是全部或者全无。 您可以通过端点IP地址进行限制,但不能基于用户。 因此,如果您拥有不知道任何Active Directory凭据的旧用户(例如:大学的校友用户),那么将他们全部移走可能是一个挑战。 出于这个原因, 我目前没有在Google上使用AD FS,尽pipe我仍然希望最终能够实现飞跃。 我们现在已经做了这个飞跃。
我认为你的问题使得无效的假设是微软的工作是增加对特定供应商的2FA / MFA解决scheme的支持。 但是有足够的2FA / MFA产品已经支持Windows和AD,因为供应商已经select了添加这种支持。 如果Google认为这不足以增加支持,那么这不是微软的错。 身份validation和授权相关的API有充分的logging和免费使用。
链接到任何人都可以编写的示例代码的博客文章将RFC6238 TOTP支持添加到他们自己的AD FS环境。 碰巧与Google Authenticator配合使用,只是validation者支持RFC的一个副作用。 我还会注意到底层的关于代码是“概念validation”,“没有适当的error handling”和“不是为了安全而创build”的免责声明。
无论如何,没有。 我不认为Windows Authenticator支持将在Windows Server 2016中得到明确的支持。但我认为任何事情都不会阻止Google在Server 2016或更早版本中添加支持。
答案,截至2017年10月:
使用Duo将MFA启用将LDAP返回到AD的系统
我们已经研究或尝试了一切。
虽然我们不喜欢DUO的运营成本,但对于多达50个用户来说,对我们来说,这个成本值得build立和使用。
我们已经使用它远远落后:
用于VPN访问的思科ASA设备
用于VPN访问的SonicWALL远程访问设备(使用LDAP也可以访问AD)
我们没有意识到可以在2-4个小时内设置任何其他方法,并且MFA支持挂起AD的LDAP服务。
我们仍然认为AD本身应该支持google authenticator后面的TOTP / HOTP RFC,并且对MS在Windows Server 2016中没有正确解决这个问题深感失望。