<?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>Dmitrii blog : Windows Server 2008</title><link>http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx</link><description>Tags: Windows Server 2008</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Claim Based Authentication IV</title><link>http://blogs.technet.com/dmitrii/archive/2009/10/04/claim-based-authentication-iv.aspx</link><pubDate>Mon, 05 Oct 2009 05:14:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284768</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/3284768.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=3284768</wfw:commentRss><description>&lt;p&gt;In previous three posts we examined how claim authentication flow works for users in the same domain as SharePoint site and for users from other organizations. As we have seen, the value for Role claim was based on the Active Directory group membership. For instance, Frank Miller from Fabrikam was given role of DrugTrial1Auditors in Contoso SharePoint site because he was member of DrugTrial1Auditors AD group in Fabrikom.com domain. With current configuration Contoso has no say which users from Fabrikam have DrugTrial1Auditors role on Contoso SharePoint site. Contoso trusts Fabrikam administrators to ensure that only authorized employees for DrugfTrial1Auditors belong to the Fabrikam DrugTrial1Auditors group. This can be perfect in some situations, but sometimes it might be not the best solution. What if Contoso wants to control what type of access users from Fabrikam should have to the Contoso SharePoint site, but at the same time they do not want to manage or create accounts for Fabrikam users? There is a great solution for it and step 8 in the demonstration shows a sample on how we can use SQL server database as source for external attributes for claim values. Figure 1 shows example tables for this solution.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1. External data source for user information&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 5px 40px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.technet.com/blogfiles/dmitrii/WindowsLiveWriter/ClaimBasedAuthenticationIV_224/image_3.png" width="665" height="455" /&gt; &lt;/p&gt;  &lt;p&gt;Table dbo.TS contains information about which SharePoint site belongs to which drug trial.&lt;/p&gt;  &lt;p&gt;Table dbo.URT contains a list of e-mail addresses of users, the role that they have, and the drug trial that they belong to.&lt;/p&gt;  &lt;p&gt;Table dbo.RS maps the roles in the database to the roles in the Contoso SharePoint site.&lt;/p&gt;  &lt;p&gt;To accommodate data in these tables we had to modify SharePoint site. It was reconfigured with new roles: Role#sp_admin and Role#sp_visitor. DrugTrial1Auditor role and DrugTrial1Admin role were removed from the portal. Also, new datasource was added: “HOL Doctors Role” database.&lt;/p&gt;  &lt;p&gt;Three new rules were created on the Contoso SharePoint RP. Each rule is using one of the database tables. Check out this site for ADFS v2 rule language format:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/library/dd807118(WS.10).aspx" href="http://technet.microsoft.com/en-us/library/dd807118(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd807118(WS.10).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The first rule check which trial the https://docs.contoso.com/ site belongs to:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000a0"&gt;&lt;em&gt;=&amp;gt; add(store = &amp;quot;HOL Doctors Role&amp;quot;, types = (&amp;quot;&lt;/em&gt;&lt;em&gt;http://schemas.microsoft.com/ws/2008/06/identity/claims/trial&amp;quot;)&lt;/em&gt;&lt;em&gt;, query = &amp;quot;select trial from dbo.TS where dbo.TS.SharePointSite = {0}&amp;quot;, param = &amp;quot;&lt;/em&gt;&lt;em&gt;https://docs.contoso.com/&amp;quot;);&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;In second rule, we use the previously queried trial information with the user’s e-mail address and discover which role the user belongs to:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;c1:[Type == &amp;quot;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress&amp;quot;]        &lt;br /&gt;&amp;amp;&amp;amp; c2:[Type == &amp;quot;http://schemas.microsoft.com/ws/2008/06/identity/claims/trial&amp;quot;]         &lt;br /&gt;=&amp;gt; add(store = &amp;quot;HOL Doctors Role&amp;quot;, types = (&amp;quot;http://schemas.microsoft.com/ws/2008/06/identity/claims/incomingtrialrole&amp;quot;), query = &amp;quot;select role from dbo.URT where dbo.URT.Trial = {1} and dbo.URT.UserName={0}&amp;quot;, param = c1.Value, param = c2.Value); &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In the third rule, we use a previously queried role claim to query the SharePoint role claim and assign the value to the outgoing role claim:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;c:[Type == &amp;quot;http://schemas.microsoft.com/ws/2008/06/identity/claims/incomingtrialrole&amp;quot;]        &lt;br /&gt;=&amp;gt; issue(store = &amp;quot;HOL Doctors Role&amp;quot;, types = (&amp;quot;http://schemas.microsoft.com/ws/2008/06/identity/claims/role&amp;quot;), query = &amp;quot;select dbo.RS.SharePointGroup from dbo.RS where dbo.RS.Role = {0}&amp;quot;, param = c.Value); &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Lets take a look at how claim flow will work in this new configuration.&amp;#160; Figure 2 shows slightly modified flow of authentication to Contoso SharePoint site from Fabrikam user.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2. Authentication by Fabrikam user to Contoso SharePoint site&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 5px 40px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.technet.com/blogfiles/dmitrii/WindowsLiveWriter/ClaimBasedAuthenticationIV_224/image_6.png" width="610" height="539" /&gt; &lt;/p&gt;  &lt;p&gt;Fabrikam user Frank Miller will access Contoso SharePoint site. &lt;/p&gt;  &lt;p&gt;In step 1, Frank opens his browser and opens https://docs.contoso.com site. SharePoint site will provide its policy information a redirect Franks browser to a trusted STS. &lt;/p&gt;  &lt;p&gt;In step 2, Franks browser will access https://sts1.contoso.com and reads its policy. At this point Frank must select his home realm. If Information Card was already configured in Fabrikam forest for Contoso SharePoint site, the home realm discovery would automatically redirect his browser to his home STS. Without Information Card, he would be required to choose his STS server in the drop down list. At this point no claims yet have been exchanged and all authentication been done via anonymous authentication mechanism.&lt;/p&gt;  &lt;p&gt;In step 3, Franks computer will authenticate to the STS. Since our STS is running on the same computer as Domain Controller, it is already authenticated to it, so it just presents existing Kerberos ticket, which will have all required information in it, such as list of groups this user belongs to (list of SIDs of those groups).&lt;/p&gt;  &lt;p&gt;In step 4, Fabrikam STS will create and process new claim for Frank Miller. The first rule will create the following claim:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors          &lt;br /&gt;Purchaser           &lt;br /&gt;Domain Users&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Next, it will pass this claim onto second and 3rd rules. Second rule allows to pass all claims with any E-Mail Address. 3rd rule will check value of the Role claim type and it will discard 2 values out of this claim. The final outgoing claim from Fabrikam STS for user Frank Miller should have the following information:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="402"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;In step 5 this claim is delivered back to Franks computer.&lt;/p&gt;  &lt;p&gt;So now Frank has his claim from Fabrikam STS. Can he present this claim to Contoso SharePoint site? It would not work because Contoso SharePoint site does not trust Fabrikam STS, it only trusts Contoso STS and it would accept claims only from Contoso STS.&lt;/p&gt;  &lt;p&gt;In step 6, Franks computer will deliver his claim to Contoso STS.&lt;/p&gt;  &lt;p&gt;Now it is up to Contoso STS to evaluate incoming claim and decide what to do with it. In steps 7, 8 and 9 Contoso STS receives incoming claim from Fabrikam STS and it will pass it onto Fabrikam IDP rule set configured on Contoso STS. If you remember, those rules will evaluate incoming claim values and will pass claims only if their E-Mail Address value ends with @fabrikam.com and its role value is equal to DrugTrial1Users. Incoming claim from Frank satisfies both criteria. At this point Contoso STS accepted incoming claim, it is not going back out yet to the user computer. The value of this claim should be the same as it came in:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="402"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Next, it will pass this claim onto Relying party rule set to create outgoing claim suitable for the SharePoint. Now Contoso SharePoint RP is configured with five rules for incoming claims. First one will pass Role claim type without any changes to its Role type. Second rule is a transformation rule. It will change the E-mail Address claim type to Name claim type, but will keep its value the same. The 3rd rule will identify that DrugTrial1 trial belongs to https://docs.contoso.com site. The forth rule will identify that Frank has Admin role in DrugTrial1 trial. And finally, the fifth rule will identify that Admin for DrugTrial1 mapped to sp_admin role in SharePoint site.&lt;/p&gt;  &lt;p&gt;The final claim for Frank Miller, coming out from Contoso STS destined for SharePoint RP should look like this:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="402"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;sp_admin&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;OK, to recoup, lets compare claim originated at Fabriakm STS and final claim delivered to Contoso SharePoint:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.technet.com/blogfiles/dmitrii/WindowsLiveWriter/ClaimBasedAuthenticationIV_224/image_7.png" width="698" height="159" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284768" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Federation/default.aspx">Federation</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Claims+Based+Authentication/default.aspx">Claims Based Authentication</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Claims Based Authentication – Part III</title><link>http://blogs.technet.com/dmitrii/archive/2009/10/03/claims-based-authentication-part-iii.aspx</link><pubDate>Sat, 03 Oct 2009 17:06:46 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284694</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/3284694.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=3284694</wfw:commentRss><description>&lt;p&gt;This is continuation of two previous posts. Please check them out first, otherwise this one might not make much sense at all.&lt;/p&gt;  &lt;p&gt;Step 6 in step-step guide configures Fabrikam STS with Relying Party and shows how to configure Information Cards to automate home realm discovery. I’m not going to talk about Information Cards yet, for now we stick with STS configuration and claims flow.&lt;/p&gt;  &lt;p&gt;Afetr the RP for Contoso STS was created we configured three claim rules. The first rule is using AD as the directory source. It should be easy to predict the mappings in this rule. Just take a look back at how Fabrikam IDP on Contoso STS was configured.&amp;#160; It expects certain type of incoming claims. This rule has the following mappings:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;LDAP Attribute&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;mail&lt;/td&gt;        &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;tokenGroups&lt;/td&gt;        &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This could be configured to just send this claim out to the relying party, but it was not. Fabrikam STS Administrator decided to provide some extra checks and only send out claims that match certain criteria.&lt;/p&gt;  &lt;p&gt;The following table shows two new rules:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="1137"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="30"&gt;&lt;strong&gt;Rule #&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&lt;strong&gt;Rule Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="103"&gt;&lt;strong&gt;Incoming Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&lt;strong&gt;Pass Through All Claim Values&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="214"&gt;&lt;strong&gt;Pass Through only a specific Claim Value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="256"&gt;&lt;strong&gt;Pass through only claim values that end in a specific value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="222"&gt;&lt;strong&gt;Pass through only claims that start with specific value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="30"&gt;1&lt;/td&gt;        &lt;td valign="top" width="155"&gt;Pass Through Incoming Claim&lt;/td&gt;        &lt;td valign="top" width="103"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="155"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="214"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="256"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="222"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="30"&gt;2&lt;/td&gt;        &lt;td valign="top" width="155"&gt;Pass Through Incoming Claim&lt;/td&gt;        &lt;td valign="top" width="103"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="214"&gt;DrugTrial1Auditors&lt;/td&gt;        &lt;td valign="top" width="256"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="222"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;The first rule will pass any E-Mail Address claim, but the second rule will filter out all claims that do not have DrugTrial1Auditors in its value.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;At this point users from Fabrikam are ready to access Contoso SharePoint site. &lt;/p&gt;  &lt;p&gt;What is the single qualifying requirement for Fabrikam user to get access to the Contoso site? Fabrikam user must be member of DrugTrial1Auditors Active Directory group. &lt;/p&gt;  &lt;p&gt;Lets examine the entire authentication flow for Fabrikam user. Figure 1 provides steps in this process.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1. Authentication by Fabrikam user to Contoso SharePoint site&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 5px 40px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.technet.com/blogfiles/dmitrii/WindowsLiveWriter/ClaimsBasedAuthenticationPartIII_D2B6/image_3.png" width="607" height="533" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Fabrikam user Frank Miller will access Contoso SharePoint site. &lt;/p&gt;  &lt;p&gt;In step 1, Frank opens his browser and opens &lt;a href="https://docs.contoso.com"&gt;https://docs.contoso.com&lt;/a&gt; site. SharePoint site will provide its policy information a redirect Franks browser to a trusted STS. &lt;/p&gt;  &lt;p&gt;In step 2, Franks browser will access &lt;a href="https://sts1.contoso.com"&gt;https://sts1.contoso.com&lt;/a&gt; and reads its policy. At this point Frank must select his home realm. If Information Card was already configured in Fabrikam forest for Contoso SharePoint site, the home realm discovery would automatically redirect his browser to his home STS. Without Information Card, he would be required to choose his STS server in the drop down list. At this point no claims yet have been exchanged and all authentication been done via anonymous authentication mechanism.&lt;/p&gt;  &lt;p&gt;In step 3, Franks computer will authenticate to the STS. Since our STS is running on the same computer as Domain Controller, it is already authenticated to it, so it just presents existing Kerberos ticket, which will have all required information in it, such as list of groups this user belongs to (list of SIDs of those groups).&lt;/p&gt;  &lt;p&gt;In step 4, Fabrikam STS will create and process new claim for Frank Miller. The first rule will create the following claim:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors         &lt;br /&gt;Purchaser          &lt;br /&gt;Domain Users&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Next, it will pass this claim onto second and 3rd rules. Second rule allows to pass all claims with any E-Mail Address. 3rd rule will check value of the Role claim type and it will discard 2 values out of this claim. The final outgoing claim from Fabrikam STS for user Frank Miller should have the following information:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="402"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;In step 5 this claim is delivered back to Franks computer.&lt;/p&gt;  &lt;p&gt;So now Frank has his claim from Fabrikam STS. Can he present this claim to Contoso SharePoint site? It would not work because Contoso SharePoint site does not trust Fabrikam STS, it only trusts Contoso STS and it would accept claims only from Contoso STS.&lt;/p&gt;  &lt;p&gt;In step 6, Franks computer will deliver his claim to Contoso STS.&lt;/p&gt;  &lt;p&gt;Now it is up to Contoso STS to evaluate incoming claim and decide what to do with it. In step 7, Contoso STS receives incoming claim from Fabrikam STS and it will pass it onto Fabrikam IDP rule set configured on Contoso STS. If you remember, those rules will evaluate incoming claim values and will pass claims only if their E-Mail Address value ends with @fabrikam.com and its role value is equal to DrugTrial1Users. Incoming claim from Frank satisfies both criteria. At this point Contoso STS accepted incoming claim, it is not going back out yet to the user computer. The value of this claim should be the same:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="402"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Next, it will pass this claim onto Relying party rule set to create outgoing claim suitable for the SharePoint. Contoso SharePoint RP is configured with two rules for incoming claims. First one will pass Role claim type without any changes to its Role type. Second rule is a transformation rule. It will change the E-mail Address claim type to Name claim type, but will keep its value the same.&lt;/p&gt;  &lt;p&gt;The final claim for Frank Miller, coming out from Contoso STS destined for SharePoint RP should look like this:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="402"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;        &lt;td valign="top" width="200"&gt;frankm@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In step 8, this claim is send back to Franks computer, in step 9 it is delivered to Contoso SharePoint site. SharePoint site will authenticate Frank Miller (frankm@fabrikam.com) at gives him appropriate rights configured for Role#DrugTrial1Auditors. Just like that simple and easy.&lt;/p&gt;  &lt;p&gt;In next post we’ll look at how role membership information can be outsourced to SQL database.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284694" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Federation/default.aspx">Federation</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Claims+Based+Authentication/default.aspx">Claims Based Authentication</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Claims based Authentication – Part II</title><link>http://blogs.technet.com/dmitrii/archive/2009/10/02/claims-based-authentication-part-ii.aspx</link><pubDate>Fri, 02 Oct 2009 19:07:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284604</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/3284604.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=3284604</wfw:commentRss><description>&lt;p&gt;In previous post we started examination of the authentication process in our demo environment. Lets examine what happens in step 5 of the step-step guide. During this step Contoso STS was configured to work with Fabrikam STS. There were three primary steps in this process:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Add Fabrikam STS as Identity Provider (IDP) &lt;/li&gt;    &lt;li&gt;Configure rules for incoming claims from Fabrikam IDP. &lt;/li&gt;    &lt;li&gt;Configure RP rules to process claims after they pass through the IDP rules. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Fabrikam IDP is configured with two rules:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="1137"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="30"&gt;&lt;strong&gt;Rule #&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&lt;strong&gt;Rule Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="103"&gt;&lt;strong&gt;Incoming Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&lt;strong&gt;Pass Through All Claim Values&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="214"&gt;&lt;strong&gt;Pass Through only a specific Claim Value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="256"&gt;&lt;strong&gt;Pass through only claim values that end in a specific value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="222"&gt;&lt;strong&gt;Pass through only claims that start with specific value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="30"&gt;1&lt;/td&gt;        &lt;td valign="top" width="155"&gt;Pass Through Incoming Claim&lt;/td&gt;        &lt;td valign="top" width="103"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="214"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="256"&gt;@fabrikam.com&lt;/td&gt;        &lt;td valign="top" width="222"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="30"&gt;2&lt;/td&gt;        &lt;td valign="top" width="155"&gt;Pass Through Incoming Claim&lt;/td&gt;        &lt;td valign="top" width="103"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="155"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="214"&gt;DrugTrial1Auditors&lt;/td&gt;        &lt;td valign="top" width="256"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="222"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;So what does it mean? We are saying that Contoso STS will accept two types of claims from Fabrikam STS:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;E-Mail Address &lt;/li&gt;    &lt;li&gt;Role &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Also, it will evaluate the value of incoming claim and will pass only claims with specific identified values. One thing we have to keep in mind here is that some time in the design process folks from Contoso and Fabrikam have actually discussed the type of claims will be exchanged between each STS. Because if Fabrikam STS is configured to send different types of claims to Contoso, nothing will work. Also, IDP rules are not sending incoming claims to actual RP or the user browser, they are received, evaluated and if they pass the filter, they are passed through onto the configured STS RP.&lt;/p&gt;  &lt;p&gt;So next, RP rules must be modified to evaluate incoming claims and perform some action on them. Contoso SharePoint RP already has one rule set configured on it. Two new rules must be configured, one for each incoming claim type from Fabrikam IDP.&lt;/p&gt;  &lt;p&gt;Contoso SharePoint RP is configured with two additional rules:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="1133"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="36"&gt;&lt;strong&gt;Rule #&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="190"&gt;&lt;strong&gt;Rule Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="106"&gt;&lt;strong&gt;Incoming Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="122"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="145"&gt;&lt;strong&gt;Pass Through All Claim Values&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="197"&gt;&lt;strong&gt;Pass Through only a specific Claim Value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="184"&gt;&lt;strong&gt;Pass through only claim values that end in a specific value&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="151"&gt;&lt;strong&gt;Pass through only claims that start with specific value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="40"&gt;1&lt;/td&gt;        &lt;td valign="top" width="190"&gt;Pass Through Incoming Claim&lt;/td&gt;        &lt;td valign="top" width="106"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="122"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="145"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="197"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="184"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="151"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="43"&gt;2&lt;/td&gt;        &lt;td valign="top" width="190"&gt;Transform Incoming Claim&lt;/td&gt;        &lt;td valign="top" width="106"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="122"&gt;Name&lt;/td&gt;        &lt;td valign="top" width="145"&gt;Yes&lt;/td&gt;        &lt;td valign="top" width="197"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="184"&gt;&amp;#160;&lt;/td&gt;        &lt;td valign="top" width="151"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;The first rule will pass through any “role” claim type, it doesn’t care about its value.&lt;/p&gt;  &lt;p&gt;The second rule will take the value of the “E-Mail Address” claim and pass this value but in a different claim type – in this case as claim type of “Name”. This is powerful stuff. Contoso SharePoint needs to identify a user by its name and it does so via claim type of “Name”. Fabrikam on the other hand does not send this type of claim from its STS. If we could not do claim transformation then this solution would not work or both parties would have to agree on every single claim and its syntax, and every application would be required to comply with those requirements. Claim transformation eliminates this limitation and gives us a lot of flexibility.&lt;/p&gt;  &lt;p&gt;Lets examine how one specific claim would go through Fabrikam IDP and then through Contoso SharePoint RP. In this example Fabrikam STS send the following Claim to Contoso STS:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Incoming Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="200"&gt;markw@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Fabrikam IDP rules will examine this claim and since both conditions are met it will pass through it.&lt;/p&gt;  &lt;p&gt;Next, the Contoso SharePoint RP will evaluate this claim. After it goes through its rules the resulting claim should have the following information:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="200"&gt;DrugTrial1Auditors&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;        &lt;td valign="top" width="200"&gt;markw@fabrikam.com&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This data will be send to the end user and then presented to the SharePoint site for authentication.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="1177"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="1175"&gt;         &lt;p&gt;&lt;strong&gt;Key Learning's&lt;/strong&gt;&lt;/p&gt;          &lt;ol&gt;           &lt;li&gt;Before configuring rules on the IDP you need to identify what type of claims IDP STS will be sending to your STS. &lt;/li&gt;            &lt;li&gt;Rules configured on the IDP can be used to filter out incoming claims and pass through only ones that pass specific criteria. &lt;/li&gt;            &lt;li&gt;Rules configured on IDP and rules configured on RP are independent from each other. &lt;/li&gt;            &lt;li&gt;It is easy to do a simple transformation of one claim to another while keeping the value of the claim the same. &lt;/li&gt;         &lt;/ol&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the next post we’ll examine how Fabrikam STS will construct outgoing claims and look at the whole flow of this process.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284604" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Federation/default.aspx">Federation</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Claims+Based+Authentication/default.aspx">Claims Based Authentication</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Claims based Authentication - Part I</title><link>http://blogs.technet.com/dmitrii/archive/2009/10/02/claims-based-authentication-part-i.aspx</link><pubDate>Fri, 02 Oct 2009 15:39:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284567</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/3284567.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=3284567</wfw:commentRss><description>&lt;p&gt;Claims based authentication is getting more ground and with more practical applications we’ll see more and more adoption of this technology. Recently I downloaded and went through step-step demonstration on using Microsoft Office SharePoint Server 2007 and Active Directory Federation Services v2 (ADFS v2) beta 2 software. You can download this great demo at this location (&lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=57602615-e1ee-4775-8b79-367b7007e178" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=57602615-e1ee-4775-8b79-367b7007e178"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=57602615-e1ee-4775-8b79-367b7007e178&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;I have done simple implementations with ADFS v1 in the past and have read a good amount on ADFS v2 and in general on Claims based authentication, so I’m not new to this concept and technology in general. It doesn’t take long to go through all of the steps in this demonstration and it actually fairly easy and everything works. After going through all of the specified steps I scratched my head and thought, hmm, how is it exactly working, what is happening there, what kind of claims are going between IDP and RP, how are they configured and how can I modify this configuration to do other things? I like to visualize things, if it at all possible. This way I can see it, visually touch it and can get much better long term understanding on how this solution is actually working. So I decided to walk through this configuration and try to document some of those parts needed for better understanding of the entire message workflow. &lt;/p&gt;  &lt;p&gt;If you are new to Claims based authentication, this post might not make much sense to you. There are a lot of resources on this subject. At the the of this post I provide some links to blogs and white papers that I think are very informational and educational.&lt;/p&gt;  &lt;p&gt;First, I want to review the design of this demonstration. Figure 1 shows both Fabrikam and Contoso environments. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1. Base configuration of Fabrikam and Contoso&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 5px 40px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.technet.com/blogfiles/dmitrii/WindowsLiveWriter/ClaimsbasedAuthenticationI_11E56/image_6.png" width="415" height="486" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you didn’t have a chance to review step-step document then here is a quick review of this solution. Contoso is doing business with Fabrikam and as part of their business environment they need to provide a secure collaboration portal. Contoso is using SharePoint 2007 to share documents between Contoso and Fabrikam. Contoso does not want to manage Fabrikams user accounts and Fabrikams does not want to have more than one user account and would like to have single sign on to access resources on Contoso SharePoint portal. Access to resources must be controlled via assigned roles. Some users should have only read access, some contributor access and some full access to the content.&lt;/p&gt;  &lt;p&gt;As you can see, each company has its own Active Directory environment. They do not have Active Directory Forest or domain trusts and users in one environment can’t authenticate to other environment via AD trusts. Contoso AD does not have duplicate accounts for Fabrikam users.&lt;/p&gt;  &lt;p&gt;Fabrikam users will access resources in Contoso SharePoint portal via Claims based authentication and they will have certain rights (roles) based on the assigned group membership in their own Fabrikam AD environment.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In step-step guide, in step 4 you’ll be asked to authenticate as Contoso\Administrator to the &lt;a href="https://docs.contoso.com"&gt;https://docs.contoso.com&lt;/a&gt; and add new roles to the site. In prior steps you configured this site to use “&lt;strong&gt;Role#Domain Admins&lt;/strong&gt;” as site administrator and configured ContosoSRV01 ADFS with RP for SharePoint site with couple claim rules. &lt;/p&gt;  &lt;p&gt;So what happens during this authentication and what type of claim is actually provided to the SharePoint site to give Contoso\Administrator administrative rights on the site? Figure 2 shows authentication steps.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2. Authentication by Contoso user&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 5px 40px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.technet.com/blogfiles/dmitrii/WindowsLiveWriter/ClaimsbasedAuthenticationI_11E56/image_5.png" width="251" height="506" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In step 1, Administrator accesses &lt;a href="https://docs.contoso.com"&gt;https://docs.contoso.com&lt;/a&gt; site, his browser reads the policy on the SharePoint site, discovers that it need to get a Claim from &lt;strong&gt;sts1.contoso.com&lt;/strong&gt; and get redirected to it.&lt;/p&gt;  &lt;p&gt;In step 2, he chooses to use Windows Integrated Authentication to authenticate to STS. &lt;/p&gt;  &lt;p&gt;In step 3, he will get required claim from STS. STS is configured with the following rules:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="426"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;LDAP Attribute&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="224"&gt;&lt;strong&gt;Outgoing Claim Type&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Mail&lt;/td&gt;        &lt;td valign="top" width="224"&gt;*Name&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;tokenGroups&lt;/td&gt;        &lt;td valign="top" width="224"&gt;*Role&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;mail&lt;/td&gt;        &lt;td valign="top" width="224"&gt;E-Mail Address&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Based on these rules, the content of this claim will be the following:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="428"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="226"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;        &lt;td valign="top" width="226"&gt;administrator@contoso.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="226"&gt;Domain Admins          &lt;br /&gt;Administrators           &lt;br /&gt;Domain Users           &lt;br /&gt;Enterprise Admins           &lt;br /&gt;Group Policy Creator Owners           &lt;br /&gt;Schema Admins           &lt;br /&gt;AD RMS Enterprise Administrators&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="226"&gt;administrator@contoso.com&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;In step 4 this claim is send back to the &lt;a href="https://docs.contoso.com"&gt;https://docs.contoso.com&lt;/a&gt; SharePoint site.&lt;/p&gt;  &lt;p&gt;Sharepoint site will take the claim, evaluate it and will find that one of the values in Claim Type Role is “Domain Admins” which matches its own configured Role type (“Role#Domain Admins”). Based on this match SharePoint will give our Administrator administrative rights to this site.&lt;/p&gt;  &lt;p&gt;OK, this is fairly easy stuff. One to one matching and we are in business. As we can see Administrator Role Claim value has multiple groups in it. Obvious question begs the answer, can we configure SharePoint roles provider with any of these groups to give this user administrative access on the SharePoint? and the answer is yes. To prove this we can do a quick test. We’ll modify SharePoint to use “&lt;strong&gt;Role#Schema Admins&lt;/strong&gt;” instead of “&lt;strong&gt;Role#Domain Admins&lt;/strong&gt;”. Since Administrator account is member of Schema Admins group, he will have administrative rights on the site. &lt;/p&gt;  &lt;p&gt;During step 4 (step-step guide) Administrator configures site with couple new roles: “&lt;strong&gt;Role#DrugTrial1Admins&lt;/strong&gt;” and “&lt;strong&gt;Role#DrugTrial1Auditors&lt;/strong&gt;”. At the end of step 4 we’ll authenticate as user Contoso\Danielw and verify that he has appropriate rights. Same flow will happen as shown in Figure 2. Based on the configured rules the claim will have the following values:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="428"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;&lt;strong&gt;Claim Type&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="226"&gt;&lt;strong&gt;Claim Value&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Name&lt;/td&gt;        &lt;td valign="top" width="226"&gt;danielw@contoso.com&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Role&lt;/td&gt;        &lt;td valign="top" width="226"&gt;Domain Users          &lt;br /&gt;DrugTrial1Admins           &lt;br /&gt;Developer&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;E-Mail Address&lt;/td&gt;        &lt;td valign="top" width="226"&gt;danielw@contoso.com&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Because Daniels claim type ‘Role” has value matching SharePoint configured role, he is will be given appropriate rights on this site.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="1184"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="1182"&gt;         &lt;p&gt;&lt;strong&gt;Key Learning's:&lt;/strong&gt;&lt;/p&gt;          &lt;ol&gt;           &lt;li&gt;In basic mapping of the tokenGroup LDAP attribute and Outgoing Claim type, the Role value configured on the SharePoint site must match the name of the Active Directory group. &lt;/li&gt;            &lt;li&gt;At this point we have one STS configured with single RP and we have a rule set corresponding to this RP. &lt;/li&gt;         &lt;/ol&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="1184"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="1182"&gt;         &lt;p&gt;&lt;strong&gt;Additional Research Items&lt;/strong&gt;&lt;/p&gt;          &lt;ol&gt;           &lt;li&gt;When user tries to authenticate to SharePoint, does it provide back to the user a set of Claim Types it is asking for or is it simply redirecting user to the STS and relies on STS to provide whatever claims it is configured with? It would be very nice and intelligent for SharePoint to only ask for what it needs and for STS to provide only the type of claims that RP has asked from it. &lt;/li&gt;         &lt;/ol&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the next post we’ll continue examination of this configuration.&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284567" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Federation/default.aspx">Federation</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Claims+Based+Authentication/default.aspx">Claims Based Authentication</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Cool Windows 2008 posters</title><link>http://blogs.technet.com/dmitrii/archive/2007/07/19/cool-windows-2008-posters.aspx</link><pubDate>Thu, 19 Jul 2007 16:27:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1557960</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/1557960.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=1557960</wfw:commentRss><description>&lt;P&gt;cool posters for download, check it out:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c2b9e44e-0bbd-47cb-bc09-b3d48be7f867&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1557960" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/General/default.aspx">General</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>TS Gateway #4</title><link>http://blogs.technet.com/dmitrii/archive/2007/07/01/ts-gateway-4.aspx</link><pubDate>Mon, 02 Jul 2007 00:38:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1416719</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/1416719.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=1416719</wfw:commentRss><description>&amp;nbsp; 
&lt;P&gt;&lt;STRONG&gt;Server side configuration&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In previous 3 postings I talked about why I liked TS gateway, the overall architecture for configuring TS Gateway in home lab environment and the client side configuration. &lt;/P&gt;
&lt;P&gt;This time I'll show a few screen shots of the TS Gateway configuration. The configuration is very simple and one can figure it out by basically going through the wizard and consulting available help. But pictures sometime are nice to see too, especially of already configured server.&lt;/P&gt;
&lt;P&gt;Anyway, in my lab I have TS Gateway server running the publically available beta of Windows Server 2008, it is running as virtual guest on Virtual PC hosted on Windows Vista. TS Gateway server has one network card assigned to it. It is important to know the IP address on this card and make sure your perimeter firewall (Linksys in my case) is configured to allow port 443 to this IP.&lt;/P&gt;
&lt;P&gt;When you install TS Gateway the wizard will ask you to specify certificate, create new one or to choose one later. I didn't have one at the time of installation and decided to install certificate later. When TS Gateway is installed you can right-click on the server name and choose properties. For simple installations the "SSL Certificate" tab is of most importance as it will allow you to choose or replace certificates. Without certificate TS gateway cannot function. The following screenshot shows my certificate issued from my own CA. As I wrote before it is very important to make sure that certificate name (shown in Issued to: field) is the name you specify in the Remote Desktop connection client, if they don't match you won't be able to connect.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1416735.aspx" target=_blank&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1416735/original.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;During installation wizard you'll be asked to configure 2 polices required for TS Gateway:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Connection Authorization Policies&lt;/LI&gt;
&lt;LI&gt;Resource Authorization Policies &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Connection Authorization Policy (TS CAP) allows you to specify the users who can connect to this TS Gateway server. The configuration is fairly simple and straightforward. You'd specify the groups or users who can connect to this TS Gateway server. Interesting granularity here is that you can specify the type of authentication will be supported by this TS CAP - Password and/or Smart Card. So if you have issued Smart Cards to your employees you can create policy that only allows Smart Card authentication into the TS Gateway server - very secure mechanism for remote authentication. Here is the shot of the TS CAP requirements. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1416749.aspx" target=_blank&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1416749/original.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Device Redirection tab can be useful in controlling who can redirect what from the TS server to their client PC.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1416754.aspx" target=_blank&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1416754/original.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The second policy that must be configured is the TS RAP which allows to specify the network resources that users can connect to remotely through this TS Gateway server. During configuration or later you can choose which computers you be able to access or just provide a blank policy that will allow connection to any target computer.&lt;/P&gt;
&lt;P&gt;All in all , it is easy to configure a single server TS Gateway to allow access to your internal network.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1416719" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Windows Server 2008 Terminal Services gateway #3</title><link>http://blogs.technet.com/dmitrii/archive/2007/06/27/windows-server-2008-terminal-services-gateway-3.aspx</link><pubDate>Thu, 28 Jun 2007 02:50:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1379540</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/1379540.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=1379540</wfw:commentRss><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Client Side Configuration to access remote TS Server via TS Gateway&lt;/P&gt;
&lt;P&gt;Windows Vista Remote Desktop Connection client has new option under Advanced Tab - "Connect from anywhere"&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1379568.aspx" target=_blank&gt;&lt;/A&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1379568.aspx" target=_blank&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1379568/original.aspx" border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;If you click on the Settings button it will allow to specify the TS Gateway server:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1379570.aspx" target=_blank&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1379570/original.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Server name that you type here must resolve to the Public IP address on your firewall and it must match the name on the certificate installed on the TS Gateway.&lt;/P&gt;
&lt;P&gt;And finally what name are you going to specify for the target server that you are actually trying to access? It might be confusing at first but the IP must be the actual IP of the target server and it must be accessible from the TS Gateway server. You are not connecting to this IP directly, TS Gateway server connects to it. So we put the actual private IP of my Domain Controller, it will look like that:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.technet.com/photos/dmitrii/picture1379571.aspx" target=_blank&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1379571/original.aspx" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;OK, but what if I have Windows XP and not Vista? If you open Remote Desktop Connection and look under advanced tab you won't see Connect from anywhere configuration button. No problem, just go to the Windows Update site and under optional updates you'll find new version for Remote Desktop Connection client. Just install it and you are in business.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1379540" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Windows Server 2008 Terminal Services Gateway #2</title><link>http://blogs.technet.com/dmitrii/archive/2007/06/26/windows-server-2008-terminal-services-gateway-2.aspx</link><pubDate>Wed, 27 Jun 2007 03:49:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1372117</guid><dc:creator>lezine</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/1372117.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=1372117</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Configuration of the Terminal Services Gateway is fairly straightforward. The following diagram shows the simplified configuration of how I configured it to get access to my home lab.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG src="http://blogs.technet.com/photos/dmitrii/images/1372124/original.aspx" mce_src="http://blogs.technet.com/photos/dmitrii/images/1372124/original.aspx"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Windows 2008 provides wizards for all of it different components and the configuration of Terminal Services Gateway is probably the easiest in the entire solution. The most difficulty most people will encounter will be with acquiring SSL certificate for TS Gateway. You have a few choices here:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Get this certificate from one of the commercial CAs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Implement your own PKI (like in my lab)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;TS Gateway can issue self signed certificate. This is usually used only for testing.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Another challenge is to provide name resolution to the public IP address assigned to your router by your Internet service provider. Usually this IP is assigned via DHCP and unless you pay extra money to have static IP it can change. In my experience, if you keep your router powered on 24/7 the IP address doesn’t change very frequently. So use one of the many Dynamic DNS free services to keep the DNS name up to date with current IP address or just update it manually if you find that the IP has changed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The key point here is that the name on the certificate you install on the TS Gateway must match the FQDN assigned to Public IP address on your router&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Next time we’ll talk about how to configure TS Gateway server.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1372117" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Windows 2008 Terminal Services Gateway</title><link>http://blogs.technet.com/dmitrii/archive/2007/06/25/windows-2008-terminal-services-gateway.aspx</link><pubDate>Tue, 26 Jun 2007 02:42:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:1360948</guid><dc:creator>lezine</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/dmitrii/comments/1360948.aspx</comments><wfw:commentRss>http://blogs.technet.com/dmitrii/commentrss.aspx?PostID=1360948</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;One of the new exciting technologies that will be shipped with Windows 2008 Server is the Terminal Services Gateway. It is exciting not just because it will be used by many companies but because it can be used by many other technologists and make our life a little easier and more exciting.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;I like to test new technologies and for my work sometimes I have to test or show different new and old products. I have 2 laptops, one is for my general day-day work with bunch of productivity applications and all required corporate tools, it runs Windows Vista. The second laptop is running Windows XP Pro with Windows Virtual Server 2005 R2 SP1. It acts as the host platform to run different virtual guest systems - DC, CA, ILM, SQL etc etc. I use to carry both laptops on my trips because I needed access to my virtual environment to test certain things or learn new product. As you imagine carrying 2 laptops is not fun, it is heavy, it is pain to go through the security checks at the airports, requires extra space at any table... &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;So I've been looking forward to a solution that will allow me to keep my virtual network back at my house and have full secure access to it from any network that I have to be - it is usually 90% of the time at my client, or on my BlackJack 3G Cingular network.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Of course I could always leave my virtual network back at my house and configure my Linksys router to path port 3389 to one of the systems. What is the problem with such solution? None of the corporate firewalls allow outbound port 3389. So I could not connect to my home based virtual network via normal TS session.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;So thankfully now we have a solution for this type of problem - use Windows 2008 Terminal Services gateway. It works over SSL port 443. Is that port open on corporate firewalls? You betcha it is. Now you can connect to you home network from any location via normal SSL port.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Next time I’ll write how I configured Windows 2008 Server Terminal Services gateway to get into my home network virtually from any location.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Dmitrii&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=1360948" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/dmitrii/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.technet.com/dmitrii/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item></channel></rss>