我在ASP.NET中有一个用于Azure部署的Web角色项目,需要进行身份验证 我必须在Office 365和内部部署Active Directory之间进行选择 看起来两者都需要使用访问控制服务集成到Azure Active Directory。 两者的优点和缺点是什么? 如果还有其他可能性。
答案 0 :(得分:2)
正如astaykov在对您的问题的评论中提到的,您不限于在此方案中涉及访问控制服务。不知道为什么他没有提交该评论作为答案。
如果您真的必须违反Office 365或On Premise AD,那么您真正要求的是两者之间的区别。我会列出一些想法,但首先如果你想实现这些,那么这里有一些链接:
MS对身份的提供:http://msdn.microsoft.com/en-us/security/aa570351.aspx
在Azure部署中使用ADFS V2: http://channel9.msdn.com/shows/Identity/WIF-Workshop-9-WIF-and-Windows-Azure/这是一个较旧的材料,我找不到使用WIF连接更新的directo ADFS V2。你根本不需要在这里使用ACS。可悲的是,当ACS被释放时,这被误解了很多。
使用Office 365 / Windows Azure AD:http://msdn.microsoft.com/library/windowsazure/dn151790.aspx
注意:我已将Azure中运行的网站直接连接到ADFSV2,但我还没有机会使用WAAD / Office 365。
如果您选择在内部展示您的AD,那么您可能会通过使用ADFS V2公开它来实现此目的。这就是为运行WIndows Identify Foundation(WIF)对象的代码打开端点以接触和处理身份验证的内容。这样做的结果是您不必单独担心Office 365登录或WAAD,如果您出于任何其他原因而没有这些服务,那么这可能是一个有趣的选择。缺点是您在自己的位置的端点上向AD公开代理。如果您失去了与互联网的连接,那么没有人尝试使用云中的应用程序就能够进行身份验证。如果云中应用程序的用户只能在防火墙后面访问它(例如在办公室或甚至在VPN上),我也可以选择这个选项。这是因为您可以对其进行设置,以便您的应用程序使用未暴露于Internet的ADFS端点,但如果它们位于防火墙后面,它仍然可以正常工作。这几乎可以确保只有已经在防火墙后面的人才能使用您的应用程序。
如果您选择使用Office 365 / WAAD集成,那么好处是您可以与onpremise AD同步,以便单点登录网络上的资源以及云中的应用程序。您还可以使您的云应用程序更具弹性,因为它们无需依赖您公开的ADFS V2端点。如果您出于任何其他原因使用Office 365 / WAAD(例如您的员工使用Office 365进行电子邮件,协作等),那么这是我首先要考虑的选项。
如果您想与其他识别提供商(如Google,Facebook甚至其他公司)集成,您应该查看ACS。从技术上讲,你当时也不必使用ACS,但它肯定会为你节省大量的工作来使用ACS,而不是为每个提供商自己编写集成代码。