AD域整合的注意事项

AD域环境是微软整个产品体系中很是重要的一个系统,是大部分微软应用的基础。在某些状况下因为公司规划缘由或并购,会须要作AD域的迁移整合工做,或是两个AD域跨林进行资源访问。安全

 

这部分因为微软官方有比较详细的资料说明和实施步骤,因此本文就再也不对此进行详细描述,仅对实施AD整合过程当中一些比较容易遇到的问题进行说明,丰富你们对此场景的了解。服务器

 

 跨林访问的受权方式

 

背景

最近笔者实施了一个域整合的项目,因为客户公司并购,须要将用户和组所有从之前所在的A域所有迁移到新的B域(使用微软ADMT迁移工具),可是因为一些其余缘由,用户须要逐步迁移,而且持续时间会很是长,大约1年(帐户组会提早所有进行迁移)。工具

 

在此期间将会有一部分用户仍然使用旧环境A域的帐号继续使用,一部分已经迁移的用户则使用迁移到新环境B域的帐号使用。测试

 

在此场景下,须要考虑在这个新旧环境都有用户,而且文件服务器资源都还在旧域A域的状况下如何规划用户的受权问题。spa

 

受权问题

文件服务器通常为了方便管理都会对组进行受权,因此本文主要讨论对组受权的场景,也就是B域用户访问A域文件服务器的受权场景。单独的用户受权的场景比较简单,本文不作讨论。blog

 

根据AD中用户访问资源的工做机制,咱们能够了解到,当用户访问文件服务器资源时,会首先和资源所在的域控进行身份认证,确认用户帐户是否有权限。对组受权则是会查看用户帐户信息的隶属组信息进行判断。资源

 

若是用户帐户属性信息中,所属的组恰好在资源的权限中也有一样的组,则按设置的权限的进行访问。作用域

 

根据上述的工做原理,咱们能够得出结论,若是须要受权只须要在A域的文件服务器上对共享资源授予须要的组的权限,而后再到B域中将用户加入到对应的组中便可。(A域全部组都已经使用ADMT带SID History跨林迁移到B域)文档

 

可是在笔者实际测试的中,发现并和咱们设想的不同,部分用户加入到了B域对应的组成员中并无获取到对应的权限,而是须要将用户在A域也加入到一样的组成员方才会有效果。反复测试都是如此。产品

 

问题缘由

通过详细的测试分析,发现其实这个问题很是简单,也并不是咱们理解的工做有问题,而是咱们忽略了迁移的组的类型的问题。

 

由于组有本地域组、全局组、通用组几个类型,根据组的类型的定义,不一样类型的组固然会有不通的状况。如下就将测试结果直接分享给读者:

经过上表能够看出,因为不一样类型组的做用域范围不同,只有全局组和通用组的类型是以用户本身所在域的权限为准,本地域组只能以资源所在域的权限为准。

 

迁移后用户没法登入

 

背景

同前面描述的项目中在完成用户迁移后,发现有部分用户没法登录,登录提示:

During a logon attempt, the user's security context accumulated too many security IDs

 

问题分析解决

经过错误描述能够直接比较快找到线索,微软官方文档描述:

 

Windows系统包含一个限制,限制用户的安全访问令牌不能超过1,000个安全标识符(SID)。当用户验证访问权限以与服务器创建新会话时,该用户不能是该域中超过1,000个组的成员,若是超出此限制,则拒绝访问服务器

 

参考连接:

https://support.microsoft.com/en-us/help/275266/error-message-during-a-logon-attempt-the-user-s-security-context-accum

 

以此笔者检查环境并回忆项目实施过程,果真发现没法登录的用户都隶属于大量的组的组成员。

 

虽然项目实施的某个国际大公司的AD环境,确实AD中有创建很是多的组,但仍是比较难达到1000的限制。

 

最后笔者发现主因是本次项目过程当中AD用户和组迁移进行了两次,而每次都会要进行带SID History进行迁移,因此每一个用户的所属组的数量就都“乘3”了。那些原本就所属组较多的用户在迁移2次后也就达到1000的限制。

 

找到了缘由,解决办法也就很简单了,对这些没法登录的用户进行整理,将它从不须要的组中剔除,下降到1000个隶属组之下便可。

 

其余注意问题

 

  • 使用ADMT进行AD用户迁移时,若是林内迁移,那么用户帐户是移动的方式,完成迁移后源域的用户帐户将消失;若是是跨林迁移的方式,那么用户帐户是复制的方式,源域的用户帐户仍然将会保留。

 

  • 使用ADMT迁移用户能够在多个域中迁移屡次,只要是带SID History便可保留在源域的权限。

 

  • 使用ADMT进行迁移时须要配置禁用SID 筛选功能,测试发现若是在Windows Server 2016中文版环境下禁用SID 筛选命令没有效果,而英文版本则能够正常运行。中文版的解决方法能够是下载英文语言包,将系统语言所有调整为英文语言则能够正常执行。

 

做者:范bo'w