Overview of the Role of Active Directory in Secure Access

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2, Windows Server 2008, Windows Server 2008 R2

To provide a secure network computing environment, Windows requires verification of every user’s identity before it allows access to network resources. The process of verifying the identity of users, also known as authentication, is part of the logon process. The process of granting or denying access to a resource, also known as authorization, occurs when network users attempt to connect to servers and other network devices. Active Directory is the store for authentication and authorization data, and it is also the distributed service that manages the use of this data.

Authentication: Identifying Network Users

During the network logon process, all entities that can connect to network resources must identify themselves to the security system on a domain controller, which authenticates their identity by verifying their credentials against identification data that is stored in Active Directory. Active Directory stores security-related identity information for network users in the form of an account object. The system generates a unique security identifier (SID) for every account object that can be authenticated or authorized for access to resources. A SID is a value that uniquely identifies a user, group, or computer account within an Active Directory forest. Access control mechanisms in Windows networks identify security principals by SID rather than by name. Every SID contains the identifier of the domain in which the account object resides.

Objects that have a SID are known as security principals. The following types of objects act as security principals:

  • User: a person or a service that requires user credentials

  • Computer: a workstation or server that is running a version of Windows other than Microsoft® Windows® 95, Windows 98, or Windows Millennium Edition

  • Group: a set of users, computers, or other groups

Authorization: Allowing Access to Network Resources

Authorization, also known as access control, is the process of determining the level of access that is allowed to an Active Directory object or file system object. After Active Directory confirms the identity of the user, the security system on the authenticating domain controller generates partial authorization data in the form of the user’s primary SID, plus SIDs for groups to which the user belongs that are recognized by all the resources on the Windows network. The remainder of the authorization data is generated at the time that the user requests access to a specific network resource, such as a server, file share, or directory object. The authorization data is used by the computer that houses the network resource to generate an access token. The access token is used to determine the level of access that the user has to the network resource.

The access token contains the following:

  • The list of SIDs that represent the user

  • All groups (including nested groups) of which the user is a member

  • The user's privileges (also called user rights) on the local computer

All objects or resources that are secured have a discretionary access control list (DACL) assigned to them that specifies the access rights of users and groups on that resource. Access to one of these objects or resources is controlled by an access check, in which the security system determines whether the requested access should be granted or denied by evaluating the contents of the access token of the requester against the DACL on the resource.