在同一个域内,成员服务器根据Active Directory中的用户账号,可以很容易地把资源分配给域内的用户。但一个域的作用范围毕竟有限,有些企业会用到多个域,那么在多域环境下,我们该如何进行资源的跨域分配呢?也就是说,我们该如何把A域的资源分配给B域的用户呢?一般来说,我们有两种选择,一种是使用镜像账户。也就是说,我们可以在A域和B域内各自创建一个用户名和口令都完全相同的用户账户,然后在B域把资源分配给这个账户后,A域内的镜像账户就可以访问B域内的资源了。
镜像账户的方法显然不是一个好的选择,至少账户的重复建设就很让管理员头疼。资源跨域分配的主流方法还是创建域信任关系,在两个域之间创建了信任关系后,资源的跨域分配就非常容易了。域信任关系是有方向性的,如果A域信任B域,那么A域的资源可以分配给B域的用户;但B域的资源并不能分配给A域的用户,如果想达到这个目的,需要让B域信任A域才可以。
如果A域信任了B域,那么A域的域控制器将把B域的用户账号复制到自己的Active Directory中,这样A域内的资源就可以分配给B域的用户了。从这个过程来看,A域信任B域首先需要征得B域的同意,因为A域信任B域需要先从B域索取资源。这点和我们习惯性的理解不同,信任关系的主动权掌握在被信任域手中而不是信任域。
A域信任B域,意味着A域的资源有分配给B域用户的可能性,但并非必然性!如果不进行资源分配,B域的用户无法获得任何资源!有些朋友误以为只要两个域之间存在信任关系,被信任域的用户就一定可以无条件地获得信任域内的所有资源,这个理解是错误的。我刚工作时在一家港资企业担任网络管理工作,企业的香港公司是一个域,深圳公司也是一个域。有一次我们需要把两家公司的Exchange服务器进行站点连接,这个操作需要两个域建立信任关系,但当时一位老工程师坚决不同意建立信任关系。他的理由是只要建立信任关系,香港公司的资料就全被深圳公司的员工看到了。这个理由很山寨,很明显对域信任关系的理解有些是是而非。我通过一个实验纠正了他的错误概念,事实证明,深圳公司和香港公司建立了域信任关系后,安全性并没有因此降低。
在NT4的域时代,信任关系是不具有传递性的。也就是说如果A域信任B域,B域信任C域,那么A域和C域没有任何关系。如果信任关系有传递性,那么我们就可以推导出A域是信任C域的。信任关系没有传递性极大地降低了灵活性,你可以想象一下如果70个域都要建立完全信任关系,那么需要多么大的工作量。而且这种牺牲灵活性的做法也没有获得安全上的补偿,因此微软在Win2000发布时,允许在域树和域林内进行信任关系的传递,在Win2003中更是允许在域林之间进行信任关系的传递。
下篇博文中我们将通过一个实例为大家介绍如何进行信任关系的创建,敬请期待。
出处:http://yuelei.blog.51cto.com/202879/175728