Active Directory's ComponentsThe main components of Active Directory were designed to be highly configurable and secure. Active Directory and all it contains are physically located in a database file but are composed of a wide assortment of objects and their attributes. Many of these characteristics are familiar to those acquainted with other directory services products, but there are some new additions as well. Understanding Active Directory's X.500 RootsActive Directory loosely follows, but does not exactly conform to, the X.500 directory services information model. In a nutshell, X.500 defines a directory service through a distributed approach defined by a Directory Information Tree (DIT). This logically divides a directory service structure into the now familiar servername.subdomainname.domainname.com layout. In X.500, directory information is stored across the hierarchical layout in what are called Directory System Agents (DSAs). Microsoft designed Active Directory around many of the basic principles of the X.500 definition, but AD itself is not compatible with X.500 implementations, as X.500 follows an OSI model that is inefficient under the TCP/IP implementation that Active Directory follows. The AD SchemaThe Active Directory schema is a set of definitions for all object types in the directory and their related attributes. The schema determines the way that all user, computer, and other object data are stored in AD and configured to be standard across the entire Active Directory structure. Secured by the use of Discretionary Access Control Lists (DACLs), the schema controls the possible attributes to each object within Active Directory. In a nutshell, the schema is the basic definition of the directory itself and is central to the functionality of a domain environment. Care should be taken to delegate schema control to a highly selective group of administrators because schema modification affects the entire AD environment. Schema ObjectsObjects within the Active Directory structure such as Users, Printers, Computers, and Sites are defined in the schema as objects. Each object has a list of attributes that define it and that can be used to search for that object. For example, a User object for the employee named Weyland Wong will have a FirstName attribute of Weyland and a LastName attribute of Wong. In addition, there may be other attributes assigned, such as departmental name, email address, and an entire range of possibilities. Users looking up information in Active Directory can make queries based on this information, for example, searching for all users in the Sales department. Extending the SchemaOne of the major advantages to the Active Directory structure is the ability to directly modify and extend the schema to provide for custom attributes. A common attribute extension occurs with the installation of Microsoft Exchange Server, which extends the schema, more than doubling it in size. An upgrade from Windows 2000 Active Directory to Windows Server 2003 Active Directory also extends the schema to include attributes specific to Windows Server 2003. Many third-party products have their own schema extensions as well, each providing for different types of directory information to be displayed. Performing Schema Modifications Using the ADSIEdit ToolAn interesting method of actually viewing the nuts and bolts of the Active Directory schema is by using the Active Directory Service Interfaces (ADSIEdit) utility. This utility was developed to simplify access to the Active Directory and can also view any compatible foreign LDAP directory. The ADSI utility, shown in Figure 4.4, enables an administrator to view, delete, and modify schema attributes. Great care should be taken before schema modifications are undertaken because problems in the schema can be difficult to fix. Figure 4.4. Viewing and editing the Active Directory schema using the ADSI edit utility.Lightweight Directory Access ProtocolThe Directory Service Protocol that is utilized by Active Directory is based on the Internet-standard Lightweight Directory Access Protocol (LDAP) defined by RFC-1777. LDAP allows queries and updates to take place in Active Directory. Objects in an LDAP-compliant directory must be uniquely identified by a naming path to the object. These naming paths take two forms: distinguished names and relative distinguished names. Distinguished Names in ADThe distinguished name of an object in Active Directory is represented by the entire naming path that the object occupies in Active Directory. For example, the user named Kathi Honnegger can be represented by the following distinguished name: CN=Kathi Honnegger,OU=Marketing,DC=COMPANYABC,DC=COM The CN component of the distinguished name is the common name, which defines an object within the directory. The OU portion is the organizational unit in which the object belongs. The DC components define the DNS name of the Active Directory domain. Relative Distinguished NamesThe relative distinguished name of an object is basically a truncated distinguished name that defines the object's place within a set container. For example, take a look at the following object: OU=Marketing,DC=COMPANYABC,DC=COM This object would have a relative distinguished name of OU=Marketing. The relative distinguished name in this case defines itself as an organizational unit within its current domain container. Multi-Master Replication with AD Domain ControllersAs in NT 4.0, Active Directory uses domain controllers (DCs) to authenticate users. However, the primary domain controllers and backup domain controllers (BDCs) have been replaced with the concept of multiple domain controllers that each contain a master read/write copy of domain information. Changes that are made on any domain controller within the environment are replicated to all other domain controllers in what is known as multi-master replication. Global Catalog and Global Catalog ServersThe global catalog is an index of the Active Directory database that contains a partial copy of its contents. All objects within the AD tree are referenced within the global catalog, which allows users to search for objects located in other domains. Not every attribute of each object is replicated to the global catalogs, only those attributes that are commonly used in search operations, such as first name, last name, and so on. Global catalog servers, commonly referred to as GCs or GC/DCs, are Active Directory domain controllers that contain a copy of the global catalog. It is wise to either locate a minimum of one global catalog server in each physical location or utilize Global Catalog Caching in remote sites as the global catalog must be referenced often by clients and the traffic across slower WAN links would limit this traffic. In addition, technologies such as Microsoft Exchange Server need fast access to global catalog servers for all user transactions, making it very important to have a global catalog server nearby. Often, a larger organization will employ the use of multiple domain controllers and multiple global catalog servers in each large location, which distributes load, provides redundancy, and locates resources where they are needed. Choosing the right blend of global catalog servers and domain controllers is vital to the proper functionality of your Active Directory environment. Operations Master (OM) RolesMost domain controller functionality in Windows 2000 and Windows Server 2003 was designed to be distributed, multi-master-based. This effectively eliminated the single point of failure that was present with Windows NT PDCs. However, five functions still require the use of a single server because their functionality makes it impossible to follow a distributed approach. These Operations Master (OM, also known as Flexible Single Master Operations, or FSMO) roles are outlined as follows:
Transfer of an OM role to another domain controller, whether in a disaster recovery situation or simply for design purposes, is accomplished through two methods. The first involves using the Change Schema Master function of the Active Directory schema snap-in. In disaster recovery situations in which the schema master, domain naming master, or RID master has gone down and no backup is available, however, the OM roles can be seized through the use of a command-line tool called ntdsutil, shown in Figure 4.5. Keep in mind that you should use this utility only in emergency situations and should never bring the old OM server back online into the domain at risk of some serious system conflicts. Domain maintenance and recovery are covered in Chapters 22, "Windows Server 2003 Management and Maintenance Practices," and 33, "Recovering from a Disaster." Figure 4.5. Viewing the ntdsutil utility for Active Directory management. |