什么是Active Directory
=================
Active Directory是由一系列逻辑结构上和物理结构上的组件组成的. 它提供了一种为组织机构集中化管理和存储他们的用户对象, 计算机对象, 组成员关系, 和定义安全边界的一种逻辑数据库结构.
Active Directory的目的
=================
Active Directory存储关于用户的信息, 计算机的信息, 还有网络资源的信息, 并且使得这些资源对于用户和应用程序是可以访问的. 它提供了一种一致的方式来命名, 描述, 定位, 访问, 管理, 和保护这些资源信息.
Active Directory的功能
=================
Active Directory提供以下的功能:
1. 集中管理网络资源.
通过集中对于诸如服务器, 共享文件, 和打印机这样的资源的控制, 使得只有在Active Directory中经过授权的用户才可以访问这些资源.
2. 集中和分散对资源的管理
管理员拥有集中了的管理方式, 这种管理方式拥有将网络中的子集的管理工作转交给有限的个体, 让他们在更精细的管理粒度上进行资源管理.
3. 将对象安全地存储在逻辑结构中
Active Directory将虽有的资源看做对象, 并且将他们存储在一个安全的, 有层次的逻辑结构当中.
4. 优化网络通信
Active Directory的物理结构允许你更高效率的使用网络带宽. 比如说, 它确保当用户登录到网络中的时候, 距离用户最近的认证授权服务器为用户提供服务, 以减少网络痛惜的量.
Active Directory的逻辑结构
==================
Active Directory提供了一种设计目录结构的手段, 可以满足一个组织机构可能会有的任何需求. 由于它提供的设计灵活性, 机构的商务结构的检查核实工作应该在安装Active Directory之前就做好, 这样组织机构的当前需要甚至未来需要才会被满足.
在Active Directory中, 资源使用逻辑结构来组织的, 而且在逻辑上分组资源使得一个资源可以通过它的名字来找到, 而不是通过资源的物理位置.
在Microsoft® Windows NT®版本中, 这个逻辑结构就是domain(域), 域中包含了用户账户(user accounts), 计算机账户, 打印机, 文件, 和应用程序, 其上限大概是40000个对象. 除了创建新的domain, 关于这些资源的管理不能再被进一步的划分了. 到了Windows 2000, 域中能够存储几十亿个对象, 资源能够通过使用以下的一些逻辑结构在更加细化的粒度上进行组织和管理.
- Objects
- Organizational Units
- Domains
- Trees
- Forests
下图展示了Active Directory的逻辑结构.
什么是Objects
=================
Object是一个独特的可以代表一个网络资源的属性集, 这里的网络资源可以是一个用户, 一台计算机, 一个组策略等等, 属性是那个Object存储在目录中的一些特征. 比如说, 一个用户的某些属性可能包括用户的姓, 名, 部门, 和邮件地址, 还有很多其他的属性.
有些objects可以被理解为容器objects, 它们可以包含其他的objects. 比如说, UsersFolder可以包含用户账户, Domain Controllers Folder可以包含那个域的域控制器, 就像下面要讨论的OU一样.
什么是Organizational Units
==================
Organizational Unit(OU)是一个通用的容器对象, 被用来将域内的对象组织进一个逻辑上的管理组当中. 这些逻辑上的管理组可以包括一种或多种对象, 这取决于管理员想怎么组织了. 可以把OU想象成一个大盒子, 可以装很多东西, 还可以装其他的盒子(比如说其他的OU, 也叫sub-OU), 并且其他的盒子还可以再装其他的盒子.
所有的这些都可以被用来以一种OU的层级的方式来组织资源, 反映出公司需要的任何结构, 因为管理员可以在OU中放任何他想放的东西.
比如说, 他们想要把资源按照类型来分组, 有的OU里只放计算机, 或的OU里只放用户账户. 还可能他们想要按照地理位置进行分类, 比如说, 所有在北部地区的资源放在一个OU里, 南部的, 东部的也一样. OU还可以被按照商务中的部门的方式来创建, 比如说销售部门有一个OU, 市场部, IT部也各有一个. 这些OU包括各自部门内所有的计算机, 用户, 打印机等等, 还可能在每一个OU上应用有不同的管理策略
如果你想做如下的事情时, 请考虑创建OU来帮助你.
- 反映出域中的公司组织和结构. 没有OU的话, 所有的用户都被保持和陈列在一个单独的列表中, 这个列表就是User容器, 这样的列表容器根本不会理睬用户的部门, 位置, 和角色什么的信息.
- 将网络资源的管理权代理出去, 同时还保有管理他们的能力. 你可以将OU水平的管理权限赋予某些用户和组.
- 调整并适应公司潜在的组织结构的变化. 用户可以很容易地在OU之间传递, 相比较而言, 在域当中的用户迁移基本都需要更多的时间和精力.
- 将对象分组, 并允许管理员更容易地定位相似的网络资源, 并执行管理任务. 比如说, 所有的临时雇员的用户账户可以被放入一个OU当中.
- 限制在Active Directory中网络资源的可见度. 用户只能看到允许他们访问的对象.
什么是Domain
==================
Domain是Active Directory中逻辑结构的一个核心单位. 将对象分组到一个或多个domain能够让一个公司的组织架构在网络上反映出来.
所有的网络对象都存在于域中, 并且每一个域都只存储它包含的对象的信息, 也就是属于这个域的对象的信息.
域边界包含那些访问被Access Control Lists(ACL)限制了的对象, 这些对象是通过Access Control Entries构成的. 所有的安全策略和配置, 比如说管理权限, 安全策略, 还有Access Control Lists(ACL), 都不会越界应用到另一个domain上, 从而域管理员拥有设置只在他所属域生效的策略的绝对权限.
domain提供了如下三种功能:
- 对象的管理边界.
- 管理共享资源的安全配置的途经.
- 对象复制的单元.
注意domain是Active Directory的三个分区的一部分, 其他的两个分区是Schema和Configuration. Forest中的所有domain组成了Active Directory.
什么是Tree
=================
Tree是Windows 2000/2003 域中, 一个分组的, 层次化的整理单元, 它允许了全局资源的共享. 一个tree可以有一个单独的windows 2000域组成, 也可以由连续命名空间的多个域组成.
你可以通过把一个等级结构中的多个域连结起来创建更大的tree(连续的命名空间), 因为所有的在一个tree中的域共享一个相同的命名空间和一个层次化的命名结构. 跟从命名约定, 一个子域的名字是由子域自己的名字和父域的名字拼合而成的.
比如说, 如果tailspintoy.com是根域, 你可以创建一个或多个tailspintoys.com的子域, 例如, na.tailspintoys.com或者asia.tailspintoys.com. 这些"孩子"还可以在他们下面再添加更多的孩子, 比如sales.asia.tailspintoys.com
一个tree里的domain连结在一起的方式是一种双向的, 透明的, Kerberos过渡信任关系. Kerberos过渡信任关系的意思很简单, 意味着如果Domain A信任Domain B, 并且Domain B信任Domain C, 那么Domain A信任Domain C. 这样, 一个加入tree的domain就马上与tree中所有的其他domain建立起了信任关系.
相同Forest中分开的Tree们也会共享一种可过渡的信任关系, 即使他们的命名空间并不处于一种层级关系之中. 举个例子, 如果两个域分别叫做tailspintoys.com 和nwtraders.com, 并且两个domain都属于同一个Forest, 他们也会共享一个自动建立起来的可过渡的信任(transitive trust).
什么是Forest
=================
forest是一个一棵或多棵tree的一个组. 如同上面我们的tailspintoys.com和nwtraders.com的例子说明的一样, 这两个中的任何一个都是一个我们forest中的tree, 即使他们的命名约定并不相关. tree是有一个还是由多个domain组成, 跟tree和forest之间的关系无关.
Forest允许组织机构能够将不同的有可能需要独立操作的单位部门分到一个组中来管理, 而不需要相同的命名方案(naming scheme), 但是整个组织机构还是需要通过可过渡的信任关系(transitive trust)来互相沟通, 来共享相同的方案(schema)和配置容器.
Forest中的第一个domain叫做forest root domain. 这个domain的名字代表着forest, 比如说nwtraders.msft. 默认情况下, Active Directory的信息只在forest内共享. 通过这种方式, forest就成为了Active Directory中所包含信息的一个安全边界.
Tree和Forest有什么不同
=================
总结一下Tree和Forest的不同吧.
在Active Directory中, tree是由下面来定义的:
- 拥有连续命名空间的域的层级组织
- 不同domain之间可过渡的Kerberos信任关系
而forest是由下面来定义的:
- 一个或更多的tree的集合
- 一个通用的schema
- 一个能够列出forest中所有对象的全局的目录