Configuring Delegation

Delegation is a process by which a server (in this case IIS) can send the user's credentials to another back-end server (for example, to a back-end SQL Server or file server). This may be useful in situations in which the user's credentials should be checked against the access control list (ACL) maintained by the back-end server.

Configuring delegation can be difficult because what's required to be configured depends on what authentication mechanism the client is using. The following table summarizes the major implications:

Authentication Mechanism User Account Used by IIS Delegation Configuration
Anonymous IUSR for non-ASP.NET content. Application pool identity (Network Service) for ASP.NET content. machinename$ account used to access back-end services.
Basic End user for non-ASP.NET content. Application pool identity (Network Service) for ASP.NET content. IIS has user's username and password in cleartext. Can log on directly as the end user for remote content. Enable Impersonation for ASP.NET to have .NET access back-end resources as the end user.
Digest, NTLM End user for non-ASP.NET content. Application pool identity (Network Service) for ASP.NET content. IIS does not have user's password. Cannot access back-end resources (except as machinename$) unless protocol transition is configured.
Kerberos End user for non-ASP.NET content. Application pool identity (Network Service) for ASP.NET content. Can access back-end content as end user if Kerberos ...

Get Professional Microsoft IIS 8 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.