0

我有一个用于Azure部署的ASP.NET Web角色项目,需要进行身份验证。
我必须在Office 365和内部部署Active Directory之间进行选择。
看起来像需要使用访问控制服务集成到Azure Active Directory。 两者的优缺点是什么? 另外如果有任何其他的可能性。Azure Web角色身份验证策略

+2

两种方法都不需要通过ACS,除非您明确要。但是您也可以使用ACS与其他身份提供商进行集成。您的选择绝对是您的,您必须完全理解应用程序的业务需求,以及使用Azure AD(或者您将其命名为Office 365),本地AD或其他身份提供商的含义。 – astaykov

回答

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连接更直接的直接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集成,那么优势在于您可以与先前的AD进行同步,以便为网络上的资源以及云中的应用程序提供单点登录。您还可以访问您的云应用程序,使其更具弹性,因为它们无需依赖于您公开的ADFS V2端点。如果您出于任何其他原因使用Office 365/WAAD(例如您的employess使用Office 365进行电子邮件,协作等),那么这是我首先要看的选项。

如果您想与其他识别提供商(如Google,Facebook或其他公司)进行整合,您应该查看ACS。从技术上讲,当时你也不必使用ACS,但它肯定会为你节省大量的使用ACS的工作量,而不是为每个供应商自己编写集成代码。