将外部用户放在Active Directory中是不好的做法?

时间:2009-02-06 13:22:05

标签: security authentication active-directory adfs

我们有一个现有的Web应用程序,我们希望从自定义身份验证解决方案迁移到Active Directory联合身份验证服务,以便我们的合作伙伴组织可以管理其用户的授权。

现在,该网站正在使用自定义数据库表来管理用户和自定义逻辑,以管理身份验证和授权。

除了将通过ADFS对其用户进行身份验证并获得访问权限的合作伙伴组织之外,我们还有位于Active Directory域中的内部用户。这些用户也可以通过ADFS进行身份验证。

我们的问题围绕着我们的外部用户。该网站还允许个人注册。这些人没有任何他们工作的组织,因此我们不能使用ADFS来处理他们的身份验证。

由于我们需要支持这些人,我们需要管理他们的用户帐户。

ADFS只能连接到Active Directory或Active Directory应用程序模式帐户存储。

由于ADFS仅支持这些帐户存储,因此逻辑解决方案似乎是为我们的Active Directory域中的外部用户创建帐户。

这意味着我们会更新注册页面以在活动Active Directory中创建新用户帐户,而不是在我们的自定义数据库中创建新记录。

那么,这是一种不好的做法吗? AD应该用于组织外部的用户吗?其他人在使用ADFS时如何处理这种情况?

3 个答案:

答案 0 :(得分:10)

为外部用户创建新的AD林,您可能需要设置一些更好的安全性,但这两者可以进行无缝身份验证。

您需要告诉他们在登录时使用其他域名(例如,您的普通用户使用'mycorp',外部使用'externalcorp'),否则它完全透明。

答案 1 :(得分:2)

是的,将外部用户与内部用户放在同一个AD中是不好的做法。将外部帐户分开,并查看ADAM以进行外部用户身份验证。

答案 2 :(得分:2)

我认为您需要问的问题不是在Active Directory中存储外部帐户是否错误,而是将帐户存储在与内部帐户相同的林中是不好的。它可以完成,但我倾向于同意Fallen,我不会将外部帐户与内部帐户放在同一个林中。

过去当我们使用AD商店放置外部帐户时,我们创建了一个新的林,并将外部用户放在那里,然后信任这两个域。在我看来,这是更好的选择,因为用户对内部网络的最高访问权限受信任而非用户帐户的限制。如果域包含在内,您可以随时将其关闭,并且您将知道外部设备无法访问内部网络。这还允许您在外部和内部用户之间使用不同的安全策略。