在允许SaaS产品根据租户的内部Active Directory(或其他LDAP)服务器对用户进行身份验证的最佳方法的一些理论帮助之后。
托管应用程序,但要求租户可以将身份验证委派给其现有的用户管理提供程序(如AD或OpenLDAP等).Microsoft Online的托管交换机等工具支持企业AD同步。
假设客户端不想将端口389转发到其域控制器,那么最佳方法是什么?
答案 0 :(得分:16)
在做了一些研究并与一些管理这个的系统管理员交谈后,我们已经确定了两个选项,这应该满足大多数人。我会在这里为那些对结果感兴趣的人描述它们。
安装在origanisation的DMZ中的身份验证服务
如果用户希望利用本地活动目录服务器进行身份验证,则需要在其DMZ中安装代理并打开端口443。我们的服务将配置为使用此服务执行身份验证。
此服务将位于DMZ中,并从SaaS应用程序接收身份验证请求。该服务将尝试使用这些凭据绑定到活动目录,并返回状态以指示成功或失败。
在这种情况下,应用程序的基于表单的身份验证不会更改,并且用户将不会知道幕后的身份验证。
<强>的OpenID 强>
与第一种方法类似,服务将安装在客户端的DMZ中,端口443将被打开。这将是一个OpenId提供商。
SaaS应用程序将成为OpenId消费者(已经用于Facebook,Twitter,Google等登录)。
当用户希望登录时,将显示OpenId提供商,要求他们输入用户名和密码。此登录屏幕将从客户端的DMZ提供。用户永远不会在SaaS应用程序中输入用户名或密码。
在这种情况下,现有的基于表单的身份验证将替换为客户端DNZ中服务的OpenId身份验证。
我们正在调查的第三个选项是Active Directory联合服务,但这是Active Directory专有的。另外两个解决方案支持在互联网上进行任何基于LDAP的身份验证。
答案 1 :(得分:4)
也许这可能会有所帮助......
此供应商Stormpath提供的服务包括:用户身份验证,用户帐户管理,以及与客户的内部部署目录的连接。
答案 2 :(得分:2)
与客户用户目录的LDAPS连接怎么样?他们可以对此进行防火墙处理,以便只有您的服务器关注它是否公开才能访问它们。由于它是SSL,因此端到端安全。您需要的只是来自其颁发CA的证书(如果它不是公开的证书)。我努力让这个工作在DMZ的内部网络项目,并且在网上真的缺乏任何指南。所以当我开始工作时,我写了一篇文章:
http://pcloadletter.co.uk/2011/06/27/active-directory-authentication-using-ldaps/
答案 3 :(得分:2)
您最好的选择是为您的SaaS应用程序实施SAML身份验证,然后使用Okta或OneLogin等身份提供商进行注册。完成后,您还可以将其与ADFS连接,以通过Active Directory为您的Web应用程序提供单点登录。
我自己就是在做这项研究,而这正是我所遇到的,一旦实施就会有更多的更新。希望这能为您提供足够的关键字来进行其他谷歌搜索
答案 4 :(得分:0)
我的理解是有三种可能的解决方案:
在域控制器上安装内容以捕获所有用户更改(添加,删除,更改密码)并将更新发送到远程服务器。不幸的是,网站无法知道最初的用户密码 - 只有在更新后才能使用新密码。
为Web服务器提供访问权限,以通过LDAP / WIF / ADFS连接到您的域控制器。这可能意味着打开公司防火墙中的传入端口以允许特定的IP。
否则,请绕过用户名/密码,然后使用email-based authentication。用户只需每3-6个月通过电子邮件对每台设备进行一次身份验证。
我必须开始为即将开展的项目实施此项目,并且我非常倾向于选项#3以简化。