By default, the Microsoft® Windows® 2000 operating system uses the Kerberos protocol for authentication. This How To describes how to configure Kerberos delegation, a powerful feature that allows a server, while impersonating a client, to access remote resources on behalf of the client.
Delegation is a very powerful feature and is unconstrained on Windows 2000. It should be used with caution. Computers that are configured to support delegation should be under controlled access to prevent misuse of this feature.
Windows .NET Server will support a constrained delegation feature.
When a server impersonates a client, Kerberos authentication generates a delegate-level token (capable of being used to respond to network authentication challenges from remote computers) if the following conditions are met:
The client account that is being impersonated is not marked as sensitive and cannot be delegated in Microsoft Active Directory® directory service.
The server process account (the user account under which the server process is running, or the computer account if the process is running under the local SYSTEM account) is marked as trusted for delegation in Active Directory.
For Kerberos delegation to be successful, all computers (clients and servers) must be part of a single Active Directory forest.
If you impersonate within serviced components and want to flow the callers context through an Enterprise Services application, the application server that hosts Enterprise Services must have Hotfix Rollup 18.1 or greater.
For more information, see INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.1.
The following items describe the recommended hardware, software, network infrastructure, skills and knowledge and service packs you will need: Windows 2000 Server with Active Directory.
This How To includes the following procedures:
This procedure ensures that the client account is capable of being delegated.
▸ To confirm that the client account is configured for delegation
Log onto the domain controller using an administrator account.
On the taskbar, click the Start button, point to Programs, point to Administrative Tools, and then click Active Directory Users and Computers.
Under your domain, click the Users folder.
Right-click the user account that is to be delegated, and then click Properties.
Click the Account tab.
Within the Account options list, make sure Account is sensitive and cannot be delegated is not selected.
Click OK to close the Properties dialog box.
This procedure ensures that the account used to run the server process (the process that performs impersonation) is allowed to delegate client accounts. You must configure the user account under which the server process runs, or if the process runs under the local SYSTEM account, you must configure the computer account. Perform the appropriate procedure that follows, depending on if your server process runs under a Windows account or a local SYSTEM account.
▸ To confirm that the server process account is trusted for delegation if the server process runs under a Windows user account
Within the Users folder of Active Directory Users and Computers, right-click the user account that is used to run the server process that will impersonate the client, and then click Properties.
Click the Account tab.
Within the Account options list, click Account is trusted for delegation.
▸ To confirm that the server process account is trusted for delegation if the server process runs under the local SYSTEM account
For a list of the files that are affected by the Windows 2000 Post-Service Pack 2 (SP2) COM+ hotfix package 18.1, see article Q313582, "INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.1," in the Microsoft Knowledge Base.
To see how to configure a complete delegation scenario, involving ASP.NET, Enterprise Services and SQL Server, see "Flowing the Original Caller to the Database" in Chapter 5.