理解域信任关系
在同一个域内,成员服务器根据
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
中更是允许在域林之间进行信任关系的传递。
下篇博文中我们将通过一个实例为大家介绍如何进行信任关系的创建,敬请期待。