放AD DS的理想场所

什么是放置Active Directory服务的理想场所?

在networking层,在应用层还是在数据库层?

根据你的措辞,我将在这里做一些广泛的假设。

这真的取决于你的使用。 你只是做这个authentication? 如果是这样,那么重新考虑你的实现。 还有其他的集中authentication解决scheme,不需要许可证,而且占用空间更小(OpenLDAP的想法)。

绝对不是networking层,如果你是指networking层的前线。 再次回顾一下,如果数据库层指的是实际使用Active Directory架构进行信息检索,那么OpenLDAP的效率将会更高,资源更less,而且到目前为止,为什么不使用恰当的数据库呢?

域控制器实际上使优秀的应用程序服务器,但我不会推荐他们为一个非常大的网站使用的应用程序。 你想在内部运行Sharepoint吗? 前进。 你想运行你的生产网站,每分钟3000点击? 不要(除非你有硬件,即使你有安全问题担心)。

这是否将您的内联网客户和真实(付费)客户联系起来? 如果是这样,为什么你真的需要使用共享authentication? 一个适当的实施隔离你的员工的外部世界。 如果您想为“便于pipe理”而build立独立的域名,那么请考虑当您的域名停机并且无法向Active Directory进行身份validation时,您的应用程序会发生什么情况。 你真的想向你的老板解释吗?

我假设你问哪个服务器应该运行你的Active Directory服务?

理想情况下,它将在其OWN服务器上(即使它是虚拟化的),但是如果您必须共享它,那么我将把它放在任何不被公众直接访问的服务器上。

所以,这意味着什么:不是Web服务器,而不是App服务器。 这离开了数据库服务器,但这也是一个糟糕的地方,因为大多数数据库服务器的压力。

这个问题是不可能回答的,因为你(本质上)混合了比喻。 “层”模型是关于在应用程序中分发函数的,并且与关于如何构buildActive Directory(又名AD)实现的讨论没有关系。 所以,在你的情况下(单独的AD硬件),实际的答案是NONE 。 单独的AD域控制器将不在任何“层”中。

AD比看上去更复杂。 还有比运行安装程序更多。 Active Directory至less需要一个“域控制器”(又名“DC”),它是运行“Active Directory服务”的服务器。 强烈build议在AD实现中有多个DC,这样如果一个DC出现故障,loginfunction不会丢失。 Active Directory中的其他服务器称为“成员服务器”。 此外,还有一些特殊的服务(又名“ FSMOangular色 ”),只能在每个域或位置的单个DC上激活。 另外强烈build议,由于性能和冗余原因,Exchange,SQL Server或任何高stream量的应用程序不能在DC上运行。 一般也build议DC不要直接暴露在互联网上,因为DC上有很多服务正在运行,端口是开放的。 此外,AD要求它是该域的主DNS。

也就是说,如果AD正在为Web应用程序validation用户身份,那么在现有服务器上就不存在真正的问题。 我会select“应用程序”层服务器,因为出于安全原因,最好不要在面向服务器的服务器上使用它,并且出于性能原因最好不要将其放在数据库服务器上。

但是,正如其他人所指出的那样,AD并不是单独authentication的最佳select,而且几乎肯定是矫枉过正的,特别是对于你来说,因为你不知道如何使用它。 如果用户数量很小,而且变化不大,则可以使用内置于IIS中的本地Windows身份validation。