将Azure Active Directory连接到客户端AD上

我们有一个在Windows Azure上运行的Web应用程序,各种客户都可以login。最近越来越多的人申请了某种单点login解决scheme,或者至less他们的本地/域用户同步出现在我们的应用程序 我已经看了几个选项,但还没有真正find一个看起来可行的我。 下面我列出了我一直在看的,但基本上我想就如何解决这个问题提供一些build议。

有第三方服务可能可以做到这一点,但通常这些需要一些或大量的工作,我们和我们的客户来执行。 这也意味着我们将不得不根据客户的喜好来实施多个或许多这些解决scheme。

如果不是所有的客户都将拥有一个内部Active Directory,如果我们可以以某种方式在我们的应用程序中使用它,那也是非常完美的。 将我们的networking应用程序连接到本地AD不是一个真正的select,因为系统pipe理员(可以理解)不会让我们访问它。

我们也可以在Azure中设置AD。 所以我想,也许我们可以从AD的前提同步到Azure的AD,然后从那里取出。 但是,当testing微软的Azure Active Directory Connect工具时,它要求我们为Azure环境提供pipe理员login。 显然,我们不希望给我们的客户访问我们的Azure门户,所以看起来这不会起作用。

另外一个问题就是我是一名程序员,所有的AD工作都离开了我的舒适区,而且我可能会在错误的地方寻找。

有没有人有任何这方面的经验,并指出我在正确的方向?

ADConnect是将本地目录与您的云同步的方式。 它要求input用户名密码才能设置初始同步,如果使用该工具重新login,则需要更改同步。 您在设置时还需要本地pipe理员的DA帐户。 如果您没有这两个帐户,或者没有一个帐户,则无法完成设置。

按照你的build议,Azure B2C就是你想要build立的。 否则,在您的域名和客户域名之间build立ADFS联合,以便您不必四处询问任何用户名/密码。 我假设你的应用程序是一个声明的意识,你有你自己的Windows AD来让ADFS进行configuration。

如果你正在尝试build立一个ADFStesting环境,那么我就跟着这个4部分的博客来build立我的第一个实验室 – 希望它也能适合你。

http://blogs.technet.com/b/askpfeplat/archive/2013/12/09/how-to-build-your-adfs-lab-on-server-2012-part-1.aspx http:// blogs .technet.com / b / askpfeplat /存档/十二分之二千零十三/ 23 /如何对积累的-ADFS实验室的服务器上- – 2012年第2部分-networkingsso.aspx

如果将应用程序configuration为支持SAML身份validation,则客户可以将其ADFS(或其他)configuration为使用AD。 这通常是如何处理SSO的第三方应用程序。

工作方式是,您仍然可以pipe理应用程序的身份和访问权限,但是客户可以将其绑定到可以包含AD用户名的自己的“声明”。 这就是ADFS以及其他联合身份validation平台所做的(联邦部分)。 您需要提供一种方法来创build身份提供者(您的和他们的)之间的信任。

在您身边,您可以创build自定义标识提供程序,使用第三方服务或部署联合服务器(如ADFS)。 但是也有其他的(商业和开源)像PingFederate和Shibboleth。 这里有几百个选项。 如果你想要一个SDK – Ping Identity(PingFederate开发者)为多种语言(Java,C#等)提供一个。 我敢肯定还有开源的SDK也有帮助。

身份是一个复杂的话题 – 越多的人可以将其卸载到一个专门的公司或团队中,这样会更好(Azure B2C在其他答案中已经预览过了,但是如果您希望更快地查看第三方)