原创地址:
转载请注明出处
如果你的活动目录中,只有一个森林,一个域,那么恭喜你,你的生活将非常愉快,你应该继续保持这样。
但是往往生活并不如意,比如像下面这家公司,有两个独立的部门,每个部门都有自己的域、子域和命名空间。另外该公司还收购了另一家公司,这家被收购的公司也有自己的森林、域和子域。
一个域里的用户想要访问另一个域里的资源,是怎么实现的呢? 活动目录为父域和子域之间自动生成了一个双向的,可传递的信任关系(two way, transitive trust)。可传递的信任关系,通俗点说,就是如果我信任你,那么我也信任你所信任的域。
如果父域和子域之间不是可传递的信任关系,以该公司第一个部门为例,我们要创建如下图所示如此之多的双向、非可传递的信任关系。非可传递的信任关系可以帮助你对各个域之间进行细粒度的控制,但是当域的数目较多时,非可传递的信任关系就变得难以维护了。
如果部门一里一个子域里的用户想要访问部门二里某个子域里的资源,部门一的域树和部门二的域树之间要建立一个Tree Trust。
但是像上图所示,用户要访问其他域里的资源,要经过多层的信任关系才能达到,这样效率不高。如果两个域之间的距离较远,但又有频繁的访问,可以在两个域之间建立一个Shortcut Trust。
如果母公司和被收购的公司之间的资源想要互相访问,那么在母公司的森林和子公司的森林之间要建立一个Forest Trust。Forest Trust也是可传递的(Transitive Trust)。
Windows的活动目录如果需要和其他目录系统建立信任关系,如果其他系统使用的也是Kerberos,那么双方可以建立单向或者双向,可传递或者非可传递的Realm Trust关系。
还有一种信任关系叫External Trust,在Windows 活动目录和比较老的NT4系统之间使用。这种信任关系是单向、非可传递的,因此如果想建立双向的信任关系,需要每个方向都创建一个External Trust。
One way trust,如果域B里的用户想要访问域A里的资源,那么A要相信B才行,所以信任关系的箭头是从A指向B。由于是单向信任关系,域A里的用户是无法访问到域B里的资源的。另外信任关系只是提供了一条可能的访问路径,用户是否允许访问该资源,还是需要对用户权限进行配置。
总结:
信任关系又单向的、双向的、可传递的和非可传递的。
父域和子域之间的信任关系是系统自动帮助建立的,是双向可传递的信任关系。
Tree Trust也是双向、可传递的信任关系。
除此之外还提到了Shortcut Trust, Forest Trust, Realm Trust和External Trust。