<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Using ADFS with Constrained Delegation</title><link>http://blogs.technet.com/adfs/archive/2008/05/13/using-adfs-with-constrained-delegation.aspx</link><description>With ADFS - the authentication token issued is good for the web server with the agent installed. It is a local RPC token and cannot go off the box. With some additional configuration, you can configure ADFS to go off the box and delegate with a kerbitized</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Using ADFS with Constrained Delegation</title><link>http://blogs.technet.com/adfs/archive/2008/05/13/using-adfs-with-constrained-delegation.aspx#3086175</link><pubDate>Wed, 09 Jul 2008 16:57:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3086175</guid><dc:creator>icts-kul</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I was having trouble setting up the scenario you described above. I performed all the configuration steps you listed, but when I logged into the webapplication, it displayed:&lt;/p&gt;
&lt;p&gt;User: ADFSRESOURCE\IUSR_ADFSRESOURCE&lt;/p&gt;
&lt;p&gt;When I pushed the button to initiate the LDAP query I got &amp;nbsp;an Error saying:&lt;/p&gt;
&lt;p&gt;Exception Details: System.Runtime.InteropServices.COMException: The specified domain either does not exist or could not be contacted.&lt;/p&gt;
&lt;p&gt;Line 41: string ADsPath = &amp;quot;LDAP://CN=Users,&amp;quot; + (string)rootDSE.Properties[&amp;quot;defaultNamingContext&amp;quot;][0];&lt;/p&gt;
&lt;p&gt;The creation of the rootDSE object failed, probably due to some authorization failure.&lt;/p&gt;
&lt;p&gt;Luckily I found the solution to this problem, so I thought to share it with you.&lt;/p&gt;
&lt;p&gt;First I'll describe the errors I encountered.&lt;/p&gt;
&lt;p&gt;The eventviewer listed the following warnings:&lt;/p&gt;
&lt;p&gt;1. Application event:&lt;/p&gt;
&lt;p&gt;Event Type:	Warning&lt;/p&gt;
&lt;p&gt;Event Source:	ADFS ISAPI Extension&lt;/p&gt;
&lt;p&gt;Event Category:	None&lt;/p&gt;
&lt;p&gt;Event ID:	107&lt;/p&gt;
&lt;p&gt;Date:		9/07/2008&lt;/p&gt;
&lt;p&gt;Time:		12:35:12&lt;/p&gt;
&lt;p&gt;User:		N/A&lt;/p&gt;
&lt;p&gt;Computer:	ADFSRESOURCE&lt;/p&gt;
&lt;p&gt;Description:&lt;/p&gt;
&lt;p&gt;The ADFS Web Agent Internet Server Application Programming Interface (ISAPI) Extension was unable to obtain a Windows NT token from the authentication service. &lt;/p&gt;
&lt;p&gt;An anonymous token will be generated for this request. &lt;/p&gt;
&lt;p&gt;User Action &lt;/p&gt;
&lt;p&gt;Ensure that this application is configured as a Windows NT token-based application in the Federation Service trust policy. &lt;/p&gt;
&lt;p&gt;If the user comes from an account partner where Windows Trust may be applicable, ensure that Windows Trust is enabled for the account partner and that the account partner has enabled Windows Trust for this resource partner. &lt;/p&gt;
&lt;p&gt;If you are using shadow accounts: &lt;/p&gt;
&lt;p&gt; - Ensure that a shadow account exists for this user. &lt;/p&gt;
&lt;p&gt; - Ensure that user principal name (UPN) claims or e-mail claims are enabled for this application. &lt;/p&gt;
&lt;p&gt; - Ensure that UPN claims or e-mail claims are being produced for this user by the account store or the account partner. &lt;/p&gt;
&lt;p&gt;Additional Data &lt;/p&gt;
&lt;p&gt;Look for additional events in the security log that may contain more details. Consider enabling failure auditing on this Web server if auditing is not already enabled.&lt;/p&gt;
&lt;p&gt;2. Security event:&lt;/p&gt;
&lt;p&gt;Event Type:	Failure Audit&lt;/p&gt;
&lt;p&gt;Event Source:	Security&lt;/p&gt;
&lt;p&gt;Event Category:	Logon/Logoff &lt;/p&gt;
&lt;p&gt;Event ID:	529&lt;/p&gt;
&lt;p&gt;Date:		9/07/2008&lt;/p&gt;
&lt;p&gt;Time:		12:35:12&lt;/p&gt;
&lt;p&gt;User:		NT AUTHORITY\SYSTEM&lt;/p&gt;
&lt;p&gt;Computer:	ADFSRESOURCE&lt;/p&gt;
&lt;p&gt;Description:&lt;/p&gt;
&lt;p&gt;Logon Failure:&lt;/p&gt;
&lt;p&gt; 	Reason:		Unknown user name or bad password&lt;/p&gt;
&lt;p&gt; 	User Name:	&lt;/p&gt;
&lt;p&gt; 	Domain:		&lt;/p&gt;
&lt;p&gt; 	Logon Type:	3&lt;/p&gt;
&lt;p&gt; 	Logon Process:	&lt;/p&gt;
&lt;p&gt; 	Authentication Package:	Kerberos&lt;/p&gt;
&lt;p&gt; 	Workstation Name:	ADFSRESOURCE&lt;/p&gt;
&lt;p&gt; 	Caller User Name:	ifs_account&lt;/p&gt;
&lt;p&gt; 	Caller Domain:	TREYRESEARCH&lt;/p&gt;
&lt;p&gt; 	Caller Logon ID:	(0x0,0x10610786)&lt;/p&gt;
&lt;p&gt; 	Caller Process ID:	12700&lt;/p&gt;
&lt;p&gt; 	Transited Services:	-&lt;/p&gt;
&lt;p&gt; 	Source Network Address:	-&lt;/p&gt;
&lt;p&gt; 	Source Port:	-&lt;/p&gt;
&lt;p&gt;When I sniffed the network for kerberos traffic towards the KDC, I found the following:&lt;/p&gt;
&lt;p&gt;AS-REQ (Client Name: adamcar@adatum.com)&lt;/p&gt;
&lt;p&gt;-&amp;gt; KRB Error: KRB5KDC_ERR_PREAUTH_REQUIRED (25)&lt;/p&gt;
&lt;p&gt;TGS-REQ (S4U2SELF client name: adamcar@adatum.com; Server Name: ifs_account@treyresearch.net)&lt;/p&gt;
&lt;p&gt;-&amp;gt; KRB Error: KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN (6)&lt;/p&gt;
&lt;p&gt;Apparently the service/computer account that runs the ADFS webagent must have read access on the TGGAU attribute of all users objects in the domain in order to obtain an NT token for the user using Kerberos S4U. (related KB: &lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/kb/331951"&gt;http://support.microsoft.com/kb/331951&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;After the ifs_account and the webservice have read permission on the TGGAU properties, through the 'Builtin\Windows authorization access' group membership, the problem was solved.&lt;/p&gt;
&lt;p&gt;It would be great if the solution is added to the event description of event 107 mentioned above, because it took me quite a while to figure this one out.&lt;/p&gt;
</description></item></channel></rss>