<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang=""><title type="html">Security and Identity in the Cloud</title><subtitle type="html">Cloud Identity Blog is my way to discuss, show and share information about different technology topics, mainly in the Security, Identity and Access Management areas. </subtitle><id>http://blogs.technet.com/b/dmitrii/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/" /><link rel="self" type="application/atom+xml" href="http://blogs.technet.com/b/dmitrii/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2011-02-04T00:06:00Z</updated><entry><title>Custom HomeRealmDiscovery Page with AD FS 2.0</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2012/09/18/custom_2D00_homerealmdiscovery_2D00_page_2D00_with_2D00_ad_2D00_fs_2D00_2_2D00_0.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2012/09/18/custom_2D00_homerealmdiscovery_2D00_page_2D00_with_2D00_ad_2D00_fs_2D00_2_2D00_0.aspx</id><published>2012-09-19T03:59:05Z</published><updated>2012-09-19T03:59:05Z</updated><content type="html">&lt;p&gt;Recently I decided to dissect the structure of the default pages in AD FS 2.0 and see what can be done with creating slightly different look from its default look. I wanted to see what files control what areas in the UI and what can be done with minimum code changes. &lt;/p&gt;  &lt;p&gt;I started working with one of the most common pages accessed in large implementation – the Home Realm Discovery page. As you probably know, the default look of this page is like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2543.clip_5F00_image002_5F00_278D0BA6.jpg"&gt;&lt;img title="clip_image002" style="margin: 0px 0px 2px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="clip_image002" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/3730.clip_5F00_image002_5F00_thumb_5F00_20019C39.jpg" width="623" height="218" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As part of this exercise I wanted to make it look like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0160.clip_5F00_image004_5F00_2D67AF3F.jpg"&gt;&lt;img title="clip_image004" style="margin: 0px 0px 2px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="clip_image004" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7411.clip_5F00_image004_5F00_thumb_5F00_3E6BDD22.jpg" width="620" height="408" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The main page that is accessed to present Home Realm Discovery is HomeRealmDiscovery.aspx. So the first step I took a look at it to see what it is doing and if it using any other support pages. As I suspected, the site is designed to use different files for HTML, C# and CSS code. It also has special language files that contain all the configurable text strings in the UI. Some configuration is done via web.config file. Overall, to move from the default UI to my customized UI I had to modify six files and introduce two graphic files.&lt;/p&gt;  &lt;p&gt;The following files have control over the Home Realm Discovery:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Inetpub\adfs\ls\web.config&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls \HomeRealmDiscovery.aspx&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls \HomeRealmDiscovery.aspx.cs&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls\App_GlobalResources\CommonResources.resx&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls\App_GlobalResources\CommonResources.en.resx (and many other language files, if you need to present it in those languages)&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls\MasterPages\StyleSheet.css&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls\MasterPages\MasterPage.master&lt;/li&gt;    &lt;li&gt;Inetpub\adfs\ls\MasterPages\MasterPage.master.cs&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Files with .CS extension contain C# code and I did not change them. All the logic associated with proper functionality of the AD FS for presenting the target IdPs, and other AD FS related functionality is done via those pages, but they are not controlling the UI for the Home Realm Discovery page.&lt;/p&gt;  &lt;p&gt;On the following diagram I’ll point out what area in the Home Realm Discovery page is controlled by what configuration file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0167.clip_5F00_image006_5F00_124EE031.jpg"&gt;&lt;img title="clip_image006" style="margin: 0px 0px 2px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="clip_image006" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/4784.clip_5F00_image006_5F00_thumb_5F00_0A573DCF.jpg" width="623" height="228" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;1. The background. It is controlled via StyleSheet.css. To modify it you’ll need to modify background-image: in BODY section. By default it is using url(../App_Themes/Default/header_background.png) image. You can replace this with another image of your liking to show in the background. Image can introduce nice color change with shades and such, but you can also just specify the solid color via the tag. &lt;/p&gt;  &lt;p&gt;2. Header. The text for the header comes from the CommonResouces files. How it is viewed is controlled by the StyleSheet.css and MasterPage.master files. I replaced the default “Sign In” text with “Contoso Federation Services”, changes style sheet to reflect different font color and its size, tags in style sheet were also used to fine tune its placement. I also had to move its location in the MasterPage.master file so it would appear to the right of the logo, and not above it.&lt;/p&gt;  &lt;p&gt;3. STS Title. The title you see here comes from the AD FS Federation Service name you define on the AD FS Properties. The same name you see in the drop down list when you need to select your target IdP. The placement code for STS Title is controlled in MasterPage.master and via style sheet. I removed STS Title from the final page. I had to do this by introducing a new code in the style sheet and replacing the class definition in the MasterPage.master with new style that hides it.&lt;/p&gt;  &lt;p&gt;4. The text shown inside the main area comes from the CommonResouces files. The code that defines its placement is controlled via HomeRealmDiscovery.aspx file. You’d need to introduce new sections in it with new Label Text ID and create corresponding Label Text entries in the corresponding CommonResouces files.&lt;/p&gt;  &lt;p&gt;5. Text in the button is controlled via CommonResouces files. Its placement can be controlled via HomeRealmDiscovery.aspx file and visual elements via style sheet.&lt;/p&gt;  &lt;p&gt;6. The border is controlled via style sheet. Elements like its sickness, colour, how wide etc&lt;/p&gt;  &lt;p&gt;7. Optional Logo can be introduced by specifying it via web.config file. Its placement on the page is controlled via the MasterPage.master file and style sheet.&lt;/p&gt;  &lt;p&gt;Easy! Right?&lt;/p&gt;  &lt;p&gt;OK, so if you like to see more details, here is a bit more on the each change to get from default look to my custom look.&lt;/p&gt;  &lt;p&gt;1. Background. Modify StyleSheet.css from this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;body&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;background-color: #ffffff;&lt;/p&gt;    &lt;p&gt;color:#222222;&lt;/p&gt;    &lt;p&gt;font-size: 0.8em;&lt;/p&gt;    &lt;p&gt;font-weight: normal;&lt;/p&gt;    &lt;p&gt;font-family: &amp;quot;Segoe UI&amp;quot;, Verdana, Tahoma, Arial, sans-serif;&lt;/p&gt;    &lt;p&gt;margin: 0px;&lt;/p&gt;    &lt;p&gt;background-repeat: repeat-x;&lt;/p&gt;    &lt;p&gt;background-image: url(../App_Themes/Default/header_background.png);&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;body&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;background-color: #ffffff;&lt;/p&gt;    &lt;p&gt;color:#222222;&lt;/p&gt;    &lt;p&gt;font-size: 0.8em;&lt;/p&gt;    &lt;p&gt;font-weight: normal;&lt;/p&gt;    &lt;p&gt;font-family: &amp;quot;Segoe UI&amp;quot;, Verdana, Tahoma, Arial, sans-serif;&lt;/p&gt;    &lt;p&gt;margin: 0px; &lt;/p&gt;    &lt;p&gt;background-repeat: repeat-x;&lt;/p&gt;    &lt;p&gt;background-image: url(../App_Themes/Default/custombackground.gif);&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2. Header. First, in MasterPage.master move the following code &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;div class=&amp;quot;Header&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label ID=&amp;quot;PageTitleLabel&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From being in front of the &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;%&lt;/p&gt;    &lt;p&gt;string logoPath =&lt;/p&gt;    &lt;p&gt;System.Web.Configuration.WebConfigurationManager.AppSettings[ &amp;quot;logo&amp;quot; ];&lt;/p&gt;    &lt;p&gt;if( !String.IsNullOrEmpty( logoPath ) )&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;%&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;img src=&amp;quot;&amp;lt;%= logoPath %&amp;gt;&amp;quot; alt=&amp;quot;logo&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;%&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;%&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To be behind it, so it looks like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;%&lt;/p&gt;    &lt;p&gt;string logoPath =&lt;/p&gt;    &lt;p&gt;System.Web.Configuration.WebConfigurationManager.AppSettings[ &amp;quot;logo&amp;quot; ];&lt;/p&gt;    &lt;p&gt;if( !String.IsNullOrEmpty( logoPath ) )&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;%&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;img src=&amp;quot;&amp;lt;%= logoPath %&amp;gt;&amp;quot; alt=&amp;quot;logo&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;%&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;%&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;Header&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label ID=&amp;quot;PageTitleLabel&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Second, update StyleSheet.css Header to look like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;.Header&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;color: #000000;&lt;/p&gt;    &lt;p&gt;padding: 8px 0 5px 0;&lt;/p&gt;    &lt;p&gt;margin-bottom: 1px;&lt;/p&gt;    &lt;p&gt;font-size: 200%;&lt;/p&gt;    &lt;p&gt;font-weight:bold;&lt;/p&gt;    &lt;p&gt;position:relative;&lt;/p&gt;    &lt;p&gt;left:184px;&lt;/p&gt;    &lt;p&gt;top:-95px;&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And finally, replace “Sign In” text in both CommonResouces files for HomeRealmDiscovery text label to be “Contoso Federation Services”.&lt;/p&gt;  &lt;p&gt;3. STS Title. To hide it you can do the following:&lt;/p&gt;  &lt;p&gt;a. In MasterPage.master page change the following code&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;div class=&amp;quot;TextSizeXLarge&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label ID=&amp;quot;STSLabel&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To look like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;div class=&amp;quot;STSTitleNotVisible&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label ID=&amp;quot;STSLabel&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;b. In StyleSheet.css create new code for STSTitleNotVisible to be this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;.STSTitleNotVisible&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;visibility:hidden;&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;4. To introduce new text in the main section update HomeRealmDiscovery.aspx file with new Label Texts and introduce that text to the CommonResouces files.&lt;/p&gt;  &lt;p&gt;a. In HomeRealmDiscovery.aspx make &amp;lt;asp:Content section to look like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;asp:Content ID=&amp;quot;Content1&amp;quot; ContentPlaceHolderID=&amp;quot;ContentPlaceHolder1&amp;quot; Runat=&amp;quot;Server&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label Text=&amp;quot;&amp;lt;%$ Resources:CommonResources, HomeRealmSelectionText%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt; &lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label Text=&amp;quot;&amp;lt;%$ Resources:CommonResources, HomeRealmSelectionTextTwo%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:DropDownList ID=&amp;quot;PassiveIdentityProvidersDropDownList&amp;quot; DataTextField=&amp;quot;Name&amp;quot; DataValueField=&amp;quot;Id&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/asp:DropDownList&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Button runat=&amp;quot;server&amp;quot; ID=&amp;quot;PassiveSignInButton&amp;quot; Text=&amp;quot;&amp;lt;%$ Resources:CommonResources, HomeRealmSignInButtonText%&amp;gt;&amp;quot; EnableViewState=&amp;quot;False&amp;quot;&lt;/p&gt;    &lt;p&gt;OnClick=&amp;quot;PassiveSignInButton_Click&amp;quot; CssClass=&amp;quot;Resizable&amp;quot;/&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label Text=&amp;quot;&amp;lt;%$ Resources:CommonResources, HomeRealmSelectionTextThree%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt; &lt;/p&gt;    &lt;p&gt;&amp;lt;a href=&amp;quot;mailto:Helpdesk@contoso.com?subject=FEDERATION&amp;quot;&amp;gt;Helpdesk@contoso.com&amp;lt;/a&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label Text=&amp;quot;&amp;lt;%$ Resources:CommonResources, HomeRealmSelectionTextThreeHalf%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;asp:Label Text=&amp;quot;&amp;lt;%$ Resources:CommonResources, HomeRealmSelectionTextFour%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/asp:Content&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;b. Add the following to the CommonResouces files:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;data name=&amp;quot;HomeRealmSelectionTextTwo&amp;quot; xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;value&amp;gt;NOTE: The following Identity Providers will let you into the application.&amp;lt;/value&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/data&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;data name=&amp;quot;HomeRealmSelectionTextThree&amp;quot; xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;value&amp;gt;If your Organization is not listed, please send an e-mail to the contact at &amp;lt;/value&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/data&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;data name=&amp;quot;HomeRealmSelectionTextThreeHalf&amp;quot; xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;value&amp;gt;and express your interest of your Organization becoming a member of the Federation Framework, and include the name of the application that you are trying to access in your e-mail.&amp;lt;/value&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/data&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;data name=&amp;quot;HomeRealmSelectionTextFour&amp;quot; xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;value&amp;gt;If you believe that you have arrived at this page by accident, please close your web browser and try accessing the application webpage URL again in a new browser session.&amp;lt;/value&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/data&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;5. The button is moved to be at the same level as the drop down list. This is controlled by removing &amp;lt;div&amp;gt; tags that surround the button code in the HomeRealmDiscovery.aspx.&lt;/p&gt;  &lt;p&gt;6. To control the border just change the style sheet .MainActionContainer with this details:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;.MainActionContainer&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;padding: 5px 20px 5px 20px;&lt;/p&gt;    &lt;p&gt;border: solid 3px #003300;&lt;/p&gt;    &lt;p&gt;min-height: 150px;&lt;/p&gt;    &lt;p&gt;position:relative;&lt;/p&gt;    &lt;p&gt;top:-30px;&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;7. Finally, to add the logo do the following:&lt;/p&gt;  &lt;p&gt;a. Modify web.config file by uncommenting code that specifies the name of the logo file and then place your logo file in the root folder of AD FS (Inetpub\adfs\ls\)&lt;/p&gt;  &lt;p&gt;b. In MasterPage.master change the following code&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;div class=&amp;quot;GroupXLargeMargin&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;img src=&amp;quot;&amp;lt;%= logoPath %&amp;gt;&amp;quot; alt=&amp;quot;logo&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To look like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;div class=&amp;quot;CustomLogo&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;img src=&amp;quot;&amp;lt;%= logoPath %&amp;gt;&amp;quot; alt=&amp;quot;logo&amp;quot; /&amp;gt;&lt;/p&gt;    &lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;c. And finally, add new code to the StyleSheet.css:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;.CustomLogo&lt;/p&gt;    &lt;p&gt;{&lt;/p&gt;    &lt;p&gt;margin-top:25px;&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After doing all these changes, the default looking page&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8585.clip_5F00_image007_5F00_109E145D.jpg"&gt;&lt;img title="clip_image007" style="margin: 0px 0px 2px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="clip_image007" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8081.clip_5F00_image007_5F00_thumb_5F00_36FFF7A8.jpg" width="622" height="218" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Will look like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0045.clip_5F00_image008_5F00_01873583.jpg"&gt;&lt;img title="clip_image008" style="margin: 0px 0px 2px; border: 0px currentcolor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" border="0" alt="clip_image008" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0243.clip_5F00_image008_5F00_thumb_5F00_556A3891.jpg" width="619" height="408" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Easy, Breezy, Cover…. Hmm, page.&lt;/p&gt;  &lt;p&gt;Visit me at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Till next time! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3520988" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="Claims Based Authentication" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims+Based+Authentication/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /><category term="HomeRealmDiscovery" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/HomeRealmDiscovery/" /><category term="Logo" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Logo/" /><category term="Home Realm Discovery" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Home+Realm+Discovery/" /></entry><entry><title>Chaining Multiple STS</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2012/08/18/chaining-multiple-sts.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2012/08/18/chaining-multiple-sts.aspx</id><published>2012-08-18T15:27:16Z</published><updated>2012-08-18T15:27:16Z</updated><content type="html">&lt;p&gt;A few month ago I learned something about claims based authentication that I thought was not possible.&lt;/p&gt;  &lt;p&gt;Ever since starting working on federation solutions, and learning about it via training courses, reading white papers, specifications and presentations the following two topologies were always shown or discussed. The first one is where company has its own STS and their applications configured with this STS. The second solution extends on the first one by federation between two STSs, where one STS is acting as RP and the second is acting as IdP. I have never seen any specs or designs that would show more than two STSs in a chain, ie something like this RP-RP-IdP. So for some time I was assuming that protocols that make it all happen (WS-Fed, SAML etc) are designed to work in specific model RP-IdP and would not go beyond this one-one relationship. While this works for majority of the real world situations, in some cases it does not satisfy the complex requirements where chaining of the multiple STSs is required. Well, I thought that it was not possible till a few month ago. I had to design complex federation architecture and this perceived limitation was giving me a lot of headache. So, obviously I did some research and talked to a few people who also specializes in federation solutions and to my great surprise I learned that there is no limitation with protocols and that it is just fine to setup multiple STSs in a chain of trusts. I wish that I learned it prior from someone else’s design or spec paper, clearly stating that it is fine to do this and it will work. Needless to say, we were able to configure our architecture and satisfy customer requirements without additional overhead and keep it very streamlined.&lt;/p&gt;  &lt;p&gt;A few days ago I was rebuilding my lab and decided to configure it to illustrate chaining of multiple STSs and show it here. So if anyone else didn’t decipher it in spec papers or other design, and is thinking that chaining is not possible, that it is in fact possible and works just fine. You can use it in your designs if it is a requirement.&lt;/p&gt;  &lt;p&gt;In my lab I configured the following to illustrate this configuration: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;IdP STS (DC, AD FS 2.0), it has the following FS URL: fs1.contoso.com&lt;/li&gt;    &lt;li&gt;RP STS (AD FS 2.0), this is a middle STS, with FS URL: fs2.contoso.com&lt;/li&gt;    &lt;li&gt;RP STS (AD FS 2.0), this is the STS with target relying party application. FS URL: fs1.external.com&lt;/li&gt;    &lt;li&gt;Relying Party (Sample WIF SDK app). This is a workgroup server configured with fs1.external.com as its STS. Application URL https://myclaims.external.com/myclaims&lt;/li&gt;    &lt;li&gt;Workstation that will access the application. I have HTTPWatch installed on this PC to show all traffic passive request traffic between the browser and the target systems.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Figure 1 shows my lab configuration:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2388.image_5F00_06FA9444.png"&gt;&lt;img title="Figure 1" style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="Figure 1" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5444.image_5F00_thumb_5F00_06222E5A.png" width="612" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Figure 1: Chaining multiple STS &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Figure 2 shows the HTTPWatch traffic captured on the client PC. As you can see in steps 1 to 10, the browser steps through all parties in the authentication process and authenticates me into the application. It is fairly self explanatory, but if you have questions then let me know if you need any explanation on what happens here.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/3858.image_5F00_705845FC.png"&gt;&lt;img title="image" style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; background-image: none;" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1200.image_5F00_thumb_5F00_199F682E.png" width="647" height="240" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;Figure 2: HTTPWatch capture of the Passive Request traffic with multiple chained STS (click on it to see it large)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Finally, you might ask why would anyone need to chain STS in such way. To answer it I’ll have to write another blog post. So stay tuned, I might do that in the next month or so.&lt;/p&gt;  &lt;p&gt;Visit my main blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks, Dmitrii&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3515017" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="Claims Based Authentication" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims+Based+Authentication/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="ICAM" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ICAM/" /><category term="Cloud Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Cloud+Security/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="Claims" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims/" /><category term="STS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/STS/" /></entry><entry><title>Authentication Assurance and Claims Based Authentication</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2012/06/27/authentication_2D00_assurance_2D00_and_2D00_claims_2D00_based_2D00_authentication.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2012/06/27/authentication_2D00_assurance_2D00_and_2D00_claims_2D00_based_2D00_authentication.aspx</id><published>2012-06-27T17:40:53Z</published><updated>2012-06-27T17:40:53Z</updated><content type="html">&lt;p&gt;Authentication Mechanism Assurance is described in the following Microsoft publication: &lt;a href="http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd378897(v=WS.10).aspx&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;In this post I want to dig a bit more into different configuration options, show how it works and provide example of how it can be configured with AD FS 2. &lt;/p&gt;  &lt;p&gt;Authentication Mechanism Assurance is a new feature in Windows 2008 R2 AD DS configured at 2008 R2 Functional level, it provides an ability to assure that user is authenticated with specific type of certificate. Usually it is used to assure that user is authenticated with a specific type of smart card into AD DS. This assurance can then be passed on to applications which will make authorization decision on what user can or cannot do in it. It is very important feature in environments where specific regulations require to provide assurance of Smart Card authentication. &lt;/p&gt;  &lt;p&gt;AD DS configured to use Authentication Mechanism Assurance is capable to identify users who used specific type of Smart Cards for authentication and dynamically populate their Kerberos tickets with security group associated with those specific Smart Cards. The linkage between Smart Card and AD DS is done via the OID populated in Certificate Policy certificate extension. Let’s take a quick look at how it works. The following diagram shows a basic flow of authentication to claims based application which can take advantage of the authentication assurance claim. In our example Contoso has Smart Cards with X.X.XX.XXX.X.X.X.X OID populated in Certificate Policy certificate extension. AD DS is configured to link X.X.XX.XXX.X.X.X.X OID with “Smart Card X Authenticated” security group. &lt;/p&gt;  &lt;p&gt;In step 1, user authenticates to their desktop by providing Smart Card and PIN number. During authentication process AD DS detects that user authenticates with Smart Card (it is done by finding X.X.XX.XXX.X.X.X.X OID in the user certs) and builds Kerberos ticket. AD DS will include “Smart Card X Authenticated” security group SID in the Kerberos ticket. &lt;/p&gt;  &lt;p&gt;In step 2, user tries to access claims based application which will redirect the browser to its trusted STS. &lt;/p&gt;  &lt;p&gt;In step 3 and 4 user will be authenticated to the STS. STS will examine user group membership and because user’s Kerberos ticket contains “Smart Card X Authenticated” SID it will issue special claim type indicating that user was authenticated to AD DS with their Smart Card. &lt;/p&gt;  &lt;p&gt;This token will be passed to the application. In step 5, application will have a choice to provide different logic for users who authenticated to AD DS with a Smart Card or without. Simple enough.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7607.AuthNMechanismAssurance_5F00_6A57FD16.png"&gt;&lt;img title="AuthNMechanismAssurance" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="AuthNMechanismAssurance" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5554.AuthNMechanismAssurance_5F00_thumb_5F00_0D5848BA.png" width="595" height="483" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Let’s take a look how it all can be configured. I’m not going to repeat some of the steps described in the before mentioned Microsoft publication. I’ll refer to it when necessary. &lt;/p&gt;  &lt;p&gt;The first step in configuring Authentication Mechanism Assurance is to create proper Issuance Policy in AD DS. The OID in AD DS Issuance Policy must match the OID in Certificate Policy on the Authentication certificate on the Smart Card. It will look something like this on the certificate: &lt;/p&gt;  &lt;p&gt;[1]Certificate Policy: &lt;/p&gt;  &lt;p&gt;Policy Identifier=X.XX.XXX.X.XXX.X.X.X.X.XX &lt;/p&gt;  &lt;p&gt;More likely your AD DS will not have this OID and you’ll need to create one. Fortunately it is easy to do: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Open Certificate Template management console. &lt;/li&gt;    &lt;li&gt;Open any v2 certificate template. &lt;/li&gt;    &lt;li&gt;Click on Extensions Tab, Click on “Issuance Policies” and then click Edit. &lt;/li&gt;    &lt;li&gt;Click on Add, then click on New. &lt;/li&gt;    &lt;li&gt;In the Name field type: &lt;b&gt;Smart Card AuthN Cert&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;In the object identifier field type: X.XX.XXX.X.XXX.X.X.X.X.XX (where XXX – is the OID from the cert on Smart Card) &lt;/li&gt;    &lt;li&gt;Click OK &lt;/li&gt;    &lt;li&gt;Do not save changes to the certificate template. Exit Certificate Management Console.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;At this point you are ready to link appropriate security group to the Certificate Issuance policy. Create &lt;b&gt;get-IssuancePolicy.ps1&lt;/b&gt; and &lt;b&gt;set-IssuancePolicyToGroupLink.ps1&lt;/b&gt; files as described in Microsoft article. Run the first one to see if there are policies already in place. Run the second to make the linkage. &lt;/p&gt;  &lt;p&gt;To display run this: &lt;b&gt;.\get-IssuancePolicy.ps1 –LinkedToGroup:All&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;To create new policy: &lt;b&gt;.\set-IssuancePolicyToGroupLink.ps1 –IssuancePolicyName &amp;quot;Smart Card AuthN Cert&amp;quot; –groupOU &amp;quot;Auth Mech Assurance&amp;quot; –groupName &amp;quot;Smart Card Authenticated&amp;quot;&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;To see new policy:&lt;b&gt; &lt;/b&gt;&lt;b&gt;.\get-IssuancePolicy.ps1 –LinkedToGroup:All&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;So far, so good. We configured Authentication Mechanism Assurance. To verify that it actually working logon to AD DS with Smart Card, open command prompt and type &lt;b&gt;whoami /groups&lt;/b&gt;. It will list all the groups that you belong, one of them will be &lt;b&gt;Smart Card Authenticated&lt;/b&gt;. Logon with UserID/pwd and you’ll not be member of that group. &lt;/p&gt;  &lt;p&gt;The next step is really making some use out of this information. Applications must be designed to take advantage of this information and make authorization decisions based on level of assurance we provide to it. Perfect candidates for it are claims based applications. We can generate a claim type, for example lets name it “LOA”, which stands for Level of Assurance, and assign different value to it. If user used userID/pwd, we assign 2 to LOA, if user used Smart Card then LOA will have 3. Application will decide what to do base on those values in LOA claim type. &lt;/p&gt;  &lt;p&gt;Next, we are going to create LOA claim type in AD FS 2 and pass it to the application. I’ll discuss it in the next post.&lt;/p&gt;  &lt;p&gt;Thanks for stopping by. See my other blog as well &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt; for this information and some comments.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3506305" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="PKI" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/PKI/" /><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="Claims Based Authentication" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims+Based+Authentication/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="Cloud Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Cloud+Security/" /><category term="Certificate Templates" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Certificate+Templates/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="Claims" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims/" /><category term="Kerberos" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Kerberos/" /><category term="Smart Card" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Smart+Card/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /><category term="Certficate Policy" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Certficate+Policy/" /><category term="Issuance Policy" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Issuance+Policy/" /><category term="Authentication Mechanism Assurance" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Authentication+Mechanism+Assurance/" /><category term="OID" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/OID/" /></entry><entry><title>New UAG Book - Mastering Microsoft Forefront UAG 2010 Customization</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2012/03/27/new_2D00_uag_2D00_book_2D00_mastering_2D00_microsoft_2D00_forefront_2D00_uag_2D00_2010_2D00_customization.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2012/03/27/new_2D00_uag_2D00_book_2D00_mastering_2D00_microsoft_2D00_forefront_2D00_uag_2D00_2010_2D00_customization.aspx</id><published>2012-03-27T13:04:12Z</published><updated>2012-03-27T13:04:12Z</updated><content type="html">&lt;p&gt;My last few posts were dedicated to customization of the look and feel of the UAG 2010 Logon/Logoff and Portal experience. I had to figure out a lot of it on my own without any type of documentation. Well, there is a good news, PACKT Publishing just released a new book on how to customize UAG implementation. It is written by the same folks who wrote a must have book on UAG Administration, and published from the same publisher. If you are doing any work with UAG 2010 then both of these books should be in your library! &lt;/p&gt;  &lt;p&gt;I just had a chance to read through the new book. It covers a lot of different topics and shows how to customize UAG installation, and at the same time keep it in supported condition.&lt;/p&gt;  &lt;p&gt;You can check it out at the publisher web site &lt;a title="http://www.packtpub.com/mastering-microsoft-forefront-uag-2010-customization/book" href="http://www.packtpub.com/mastering-microsoft-forefront-uag-2010-customization/book"&gt;http://www.packtpub.com/mastering-microsoft-forefront-uag-2010-customization/book&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3488796" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="UAG 2010" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+2010/" /><category term="UAG Custom Portal" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+Custom+Portal/" /><category term="UAG Customization" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+Customization/" /></entry><entry><title>UAG 2010 Custom Logon and Logoff Pages</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2012/01/22/uag_2D00_2010_2D00_custom_2D00_logon_2D00_and_2D00_logoff_2D00_pages.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2012/01/22/uag_2D00_2010_2D00_custom_2D00_logon_2D00_and_2D00_logoff_2D00_pages.aspx</id><published>2012-01-23T00:12:02Z</published><updated>2012-01-23T00:12:02Z</updated><content type="html">&lt;p&gt;Ever needed to modify UAG 2010 default Logon/Logoff pages to something a bit more custom? I did on one of my recent projects. &lt;/p&gt;  &lt;p&gt;See it for more details on full width page on my blog at&amp;#160; &lt;a title="http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/" href="http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/"&gt;http://cloudidentityblog.com/white-papers/uag-2010-custom-logon-and-logoff-pages/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks,    &lt;br /&gt;Dmitrii&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3476689" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="Web.Sitemap" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Web-Sitemap/" /><category term="CustomUpdate" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/CustomUpdate/" /><category term="PortlalHomePage" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/PortlalHomePage/" /><category term="EN-US.XML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/EN_2D00_US-XML/" /><category term="CSS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/CSS/" /><category term="Office.css" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Office-css/" /><category term="Logout.Sitemap" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Logout-Sitemap/" /><category term="UAG 2010" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+2010/" /><category term="UAG Custom Portal" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+Custom+Portal/" /><category term="InternalSite" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/InternalSite/" /><category term="Logon" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Logon/" /><category term="Template.css" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Template-css/" /><category term="Logoff" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Logoff/" /></entry><entry><title>UAG 2010 Custom Portal</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2012/01/18/uag_2D00_2010_2D00_custom_2D00_portal.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2012/01/18/uag_2D00_2010_2D00_custom_2D00_portal.aspx</id><published>2012-01-19T01:47:16Z</published><updated>2012-01-19T01:47:16Z</updated><content type="html">&lt;p&gt;Ever needed to modify UAG 2010 default portal page to something a bit more custom? I did on one of my recent projects. &lt;/p&gt;  &lt;p&gt;See it for more details on full width page on my blog at &lt;a title="http://cloudidentityblog.com/white-papers/uag-2010-custom-portal/" href="http://cloudidentityblog.com/white-papers/uag-2010-custom-portal/"&gt;http://cloudidentityblog.com/white-papers/uag-2010-custom-portal/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3476192" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Web.Sitemap" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Web-Sitemap/" /><category term="CustomUpdate" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/CustomUpdate/" /><category term="PortlalHomePage" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/PortlalHomePage/" /><category term="EN-US.XML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/EN_2D00_US-XML/" /><category term="CSS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/CSS/" /><category term="Office.css" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Office-css/" /><category term="UAG." scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG_2E00_/" /><category term="Logout.Sitemap" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Logout-Sitemap/" /><category term="UAG 2010" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+2010/" /><category term="UAG Custom Portal" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG+Custom+Portal/" /></entry><entry><title>UAG 2010 and AD FS v2 White Paper is Published</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/11/05/uag_2D00_2010_2D00_and_2D00_ad_2D00_fs_2D00_v2_2D00_white_2D00_paper_2D00_is_2D00_published.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/11/05/uag_2D00_2010_2D00_and_2D00_ad_2D00_fs_2D00_v2_2D00_white_2D00_paper_2D00_is_2D00_published.aspx</id><published>2011-11-05T17:42:22Z</published><updated>2011-11-05T17:42:22Z</updated><content type="html">&lt;p&gt;Over the last three month I published many articles on UAG and AD FS. While it each of the posts provides its own information, many of them refer or build on the knowledge provided in the prior posts. So if you had to read it altogether you’d have to start from the end and read forward. One continuous document is is easier to read and for that reason I combined all of these posts and published them as a single white paper document. Also, since it is not a traditional blog post, I removed the side bar, which allowed me to expand the size of the diagrams and make them more usable to the reader.&lt;/p&gt;  &lt;p&gt;Just follow the following link to access it from my CloudIdentityBlog.com blog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cloudidentityblog.com/white-papers/uag-2010-and-ad-fs-v2-are-better-together/"&gt;&lt;strong&gt;&lt;font size="3"&gt;UAG 2010 and AD FS v2 are Better Together White Paper&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3463472" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>AD FS and UAG are Better Together–Example of a real Solution</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/10/29/ad-fs-and-uag-are-better-together-example-of-a-real-solution.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/10/29/ad-fs-and-uag-are-better-together-example-of-a-real-solution.aspx</id><published>2011-10-29T14:44:27Z</published><updated>2011-10-29T14:44:27Z</updated><content type="html">&lt;p&gt;In the last nine posts we reviewed different topologies and discussed some of the techniques on how to integrate these topologies together. In this post we’ll take a look at real example of a production implementation. &lt;/p&gt;  &lt;p&gt;The solution very similar to the following design has been implemented by one of the large enterprise companies. We will review it here in some detail. Every real world implementation is based on some type of specific requirements that the customer would like to satisfy. The solution is called “Application Gateway” or simply “Gateway”. The following are the main requirements that this solution must satisfy:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide a secure infrastructure solution that can be accessed by users over the Internet.&lt;/li&gt;    &lt;li&gt;Provide an application portal to host applications for access by both internal and external users.&lt;/li&gt;    &lt;li&gt;Allow external users to create accounts.&lt;/li&gt;    &lt;li&gt;Allow external users to change their passwords.&lt;/li&gt;    &lt;li&gt;Provide external users with self-service password reset functionality.&lt;/li&gt;    &lt;li&gt;Allow internal users to leverage their current existing credentials for gaining access to the resources in this solution.&lt;/li&gt;    &lt;li&gt;Federated access to published applications by partner users.&lt;/li&gt;    &lt;li&gt;The solution must be secure, implemented in the DMZ environment, and ideally without Windows trusts between this solution environment and internal AD.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I just listed the main ones, but there are many more specific requirements. Those are not necessarily dictating the overall solution architecture. &lt;/p&gt;  &lt;p&gt;The following software components are part of the solution, with Figure 1 showing how they relate to each other:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;FIM 2010 R2 - All IDM related functions&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Self-registration for external users&lt;/li&gt;      &lt;li&gt;SSPR for external users&lt;/li&gt;      &lt;li&gt;Group Management for application access AuthZ&lt;/li&gt;      &lt;li&gt;Approval Workflows for user creation&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;UAG SP1 – External and Internal entry into the application hosting environment&lt;/li&gt;    &lt;li&gt;AD FS v2 – Authentication into the environment&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;For external users access to SAML apps&lt;/li&gt;      &lt;li&gt;For internal users SSO to Gateway and access to SAML Apps&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;SCOM/ACS – Monitoring and Audit&lt;/li&gt;    &lt;li&gt;AD – Directory Services&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7652.image_5F00_11A55A1C.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1805.image_5F00_thumb_5F00_00054984.png" width="629" height="363" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1: Solution Components&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;UAG Trunk Design in this solution will have at least three trunks on each UAG server, as shown in Figure 2.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The first trunk will publish Anonymous applications. This trunk will be configured without any authentication requirements. The following are primary applications that will be published via this trunk:&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;Initial landing page for users with menu selection of different tasks&lt;/li&gt;      &lt;li&gt;Self Service Password Reset application&lt;/li&gt;      &lt;li&gt;Self-User Registration application&lt;/li&gt;   &lt;/ol&gt;    &lt;li&gt;2. The second trunk will publish a portal for external users with password change function&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;This trunk will use AD for primary authentication to the portal&lt;/li&gt;      &lt;li&gt;Will use AD FS as secondary for claims-enabled apps&lt;/li&gt;   &lt;/ol&gt;    &lt;li&gt;3. The third trunk will publish a portal for users authenticating via SAML (Federated)&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;This trunk will use AD FS as the primary authentication to the portal&lt;/li&gt;      &lt;li&gt;It will be configured as a relaying party with RP-STS&lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8420.image_5F00_7B5F18FC.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6170.image_5F00_thumb_5F00_18188E12.png" width="619" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 2: UAG Trunks&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Figure 3 shows Federation configuration for this solution. It will have at least three AD FS Farms:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The first farm will act as resource provider, and it will be configured with all applications in the Gateway application environment. All claims-enabled applications will trust this STS. In Figure 23, it is shown as RP-STS (fs2.fabrikam.com). As you can see, both UAG servers, specifically ADFS configured trunks, are some of the applications that are configured as relying parties with this RP-STS. &lt;/li&gt;    &lt;li&gt;The second AD FS server farm will provide SAML tokens to external users with accounts in the Gateway Active Directory. It will act as an identity provider to external users who have accounts in the Gateway AD. This STS is shown as IdP-STS (fs1.fabrikam.com). This STS will not be accessed via UAG as by means of UAG proxy. Instead it will be published on the FBA trunk as a secondary authentication provider. &lt;/li&gt;    &lt;li&gt;The third AD FS server farm will provide SAML tokens to internal users with accounts in Corporate Fabrikam AD. It will act as an identity provider to internal users. This STS is shown as IdP-STS (fs3.fabrikam.com). This STS is not published via UAG. In fact, it is providing Federated WebSSO to the RP-STS, so that internal Fabrikam users will be able to authenticate into the Gateway environment without being required to have a known UserID/Password in the Gateway AD. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1488.image_5F00_2F831C76.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/4628.image_5F00_thumb_5F00_2C2184CE.png" width="614" height="319" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 3: Federation Design&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;At this point, we need to review a very important technical requirement that must be satisfied for this solution to work. Internet facing UAG and internally exposed UAG must be resolved via the same DNS name. They must be identical. In other words, if an Internet based client types in the browser the name for this portal as &lt;i&gt;portal.fabrikam.com&lt;/i&gt;, it should resolve to the external UAG IP address. At the same time, if internal user, using a computer on the corporate network is using the same URL, it should be resolved to the internal UAG server IP address. Why is this the case? It actually has nothing to do with UAG. This requirement comes from AD FS – the federation service URL always stays the same. In our example, if the client needs to get a SAML token from the &lt;i&gt;fs2.fabrikam.com&lt;/i&gt; AD FS server, it must be able to resolve this URL and connect to it via that URL. Since this FS service is published via two different UAG servers, both sides of the users must be able access it via the same URL.&lt;/p&gt;  &lt;p&gt;The easiest and most common way to satisfy this requirement is by having “split-brain” or dual zone DNS design. Basically, companies would have two different zones with the same name, one exposed to the Internet and one that is only internal. Figure 4 gives a visual demonstration of this requirement.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1882.image_5F00_52BFEB4E.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0334.image_5F00_thumb_5F00_28903D66.png" width="615" height="274" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 4: Split brain dual zone DNS design&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Let’s review how different users would authenticate into the Gateway and access published applications. First, we will start with internally based users. Figure 5 provides a high level flow of how internal users will authenticate to the internal UAG server. For internal users whose domain was federated with Gateway, they will use the ADFS trunk as their primary portal. When they try to authenticate, they will be using Federated WebSSO, with first step (1a) accessing RP-STS and performing a home realm discovery, which will redirect them to their internal IDP-STS in step 1b, where they get their initial SAML token, which will be provided back to RP-STS (step 1c). RP-STS will issue the final token, which the client will provide to the ADFS trunk (step 1d), and the user is authenticated to the portal. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7271.image_5F00_5962CF04.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2068.image_5F00_thumb_5F00_5CB440DF.png" width="610" height="327" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 5: Internal user authentication to UAG&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;After successful authentication, the user will see a list of applications published to him via the AD FS trunk. The authorization to see these applications must be done via contents of the claims. Using normal security groups from Gateway AD will no longer work because the internal user actually does not use Gateway AD for authentication to the portal.&lt;/p&gt;  &lt;p&gt;There are two types of applications that are supported via AD FS enabled trunks: Kerberos Applications and Claims-enabled applications. &lt;/p&gt;  &lt;p&gt;In this solution, FIM 2010 R2 must be published to the internal users so they can get into the FIM 2010 R2 portal and perform administrative tasks, such as approve or deny external user account requests. FIM R2 is not a claims-enabled application, but it is a Kerberos based application and it can be published via AD FS enabled trunk by using Kerberos Constrained Delegation. Of course for this to work, the Gateway AD must have a shadow account for internal users. FIM R2 will actually help with creating shadow accounts. It is configured to synchronize internal Fabrikam AD user accounts into the Gateway AD, thus creating a shadow account for internal users. It will not synchronize user passwords into Gateway AD. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5102.image_5F00_62CB67AD.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7840.image_5F00_thumb_5F00_2652F303.png" width="614" height="332" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 6: Internal user accessing Kerberos Applications&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Internal users will be able to access FIM R2 via SSO experience and perform their work as needed. Figure 6 shows the basic authentication step for Kerberos based application. In the future, this solution will be able to publish other Kerberos based applications, and they will be accessed in the same way as FIM 2010 R2. They will require proper SPN configuration and Gateway AD, but users will already have shadow accounts.&lt;/p&gt;  &lt;p&gt;The other type of applications that can be published via AD FS enabled trunks are claims-based applications. These are easy and straight forward to publish and access via AD FS trunk. Figure 7 provides a high level authentication flow for internal users. &lt;/p&gt;  &lt;p&gt;The interesting part in this authentication flow and what is different from the original authentication to the portal itself is the fact that the client does not need to get another security token from its internal IdP-STS. Since he is already authenticated to the portal, after the client tries to access the published application, the client browser will only need to request a new security token from RP-STS, specific for this application, as it shown in Figure 7.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7752.image_5F00_0191B5BF.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5611.image_5F00_thumb_5F00_4BCC4A97.png" width="619" height="332" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 7: Internal user accessing claims applications&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Finally, we can examine authentication flow and application access by external users. There will be two types of external users: users with accounts registered in the Gateway AD for which they know their passwords and federated users, whose identity belongs to some other organization. Each user type will have to use different trunks for authentication. &lt;/p&gt;  &lt;p&gt;External users with accounts in Gateway AD will be accessing it by using a UAG trunk with Gateway AD as the primary authentication provider. The primary reason for this configuration is to allow these users to change their passwords and to notify them when their password is about to expire. Trunks that use AD FS as the primary authentication provider do not provide password management functions.&lt;/p&gt;  &lt;p&gt;Federated external users will access the portal via UAG trunks with the AD FS server as the primary authentication provider. While these users are important to the future of this solution, the current primary user base will consist of external users with accounts in Gateway AD, and, for this reason, Figure 29 shows the authentication flow and access to applications for these types of users only.&lt;/p&gt;  &lt;p&gt;First, the user will need to authenticate into the portal, which will be done via UAG forms based authentication with Gateway AD account. After successful authentication into the portal, the user will be presented with a list of applications, which he/she has been authorized to access. The authorization is based on the AD group membership. The authentication flow to the application will depend on the application type. &lt;/p&gt;  &lt;p&gt;Non-claims enabled applications are actually very straightforward. For example, FIM 2010 R2 will be published to external users by using SSO function of the UAG trunks, and it will use the same authentication provider as for the trunk itself. Users will access such applications by utilizing their AD credentials, with UAG taking care of this authentication behind the scenes and without any special type of configuration requirements. This flow is shown as step 2 to Kerberos enabled applications.&lt;/p&gt;  &lt;p&gt;Authentication to claims-enabled applications will be a bit more complex. Figure 8 shows it with step 3 flow. The application is published via the FBA trunk portal, and the user will try to access it via that portal. With step 3a, it will contact the application and learn that the application trusts RP-STS. RP-STS is not published via FBA trunk. It is published via ADFS Trunk, a different trunk on the UAG server. In step 3b, the user’s browser will be redirected to the RP-STS to get the token for the target application. Theoretically, we could issue a SAML token at this point in time, but since RP-STS is not published via an FBA Trunk, we will not be able to provide SSO experience to the end user. If we would end the process here, the user would be required to authenticate to RP-STS. Since there is no SSO for this user on the ADFS trunk, he/she will be prompted for credentials. Instead, the Home Realm Discovery will happen, and the user will be redirected to the IdP-STS (fs1.fabrikam.com). IdP-STS is published on the FBA trunk, and it is configured with SSO authentication via Gateway AD. The user is already authenticated to the FBA trunk and via step 3c will authenticate to the IdP-STS and receive security token. This token will be posted back to the RP-STS in step 3d, which will be transformed into a new token, suitable for the target application. It will be provided back to the client computer and posted to the application via FBA trunk in step 3e. The application will authenticate the user and open in the user’s browser.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6607.image_5F00_0DA30A19.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/3580.image_5F00_thumb_5F00_3BCCE006.png" width="639" height="340" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 8: External User Authentication and Application Access&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;It is not the most straightforward authentication experience, but as discussed earlier in this paper, configuration of claims-based applications with multiple UAG trunks requires separation between Resource Provider STS and Identity provider STS. Otherwise it will not be published via different UAG trunks.&lt;/p&gt;  &lt;p&gt;Authentication of a federated user via an external UAG server is done the same way. It is for internal Fabrikam users, straight forward federated WebSSO.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Things to know about this design:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;During the implementation of this solution, we discovered a few restrictions in AD FS that would not be very obvious if we used only one UAG server. However with dual implementation and especially with identical name spaces on Internet and Intranet, we ran into some minor constraints. Fortunately, fairly easy workaround were quickly identified to bypass them.&lt;/p&gt;  &lt;p&gt;The first constraint is related to the certificate usage on AD FS. It will not allow the use of the same certificate (certificate with the same hash) on multiple relying parties. Why is this a problem? Since we have the identical name space on the internal network and external network, originally we tried to save on costs and use the same wild card certificate (*.fabrikam.com) on external UAG and internal UAG servers. UAG servers will work just fine with the same cert, but when time came to set them up as relying parties on the AD FS RP-STS server, we encountered a problem. AD FS did not allow the creation of the second relying party with a certificate whose hash had already been used by another relying party. The simple solution to get around this problem is to issue two different wild card certificates, one for internal UAG and one for external UAG. Usually these certificates must be trusted by Internet clients, so you would need to get them from one of the commercial certificate providers, and it will double your cost.&lt;/p&gt;  &lt;p&gt;The second constraint is related to the naming of the ADFS Trunks on external and internal UAG servers and the potential conflict with RP-STS Federation Services for each relying party. During ADFS trunk configuration on the UAG server, it is most logical to configure the public URL for the trunk to match the URL of the published Federation server. By default, you would probably create the ADFS trunk for &lt;i&gt;fs2.fabrikam.com&lt;/i&gt; AD FS with the same URL, i.e. it will be &lt;i&gt;fs2.fabrikam.com. &lt;/i&gt;Then you would proceed to configure AD FS with the UAG relying party, which will configure it with the Federation Service URL as &lt;i&gt;fs2.fabrikam.com&lt;/i&gt;. So far so good, we have no issues. Now, we proceed with the configuration of the second UAG server, where we create the UAG trunk for internal users, with the same URL, to match RP-STS, ie, &lt;i&gt;fs2.fabrikam.com&lt;/i&gt;. This is done without any issues on the UAG server. The second step in configuration will be the creation of the relying party trust on the AD FS server. AD FS will not allow you to create the relying party trust to the second UAG server. This is because it is using the same URL as the first one, and AD FS will not allow two relaying parties with the same URL. Fortunately, there is a workaround for this as well. All you need to do is to configure each ADFS trunk with its own unique URL, different from the RP-STS URL. For example, the external UAG AD FS Trunk can be configured with the following URL for its public name: &lt;i&gt;fs2e.fabrikam.com&lt;/i&gt;, and internal UAG AD FS trunk can be configured with the following URL for its public name: &lt;i&gt;fs2i.fabrikam.com&lt;/i&gt;. When configuring each UAG server with RP-STS, they will appear as different relying parties, and AD FS will be happy. One thing to remember is to make sure that DNS is configured to resolve &lt;i&gt;fs2.fabrikam.com&lt;/i&gt; to each respective UAG trunk, i.e. it needs to point to the same IP address as its internal or external public trunks URLs. &lt;/p&gt;  &lt;p&gt;Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3462165" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>Designing UAG and AD FS Solution</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/10/18/designing_2D00_uag_2D00_and_2D00_ad_2D00_fs_2D00_solution.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/10/18/designing_2D00_uag_2D00_and_2D00_ad_2D00_fs_2D00_solution.aspx</id><published>2011-10-19T02:44:25Z</published><updated>2011-10-19T02:44:25Z</updated><content type="html">&lt;p&gt;In the last many posts we looked at all kind of different topologies for UAG and AD FS configuration. &lt;/p&gt;  &lt;p&gt;Now, since we are armed with knowledge of different configuration options, we can put all of them to use and see how we can apply them to real life situations. Before we do this, we need to revisit some critical technical requirements that exist with UAG and ADFS v2. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The UAG server can use the same AD FS v2 Federation Service URL only in one UAG trunk. This constraint is very important to understand because it is one of the critical elements that will affect your design. &lt;/li&gt;    &lt;li&gt;Based on the previous requirement, if your configuration requires multiple UAG trunks with AD FS v2 support, and we will examine shortly why this might be the case, you will need to implement a separate AD FS v2 server for each UAG trunk. &lt;/li&gt;    &lt;li&gt;UAG can provide Kerberos Constrained Delegation (KCD), but with the following constraints: &lt;/li&gt; &lt;/ol&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;The UAG server must be in the same AD domain as the application server it is trying to access; &lt;/li&gt;      &lt;li&gt;The User Account used to authenticate to the UAG server (the one we need to use KCD for) must be in the same AD Forest as the UAG server. If the user comes from a trusted AD Forest, the KCD will not work. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;While designing your solution, you will have to gather a lot of requirements and understand the customer’s situation. Some requirements will force you into certain design topologies, and it is important to answer them at the beginning of the design process. There are at least three main questions that you have to answer when designing your UAG/ADFS access solution. The answers to these questions will direct you into a certain design topology or might require a combination. &lt;/p&gt;  &lt;p&gt;The first question relates to password management. If you have a requirement to provide password management capabilities to remote users, -i.e. password change and notification of expiring password, you must use a UAG trunk that uses AD as the primary authentication provider. This type of trunk will authenticate you before providing access to any published applications. Access to claims based applications will be done via a secondary authentication to the back end published AD FS v2 server. This is the first topology that we discussed in the first part of this paper. Figure 1 shows this configuration. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2046.image_5F00_0C5B5A08.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1157.image_5F00_thumb_5F00_2A5967FC.png" width="562" height="243" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1: UAG with One Trunk and dedicated AD FS in each Trunk&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The second question relates to strong authentication, i.e. Smart Card based authentication. If there is a requirement to provide Strong Authentication, then your remote access solution must have topology #2, with UAG trunk configured for Smart Card authentication against the Active Directory and the AD FS server configured as an authentication provider for the claims based application. Anytime there is a requirement to use Smart Card authentication on the UAG portal, it will consume at least one AD FS Federation Service. Since we cannot use the same trunk to provide authentication via AD UserID/Password and Strong Authentication, the configuration will have at least two UAG trunks. Figure 2 shows this configuration.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8103.image_5F00_4F76B268.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1641.image_5F00_thumb_5F00_3868312C.png" width="562" height="314" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 2: UAG with Two Trunks and dedicated AD FS in each Trunk&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The third question relates to the federation requirements with other companies. We need to identify if there is a federation requirement with external partners, specifically with IDP partners, where your company provides application resource for their use. If there is none, then our solution encompasses topology #1 and/or #2. If you must support federation as RP STS, then it complicates things. UAG trunks used for FBA or Smart Card authentication will consume their AD FS Federation Services, and it cannot be used by another trunk on the same UAG server.&lt;/p&gt;  &lt;p&gt;We must implement yet another AD FS Federation Service on the internal network. If you need to satisfy all three requirements, you will need to have at least three UAG trunks, each with its own dedicated AD FS v2 server. Figure 3 shows this configuration. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/4380.image_5F00_2B21A819.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7345.image_5F00_thumb_5F00_0F9CA616.png" width="566" height="338" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 3: UAG with Three Trunks and dedicated AD FS in each Trunk&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;As you see in Figure 3, this is not a simple solution anymore. While we can use the same UAG server to publish all of these services and all kinds of applications, we must implement three separate AD FS services. However, this is not the end of the complications. There are still some critical design decisions that you must make. What is the ultimate goal of this solution? Yes, the goal is to publish applications to the end users. And what type of applications are we trying to publish via UAG/ADFS configuration? We are trying to publish claims based applications. Let’s think for a moment about configuration requirements for claims-based application. The first and foremost requirement is that it must be configured with a trusted Security Token Service. It must be able to accept security tokens from trusted STS for user authentication. &lt;/p&gt;  &lt;p&gt;How would we need to configure the claims-based application with multiple AD FS v2 servers and multiple UAG trunks? The first logical way to look at it is by creating trusts between the target application and each STS. As shown in Figure 4, in such configuration each trunk will have its own AD FS server which will be able to issue security tokens to the application. The problem with this approach resides with Home Realm Discovery. If we configure the application to trust multiple STSs, we have to make some type of determination at the application level of where the user must authenticate to get the valid security token. We are taking Home Realm Discovery out of the AD FS realm and trying to do it at the application level. While theoretically it is possible, the reality is that applications are not designed to do Home Realm Discovery. The underlying Windows Identity Foundation service must be extended to provide this functionality, which is not very easy to do and, in most situations, is not the best practice. The goal behind claims based authentication is to simplify authentication and simplify the application developer’s life, thus outsourcing authentication related Home Realm Discovery functions to the services designed for this purpose. The bottom line is that setting the application with multiple STSs is not recommended, and it is not the best practice.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0083.image_5F00_06606AD5.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/4774.image_5F00_thumb_5F00_0F6CF656.png" width="573" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 4: Application with multiple RP-STS&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The other common way to configure claims-based application is with one STS. Usually it will be designated as the Resource Provider role (RP-STS) and let RP-STS issue all security tokens for this application. RP-STS will be required to route user requests destined for other Identity providers. In our configuration, one of the AD FSv2 servers will be acting in this role. Which one should it be? The STS published via federated UAG trunk, (i.e. with UAG acting as AD FS proxy,) is the right choice for RP-STS. The configuration is shown in Figure 5.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8507.image_5F00_22417A00.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6763.image_5F00_thumb_5F00_0728AAF2.png" width="577" height="278" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 5: Application with dedicated RP-STS&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This is a complex solution, but if you must have at least two UAG trunks with support for claims-based applications, this is the only viable choice to publish them. &lt;/p&gt;  &lt;p&gt;In the next post we will take a look at a specific real world example of how UAG and AD FS can be used to publish applications.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3460120" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>UAG and ADFS Better Together–Authentication via Azure ACS</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/10/17/uag_2D00_and_2D00_adfs_2D00_better_2D00_togetherauthentication_2D00_via_2D00_azure_2D00_acs.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/10/17/uag_2D00_and_2D00_adfs_2D00_better_2D00_togetherauthentication_2D00_via_2D00_azure_2D00_acs.aspx</id><published>2011-10-18T02:51:20Z</published><updated>2011-10-18T02:51:20Z</updated><content type="html">&lt;p&gt;This post discussing how it is possible to publish applications to Internet based users who authenticate to the UAG via one of the Internet Cloud Identity Providers, such as LiveID, Google, Yahoo or Facebook. The Windows Azure ACS acts as IdP-STS in this configuration topology. &lt;/p&gt;  &lt;p&gt;This is essentially the same as what we discussed in the previous configuration, where we published applications to partner organizations. The key difference here is that we do not actually have a specific individual organization. In this configuration, we are able to provide access to our applications to anyone who already has an identity at one of the big Cloud Identity providers – Microsoft LiveID, Google, Yahoo and Facebook. This accounts for millions of users. &lt;/p&gt;  &lt;p&gt;The Microsoft Cloud development platform, Azure, provides this very unique capability via Azure Access Control Services. Azure ACS is configured to use these four identity providers as a potential authentication source. Very minimum configuration is required. Azure ACS must be configured as a trusted Identity provider with our internal RP-STS. From there on, the authentication is very similar to Federated WebSSO. &lt;/p&gt;  &lt;p&gt;After the user tries to access the published application, he will be redirected to the RP-STS. Home Realm Discovery will be done at this point, and the user will be redirected to the Identity Provider, in this case Azure ACS. Depending on how Azure ACS is configured, it will redirect the user to one of the Cloud providers or it will give the user the option to choose one of them. The user will authenticate to the Cloud Identity provider and will be redirected back to Azure ACS, which, in turn, will create a SAML security token, provide it to the user, and from there on it will be posted back to RP-STS, transformed, and provided to the target application. Figure 1 shows the high level configuration for this topology. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/3326.image_5F00_1717B532.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7723.image_5F00_thumb_5F00_05E3D78F.png" width="568" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1: Azure ACS in Federated WebSSO&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3459839" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>UAG and ADFS Better Together–Publishing Applications to Partner Organizations</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/10/02/uag_2D00_and_2D00_adfs_2D00_better_2D00_togetherpublishing_2D00_applications_2D00_to_2D00_partner_2D00_organizations.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/10/02/uag_2D00_and_2D00_adfs_2D00_better_2D00_togetherpublishing_2D00_applications_2D00_to_2D00_partner_2D00_organizations.aspx</id><published>2011-10-02T15:02:13Z</published><updated>2011-10-02T15:02:13Z</updated><content type="html">&lt;p&gt;In this scenario, our partner organization users access claims based applications published by our organization UAG servers. The partner users provide security tokens issued by the partner controlled Identity Provider to our AD FS v2 published by the UAG server. This configuration is the most common federated access scenario, and UAG works very nicely to make it all happen. &lt;/p&gt;  &lt;p&gt;The ultimate goal of such configuration is to provide a SSO experience to the end user and never ask them for additional credentials or any type of questions. There are two main areas that must be properly configured to accommodate SSO. The first one is part of the partner organization configuration. Their IdP must be able to authenticate the user on their internal network via SSO. This is easily done if IdP is using AD FSv2. As part of the same AD Forest, it will authenticate internal users via Windows Integrated Authentication and will issue the required security tokens. The second part in this configuration is to configure Home Realm discovery. RP-STS residing on our network (woodgrovebank.com) is probably acting as IdP for internal users, or it might have more Federated trusts with other IdPs. The proper configuration of Home realm discovery is important in Federated configurations so that users are not confused where they need to authenticate and that they might not need to see other partners in your organization. Home realm discovery can be configured via multiple ways and is a topic of its own. We will cover it sometime in future updates to this paper or via a separate article. &lt;/p&gt;  &lt;p&gt;Figure 1 shows the overall topology for federated application publishing. If you are familiar with all previous topologies, then you can see how this will work, as it is pretty much an extension on all the previous configurations. Let’s take a look via Figure 2 at the high level authentication flow. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6433.image_5F00_2C7AA3D4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6433.image_5F00_thumb_5F00_12E2F0DA.png" width="695" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1: Federated WebSSO Components&lt;/b&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First, the remote user will try to access the application published via the UAG server. Since the application is configured to work over claims-based authentication, it will redirect the browser to its RP-STS. &lt;/li&gt;    &lt;li&gt;RP-STS can be published on the same UAG trunk as our application. This trunk must not use internal AD for authentication. It must be configured as AD FS proxy trunk with RP-STS as the AD FS server behind it – i.e. it must be acting as a relying party. The user will contact RP-STS to get the security token for our target application. This is when Home Realm discovery takes place. If Home Realm Discovery is not configured to automatically redirect this user to his own IdP, then he/she will be prompted to choose his IdP from a list of configured trusted IdPs. &lt;/li&gt;    &lt;li&gt;During this step, the browser is redirected to his IdP, and it will try to request a security token for RP-STS. IdP-STS and RP-STS have a trust relationship, and, based on the conditions of this relationship, the IdP-STS will issue a security token to the user. &lt;/li&gt;    &lt;li&gt;This token will be posted back to the RP-STS, where it will be evaluated and based on the configured rules, and transformed into a new security token with a new set of claims suitable for consumption by the target application. &lt;/li&gt;    &lt;li&gt;The token generated by the RP-STS is redirected back to the user computer, and then, in steps 6 and 7, this token is posted back to the target application. The application will make its authentication and authorization decisions based on the claims presented in the token. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6136.image_5F00_211143FD.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5700.image_5F00_thumb_5F00_5C34F9FB.png" width="707" height="341" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 2: Federated WebSSO Authentication Flow&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;This topology is an extension of the third topology we discussed in this paper, (Authentication to UAG Portal via Claims Based Authentication and accessing internal claims based application,) and all of the specific configuration related to the UAG and AD FS server are generally the same as in that configuration. The main differences are related to the more complicated Home Realm Discovery configuration and configuration of the partner IdP-STS. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3456768" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>UAG and AD FS are Better Together – Publishing Non-Claims Based Applications</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/09/24/uag_2D00_and_2D00_ad_2D00_fs_2D00_are_2D00_better_2D00_together_2D00_publishing_2D00_non_2D00_claims_2D00_based_2D00_applications.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/09/24/uag_2D00_and_2D00_ad_2D00_fs_2D00_are_2D00_better_2D00_together_2D00_publishing_2D00_non_2D00_claims_2D00_based_2D00_applications.aspx</id><published>2011-09-24T14:27:41Z</published><updated>2011-09-24T14:27:41Z</updated><content type="html">&lt;p&gt;In article “&lt;a href="http://cloudidentityblog.com/2011/09/01/uag-and-ad-fs-are-better-together-uag-as-ad-fs-proxy/"&gt;UAG and AD FS are Better Together – UAG as AD FS Proxy&lt;/a&gt;”&amp;#160; we explored how user authenticates to UAG portal via claims based authentication and then accesses claims based application published via UAG portal. But what if published application does not support claims based authentication, after all how many applications out there that do? Fortunately, UAG is capable to publish and provide SSO experience for non-claims based applications as well. The caveat here is that they must support Kerberos authentication. If you remember this “&lt;a href="http://cloudidentityblog.com/2011/08/25/uag-and-adfs-are-better-together-strong-authentication/"&gt;UAG and ADFS are Better Together– Strong Authentication&lt;/a&gt;” topology where we provided access with strong authentication, we configured KCD authentication&amp;#160; between UAG and AD FS server. In this topology the configuration is slightly different but concept is the same. Instead of doing KCD between UAG and AD FS, we’ll need to configure KCD between UAG and the target application. &lt;/p&gt;  &lt;p&gt;UAG is smart enough to transition from the claims based authentication and request Kerberos ticket from AD Domain Controller on behalf of the user. During application configuration you’ll need to specify what claim you’d like to use as a leading value to get the Kerberos ticket. UPN is a good choice. Also, the proper SPN must be configured in AD for the target application. &lt;/p&gt;  &lt;p&gt;Figure 1 shows main aspects of this configuration and Figure 2 provides high level authentication steps of how this works. It is very similar to the previous configurations, just in slightly different order.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2148.image_5F00_7A0C1A5A.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6378.image_5F00_thumb_5F00_09EB3952.png" width="730" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First, user must authenticate to the portal with SAML token, this is done via authentication to the backend AD FS server. &lt;/li&gt;    &lt;li&gt;When user tries to access published application that was configured with Kerberos Authentication, the UAG server will contact AD Domain Controller and will get Kerberos Service ticket for the target application. It will use the claim value that was configured with this application in its request to Domain Controller. &lt;/li&gt;    &lt;li&gt;Then UAG will send Kerberos ticket to the target application. Application will use the Kerberos ticket for authentication and authorization decision. &lt;/li&gt;    &lt;li&gt;If authentication was successful target application will allow access to the end user. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/3225.image_5F00_30A929C5.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/4214.image_5F00_thumb_5F00_65860935.png" width="731" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This configuration has similar constraints as was discussed in topology with Smart Card authentication, they relate to the Kerberos constraints. In this configuration application servers must reside in the same Active Directory Domain as UAG server (obviously that means that UAG must belong to AD domain) and the user account must be in the same Active Directory Forest as UAG server as well. Also, there are requirements on the Domain and Forest Functional level, it must be at least at Windows 2003 level.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3455322" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="Smart Card" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Smart+Card/" /></entry><entry><title>UAG and AD FS are Better Together – Strong Auth to Cloud Based Applications</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/09/22/uag_2D00_and_2D00_ad_2D00_fs_2D00_are_2D00_better_2D00_together_2D00_strong_2D00_auth_2D00_to_2D00_cloud_2D00_based_2D00_applications.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/09/22/uag_2D00_and_2D00_ad_2D00_fs_2D00_are_2D00_better_2D00_together_2D00_strong_2D00_auth_2D00_to_2D00_cloud_2D00_based_2D00_applications.aspx</id><published>2011-09-22T23:25:13Z</published><updated>2011-09-22T23:25:13Z</updated><content type="html">&lt;p&gt;Today we will discuss a solution that provides the following functionality: You what to require your company external users to use strong AuthN when they access 3&lt;sup&gt;rd&lt;/sup&gt; party trusted claims based applications. These applications can be hosted in the Cloud or by Partner organization.&lt;/p&gt;  &lt;p&gt;The description of this topology is a mouthful, but that is exactly what this topology provides to us. It is really an extension of the second topology with addition of federated Resource Provider components. Figure 1 shows this topology. &lt;/p&gt;  &lt;p&gt;In many situations you want to allow your remote users to be able to access claims based applications published by your business partners. So the critical question is how do you want to authenticate your remote users against IDP STS? Business partner would usually have RP STS which will issue security tokens for application access. Your user identity does not come from RP site of the equation; it comes from your side. If you want to increase the security, and in the current day and age it is becoming a requirement, your remote users must use smart cards before they can gain access to the IDP STS and receive their initial security token. &lt;/p&gt;  &lt;p&gt;First, remote user will try to access partner application which will redirect them via their RP STS back the IDP STS Federation Service. IDP STS external URL is published via UAG and it will require smart card authentication. User authenticates to UAG, receives their security token from internal IDP STS and redirects it back to RP STS and then gains access to the partner application.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/3362.image_5F00_67190CE7.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1106.image_5F00_thumb_5F00_21D08FF1.png" width="658" height="355" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Figure 2 shows authentication traffic to for this configuration.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8611.image_5F00_5C8812FA.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7610.image_5F00_thumb_5F00_2511DBFF.png" width="661" height="387" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Figure 2&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First, remote user will try to access application published by the Partner organization or by the Cloud Application provider. &lt;/li&gt;    &lt;li&gt;Application will redirect user browser to its own STS (RP-STS). RP-STS will need to perform a home realm discovery. At this time user will be automatically or manually redirected to his own IdP-STS. &lt;/li&gt;    &lt;li&gt;Since in this situation, the IdP-STS is published via UAG on the a trunk that requires certificate authentication, the user will be prompted to authenticate with his Smart Card. The authentication will be done against his corporate AD. &lt;/li&gt;    &lt;li&gt;When UAG authenticates the user, it will use Kerberos Constrained Delegation to authenticate to the IdP-STS, and those providing SSO experience to the user. IdP-STS will authenticate the user and will issue Security token for RP-STS. &lt;/li&gt;    &lt;li&gt;User browser will receive the token from IdP-STS and post it to the RP-STS. &lt;/li&gt;    &lt;li&gt;Finally, RP-STS will take token issued by IdP-STS, it will evaluate it content and based on its own rules, will create its own security token. Claims in this token might be the same as what was issued by IdP-STS or they can be transformed according to specific business rules. User browser will receive the final token from RP-STS and will post it to the target application. Application will authenticate the user and proceed with its logic. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;As we can see, this configuration topology provides a powerful way to increase remote user security and it did not require any type of special modifications on the part of the Resource Provider organization. For all they care, the initial authentication by the end user was done via any type of authentication mechanism. It gives a powerful and flexible way to security managers to increase their organization security posture and the same time provide access to remote applications over which they have no direct control.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3455061" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>UAG and AD FS are Better Together - UAG as AD FS Proxy</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/09/01/uag_2D00_and_2D00_ad_2D00_fs_2D00_are_2D00_better_2D00_together_2D00_uag_2D00_as_2D00_ad_2D00_fs_2D00_proxy.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/09/01/uag_2D00_and_2D00_ad_2D00_fs_2D00_are_2D00_better_2D00_together_2D00_uag_2D00_as_2D00_ad_2D00_fs_2D00_proxy.aspx</id><published>2011-09-01T23:25:31Z</published><updated>2011-09-01T23:25:31Z</updated><content type="html">&lt;p&gt;In previous topologies (&lt;a href="http://cloudidentityblog.com/2011/08/22/uag-sp1-and-ad-fs-v2-are-better-togetherfba-and-claims/"&gt;1&lt;/a&gt; and &lt;a href="http://cloudidentityblog.com/2011/08/25/uag-and-adfs-are-better-together-strong-authentication/"&gt;2&lt;/a&gt;) we did not expose AD FS server to the outside users as primary form of authentication. This topology will do this. One of the benefits of using UAG server in combination with AD FS is that it can now act as gateway or proxy server to the internal AD FS server, in fact UAG can now be configured as the relying party with AD FS server and accept SAML token for user authentication.&lt;/p&gt;  &lt;p&gt;Figure 1 shows topology with AD FS acting as main authentication directory and providing access to internal claims based applications. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0763.image_5F00_339487D7.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2783.image_5F00_thumb_5F00_6F4ECC57.png" width="726" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;With this configuration UAG trunk is configured to use AD FS for authentication, it passes you all the way to the AD FS server, which challenges you for credentials, in this case it will prompt to provide username and password. AD FS issues security token to the user and it is presented for authentication to the UAG server. UAG server grants access to the UAG portal based on the security token issued from the trusted IDP STS – our internal AD FS server. Figure 2 shows how UAG trunk and published applications configured with different authentication providers.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/7585.image_5F00_04E904F5.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0652.image_5F00_thumb_5F00_2ADEB54B.png" width="553" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;When user tries to open published application, the user will obtain a new security token from the IDP STS, specific to this application.&lt;/p&gt;  &lt;p&gt;Figure 3 shows authentication traffic to access the UAG portal and Figure 9 shows how user will access published claims based applications via UAG portal.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/6505.image_5F00_3B76B039.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/4530.image_5F00_thumb_5F00_19AAD7A8.png" width="735" height="430" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 3&lt;/b&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The remote user attempts to access Forefront UAG portal. Since the UAG trunk is configured to use AD FS as its authentication provider, the Forefront UAG redirects the web browser request to the AD FS (IdP STS) server to authenticate the user. During this step, the IdP STS server might show the home realm discovery page to user (not shown in this diagram) on which he/she must choose the organization to which they belong; in this case, it would be Woodgrove Bank, but since this is a WebSSO configuration, the IDP STS will not show home realm discovery page. The IdP STS must authenticate the user. Depending on how it is configured, it might present user with AD FS Forms based authentication page or it might prompt with Windows authentication pop-up dialog box. The remote user provides credentials and authenticates using his/her own AD DS credentials. &lt;/li&gt;    &lt;li&gt;After successful authentication IdP STS creates security token with claims and it is transferred to the user. &lt;/li&gt;    &lt;li&gt;User is silently redirected and automatically authenticated to Forefront UAG using the security token created by the IdP STS server. User will see UAG portal with applications that this user is authorized to access. It is important to note, that authorization is done via claims and not via traditional windows security groups. In this configuration UAG did not authenticate the user against AD, it authenticated user solely based on the SAML token, and as such, the authorization decisions must be made based on the content of SAML token. Thankfully, Forefront UAG is smart enough to perform such authorization decisions. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;After user authenticated to the portal he might decide to access published application, after all, why access the portal if not using applications?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8156.image_5F00_52E13E9D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8156.image_5F00_thumb_5F00_2989F69F.png" width="746" height="437" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 4&lt;/b&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The remote user attempts to access the published claims based application using claims-based authentication in one of two ways, listed below. Regardless of the mechanism, target application will redirect the user to its trusted Resource Provider STS, in our case it is IdP STS.      &lt;ul&gt;       &lt;li&gt;By accessing the Forefront UAG portal and then clicking the published application (this is the follow up procedure to the previous diagram) &lt;/li&gt;        &lt;li&gt;Or by accessing the published application directly using the alternate access mapping name (if application was published that way). If this is the case, the preceding steps in the previous diagram might take place as well, but user will not see the UAG portal, he will be taken straight to the published application. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Forefront UAG redirects the web browser request to the IdP STS server to authenticate the user. Since user is already authenticated to IdP-STS when he authenticated to UAG portal, he will automatically re-authenticate to it with current session cookie. &lt;/li&gt;    &lt;li&gt;IdP STS creates security token with claims for published application and it is transferred to the user. &lt;/li&gt;    &lt;li&gt;User is silently redirected and automatically authenticated to the published site, after which the site appears. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;By using UAG as the front end secure access point we are actually able to simplify AD FS infrastructure. In most situations, for Internet facing deployments, AD FS would deploy Federation Proxy server, which authenticates users on behalf of the internal AD FS server. With this configuration UAG server act as the front end gateway to the internal AD FS server and it is publishing AD FS authentication pipeline via its application publishing mechanism.&lt;/p&gt;  &lt;p&gt;At this point it would be a good time to mention what type of UAG Portal features are not available if UAG trunk is configured as relying party to AD FS server. The first one is important to mention because it relates to the user password management. When UAG trunk is configured with AD authentication, it is capable to provide the following two important functions for our remote users:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Password expiration notification. This is configurable on the trunk usually with 7 days threshold. If user password is about to expire, UAG will notify the user about it and allow to change it to a new password. &lt;/li&gt;    &lt;li&gt;Password change. After user authenticated to the UAG portal, he can always change password via this function. So if remote users are never come on site and they have no way to change their AD passwords via normal mechanism, then this is pretty much the only mechanism for self-password management. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;With UAG trunk configured as relying party to AD FS, it never authenticates to AD. AD FS server authenticates user to AD and provides SAML token to UAG for authentication. UAG portal will never know if user password is about to expire and it is not capable to change user passwords because it is not configured with AD as authentication provider. Unfortunately, none of the password management functions provide via AD FS authentication, all it does, is authenticating the user. It will not notify the user about pending password expiration, nor does it provide the mechanism for password change. This is important limitation as it might affect overall design of your solution. If you must provide password management to your users, then you must publish UAG portal with AD as primary authentication provider.&lt;/p&gt;  &lt;p&gt;There are other UAG features that are not available with AD FS authentication, here is a short list:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;UAG supports only WS-Fed Passive profile &lt;/li&gt;    &lt;li&gt;No Rich Applications publishing with AD FS authentication &lt;/li&gt;    &lt;li&gt;Impact on Office Applications &lt;/li&gt;    &lt;li&gt;Cannot publish applications installed on the AD FS 2.0 server &lt;/li&gt;    &lt;li&gt;No HTTP to HTTPS redirection &lt;/li&gt;    &lt;li&gt;No mobile device access on federated trunks &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3450754" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>UAG and ADFS are Better Together– Strong Authentication</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/08/25/uag_2D00_and_2D00_adfs_2D00_are_2D00_better_2D00_together_2D00_strong_2D00_authentication.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/08/25/uag_2D00_and_2D00_adfs_2D00_are_2D00_better_2D00_together_2D00_strong_2D00_authentication.aspx</id><published>2011-08-26T00:34:41Z</published><updated>2011-08-26T00:34:41Z</updated><content type="html">&lt;p&gt;In the previous post we looked at the most common UAG configuration, with user using username and password for authentication to UAG. In this post we are going to explorer the following&amp;#160; configuration – user authenticates to UAG Portal via Certificate Based Authentication (Soft Certificate or Smart Card based certificate) and then access internal claims based application and other types of applications.&lt;/p&gt;  &lt;p&gt;Smart Card authentication is becoming a major requirement in many industries. In Federal Government very soon it will be a mandatory authentication mechanism for internal and external logical application access. &lt;/p&gt;  &lt;p&gt;AD FS configuration in this topology is very similar to previous topology, but with a few very critical differences. To enable Smart Card authentication, the UAG trunk is configured to require certificate authentication. During certificate authentication, the user will use a certificate from his smart card, it will be presented to the UAG server and UAG server will authenticate user based on the certificate content, usually it is done based on the value of Subject Alternative Name extension UPN value. UPN stands for Universal Principal Name, it is e-mail like value and it is enforced by Active Directory to be unique. UAG will read this value from user certificate and map it against Active Directory user account with the same value. All of this is done via Kerberos authentication and nowhere during this process has user provided his username or password. &lt;/p&gt;  &lt;p&gt;Figure 1 shows classic design with Microsoft Active Directory (AD) acting as main authentication directory and providing access to the internal applications using Kerberos authentication and providing authentication to the IDP STS. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1030.image_5F00_08673358.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5141.image_5F00_thumb_5F00_092F7375.png" width="749" height="445" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;So how does user get security tokens from AD FS in this configuration? UAG must be able to authenticate to it on behalf of the user, but user never provided his username and password. It is done via Kerberos Constrained Delegation (KCD). UAG is configured to be able to impersonate authenticated user via KCD and request service ticket from AD and present it to the AD FS server on behalf of the user. AD FS will issue security token to the user and user will be able to authenticate to the claims based application the same way as it was done in the previous topology. Let’s review step-through process again, Figure 2 show us simplified authentication flow. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1832.image_5F00_5D4EF9B8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2018.image_5F00_thumb_5F00_2B27A96E.png" width="747" height="440" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 2&lt;/b&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Remote employee goes to the Forefront UAG portal and authenticates against the AD DS server using Certificate based authentication (Smart Card). They will get access to the UAG portal with published applications based on their security profile. &lt;/li&gt;    &lt;li&gt;When user tries to access claims based application, the application will redirect the web browser request to the AD FS v2 server for user to obtain a security token. &lt;/li&gt;    &lt;li&gt;Depending on the configuration, the AD FS server might show the home realm discovery page to users on which they must choose the organization to which they belong; in this case, it would be Woodgrove Bank, but since this is a WebSSO configuration, the IDP STS will not show home realm discovery page. &lt;/li&gt;    &lt;li&gt;The IDP STS will send back a HTML 401 response message for user to authenticate. Forefront UAG is able to provide a single sign-on (SSO) experience for the user by answering the 401 response with the Kerberos ticket acquired on behalf of the user (KCD). &lt;/li&gt;    &lt;li&gt;The IDP STS server provides a security token (containing a set of claims) to the user. &lt;/li&gt;    &lt;li&gt;The user is redirected to the application and the user’s security token is presented to the application and the application appears. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;While this topology increases security of initial authentication, it does lead to some limitations on the back end authentication and limits Single Sign On experience. To provide seamless access to back end applications they must support Kerberos authentication. On top of that, application servers must reside in the same Active Directory Domain as UAG server (obviously that means that UAG must belong to AD domain) and the user account must be in the same Active Directory Forest as UAG server as well. Also, there are requirements on the Domain and Forest Functional level, it must be at least at Windows 2003 level. These requirements put some limitations on the Single Sing On experience. If one of the listed conditions is not satisfied and user tries to access published application, the KCD will not work and he/she will be prompted to provide credentials in the common form of domain\username and password.&amp;#160; &lt;/p&gt;  &lt;p&gt;Same as in previous topology, the AD FS server does not get exposed to the Internet and you can’t federate it with external partners as RP. This is purely for internal use only, WebSSO solution design. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3449298" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="Smart Card" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Smart+Card/" /></entry><entry><title>UAG SP1 and AD FS v2 are Better Together–FBA and Claims</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/08/22/uag_2D00_sp1_2D00_and_2D00_ad_2D00_fs_2D00_v2_2D00_are_2D00_better_2D00_togetherfba_2D00_and_2D00_claims.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/08/22/uag_2D00_sp1_2D00_and_2D00_ad_2D00_fs_2D00_v2_2D00_are_2D00_better_2D00_togetherfba_2D00_and_2D00_claims.aspx</id><published>2011-08-22T14:00:08Z</published><updated>2011-08-22T14:00:08Z</updated><content type="html">&lt;p&gt;In previous post I started with introduction for UAG and AD FS integrations scenarios. Today post will discuss the first topology - &lt;strong&gt;Authentication to UAG Portal via Forms Based Authentication and accessing internal claims based application and other types of applications.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Many companies want to provide rich application experience to its remote workforce and telecommuters. This is one of the most common configurations for WebSSO scenario where company needs to publish internal applications to its remote users while ensuring that application access is done via secure access mechanism and users are properly authenticated before accessing internal applications. One of the great advantages of using FBA on the UAG trunk is that it will allow us to access all kind of applications on the back end, as long as you can authenticate to them with the same AD credentials used during FBA. It can be NTLM authentication, it can be Kerberos Constrained Delegation or it even can be forms based authentication, UAG can do them all. &lt;/p&gt;  &lt;p&gt;Figure 1 shows classic design with Microsoft Active Directory (AD) acting as main authentication directory and providing access to the internal applications using NTLM or Kerberos authentication and providing authentication to the IDP STS. IDP STS server is published on UAG as an application server and it can be authenticated to just like any other internal Web application.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5314.image_5F00_1D72A651.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/1425.image_5F00_thumb_5F00_791D9C01.png" width="707" height="418" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;With this configuration users authenticate to the UAG portal with their user name and password and then are able to access any type of application via Single Sing On experience. For Kerberos and NTLM based applications it is accomplished via application configuration just like it was done in the prior versions of UAG. For claims based applications, the UAG is configured with additional authentication provider – AD FS v2, which provides SAML security tokens for authenticated users and allows seamless access to the application. Figure 2 shows how two different applications published on the same UAG portal use different authentication providers. As shown, application that uses Windows Authentication is configured with the same authentication provider as the UAG Portal Trunk, so after user is authenticated to the UAG trunk he/she can gain access to the application without providing additional credentials, experiencing SSO. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/0842.image_5F00_283F61CC.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/8546.image_5F00_thumb_5F00_46A9A2B5.png" width="485" height="214" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;For the claims based application it works slightly different. The UAG is configured with additional authentication provider pointing to the AD FS v2 server. The claims based application is configured to use this AD FS v2 authentication provider. So how SSO is accomplished in this configuration? After configuring application with AD FS v2 based authentication provider UAG will publish another application under the application list. To accomplish SSO, you’ll need to open that application and under authentication tab configure SSO with the same authentication provider as the main UAG trunk (under which this app is published), in this case it is AD. When user decides to access claims based application, it will first authenticate to the AD FS v2 server by using AD credentials, obtain a security token and then present this token to the application. Figure 3 shows simplified authentication flow to the claims based application via UAG.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/2021.image_5F00_448CA3EC.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 0px 2px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-50-57-metablogapi/5241.image_5F00_thumb_5F00_41973F39.png" width="709" height="418" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Figure 3&lt;/b&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;To access UAG Portal external users will be required to provide Username/password via Forms Based Authentication. &lt;/li&gt;    &lt;li&gt;UAG will authenticate user against Active Directory. &lt;/li&gt;    &lt;li&gt;After authenticating to UAG they will be presented with applications based on their security profile. It will be presented via UAG portal. &lt;/li&gt;    &lt;li&gt;When user tries to access claims based application, the application will redirect the web browser request to the AD FS v2 server for user to obtain a security token. &lt;/li&gt;    &lt;li&gt;Depending on the configuration, the AD FS server might show the home realm discovery page to users on which they must choose the organization to which they belong; in this case, it would be Woodgrove Bank, but since this is a WebSSO configuration, the IDP STS will not show home realm discovery page. &lt;/li&gt;    &lt;li&gt;The IDP STS will send back a HTML 401 response message for user to authenticate. Forefront UAG is able to provide a single sign-on (SSO) experience for the user by answering the 401 response with the credentials previously entered by the user. &lt;/li&gt;    &lt;li&gt;The IDP STS server provides a security token (containing a set of claims) to the user. &lt;/li&gt;    &lt;li&gt;The user is redirected to the application and the user’s security token is presented to the application and the application opens in the user browser. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In this topology, the AD FS server does not get exposed to the Internet and you can’t federate it with external partners as RP. This is purely for internal use only, WebSSO solution design. &lt;/p&gt;  &lt;p&gt;Next post will discuss the next topology - Authentication to UAG Portal via Certificate Based Authentication (Soft Certificate or Smart Card based certificate) and accessing internal claims based application and other types of applications.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3448420" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>UAG SP1 and AD FS v2 are Better Together–Introduction</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/08/21/uag_2D00_sp1_2D00_and_2D00_ad_2D00_fs_2D00_v2_2D00_are_2D00_better_2D00_togetherintroduction.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/08/21/uag_2D00_sp1_2D00_and_2D00_ad_2D00_fs_2D00_v2_2D00_are_2D00_better_2D00_togetherintroduction.aspx</id><published>2011-08-21T16:04:56Z</published><updated>2011-08-21T16:04:56Z</updated><content type="html">&lt;p&gt;A few weeks ago I started working on a white paper about UAG SP1 and AD FS v2 configuration topologies and sample complex design based on those topologies. I’m still working on it, but I decided to publish different parts of it for folks to see and potentially get some feedback about it as well. &lt;/p&gt;  &lt;p&gt;Today is the introduction time.&lt;/p&gt;  &lt;p&gt;Unified Access Gateway (UAG) SP1 has introduced support for the AD FS v2. Now it is possible to publish claims based applications via UAG and provide secure access to AD FS servers by using one of many different configuration topologies supported by these products. This paper explains how to design solution by using UAG and AD FS v2, what type of critical requirements will dictate specific configuration and how to get around some of known limitations. It is assumed that reader has basic knowledge of UAG technology and AD FS technology, as this paper will build on that knowledge and introduce more advanced concepts of UAG and AD FS integration.&lt;/p&gt;  &lt;p&gt;There are four main topologies that you can choose for AD FS WebSSO design and they are largely depend on the authentication requirements from the Internet to the UAG server or AD FS server and authentication requirements to the published application. The main topologies are as following:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Authentication to UAG Portal via Forms Based Authentication and accessing internal claims based applications and other types of applications. &lt;/li&gt;    &lt;li&gt;Authentication to UAG Portal via Certificate Based Authentication (Soft Certificate or Smart Card based certificate) and accessing internal claims based applications and other types of applications. &lt;/li&gt;    &lt;li&gt;Authentication to UAG Portal via Claims Based Authentication and accessing internal claims based applications. &lt;/li&gt;    &lt;li&gt;Authentication to UAG Portal via Claims Based Authentication and accessing internal non claims based applications. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Of course, the WebSSO configuration can be extended to the Federated WebSSO configurations, where customers will be accessing resources published by your company UAG or where your company might require authentication against UAG before accessing resources published by your partner company. The following three topologies are extensions of the last three main topologies:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Require your company external users to use strong AuthN when they access 3&lt;sup&gt;rd&lt;/sup&gt; party trusted claims based applications. This is an extension of the second topology in the previous list. &lt;/li&gt;    &lt;li&gt;Cloud based authentication or partner based authentication. In this scenario, customers access claims based applications published by UAG server and provide security tokens issued by the Cloud Based Identity Provider or Partner company identity provider to AD FS v2 published by the UAG server. This is an extension of the third topology in the previous list. &lt;/li&gt;    &lt;li&gt;Customers accessing non claims based applications published by UAG server by providing security tokens to AD FS v2 published by the UAG server. This is an extension of the fourth topology in the previous list. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;There is another potential design topology which existed before UAG SP1. It is always possible to just publish internal AD FS v2 server via UAG server as a web app and expose authentication against STS Proxy FBA or straight to the actual AD FS server FBA or Certificate based authentication. This type of configuration does not utilize new advanced functionality introduced in UAG SP1 and we are not planning to review it here or use it as potential design topology.&lt;/p&gt;  &lt;p&gt;The rest of the document is divided into two parts:&lt;/p&gt;  &lt;p&gt;Part 1 – Provides detailed review of each topology. Before looking at potential design choices for potential customer environment we must understand how each topology works, what type requirements it has and any type of limitations. &lt;/p&gt;  &lt;p&gt;Part 2 – Provides a sample design of UAG and AD FS solution. Powered by the knowledge of configuration options we’ll look how to fit each topology or a combination of topologies to different customer situations.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3448306" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /></entry><entry><title>WIF Extension for SAML 2.0 Protocol Community Technology Preview!</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/05/16/wif_2D00_extension_2D00_for_2D00_saml_2D00_2_2D00_0_2D00_protocol_2D00_community_2D00_technology_2D00_preview.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/05/16/wif_2D00_extension_2D00_for_2D00_saml_2D00_2_2D00_0_2D00_protocol_2D00_community_2D00_technology_2D00_preview.aspx</id><published>2011-05-16T16:57:36Z</published><updated>2011-05-16T16:57:36Z</updated><content type="html">&lt;p&gt;Today Microsoft announced availability of the WIF Extension for SAML 2.0 Protocol Community Technology Preview. Check this blog post for more information:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/b/card/archive/2011/05/16/announcing-the-wif-extension-for-saml-2-0-protocol-community-technology-preview.aspx" href="http://blogs.msdn.com/b/card/archive/2011/05/16/announcing-the-wif-extension-for-saml-2-0-protocol-community-technology-preview.aspx"&gt;http://blogs.msdn.com/b/card/archive/2011/05/16/announcing-the-wif-extension-for-saml-2-0-protocol-community-technology-preview.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3429498" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="SAML" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SAML/" /><category term="WIF" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/WIF/" /></entry><entry><title>Secure Application Access by using AD FS and UAG – Strong Authentication</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/21/secure_2D00_application_2D00_access_2D00_by_2D00_using_2D00_ad_2D00_fs_2D00_and_2D00_uag_2D00_strong_2D00_authentication.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/21/secure_2D00_application_2D00_access_2D00_by_2D00_using_2D00_ad_2D00_fs_2D00_and_2D00_uag_2D00_strong_2D00_authentication.aspx</id><published>2011-02-21T23:42:23Z</published><updated>2011-02-21T23:42:23Z</updated><content type="html">&lt;p&gt;In the last two posts on this subject I showed to you how to use UAG with Forms Based Authentication and as ADFS Proxy. Todays demonstration shows how to use it with Strong Authentication – Certificate Authentication. The topology in this configuration is very similar to the FBA topology, but it requires additional configuration on the UAG to require certificate authentication and we have to utilize Kerberos Constrained Delegation to access ADFS server. KCD is required because when user authenticates to the UAG portal, he never provides his UserID/Password, so if we want to have SSO then UAG must be able to impersonate user by using KCD, and provide Kerberos ticket on the behalf of the user to the AD FS server. &lt;/p&gt;  &lt;p&gt;This demonstration was created to satisfy the following requirements for our fictitious Woodgrove Bank Corp: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Woodgrove Bank must provide secure access to documents on its Extranet SharePoint site to remote employees. &lt;/li&gt;    &lt;li&gt;SharePoint site was designed to accept Claims based authentication. &lt;/li&gt;    &lt;li&gt;Remote employees must use Smart Cards for accessing the site (certificate authentication).&amp;#160; &lt;/li&gt;    &lt;li&gt;Limit access to client computers that do not meet the company policy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also watch this demo from my other blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As always, for best user experience please watch this demo in Full screen and enable HD. Let me know if you have any questions.&lt;/p&gt; &lt;iframe height="435" src="http://player.vimeo.com/video/20220158?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="580"&gt;&lt;/iframe&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3388908" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="SharePoint" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SharePoint/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="Claims" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims/" /><category term="FBA" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/FBA/" /><category term="Kerberos" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Kerberos/" /><category term="KCD" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/KCD/" /><category term="Smart Card" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Smart+Card/" /><category term="Certificate" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Certificate/" /></entry><entry><title>Microsoft U-Prove Community Technology Preview R2 Released</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/18/microsoft_2D00_u_2D00_prove_2D00_community_2D00_technology_2D00_preview_2D00_r2_2D00_released.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/18/microsoft_2D00_u_2D00_prove_2D00_community_2D00_technology_2D00_preview_2D00_r2_2D00_released.aspx</id><published>2011-02-18T13:47:51Z</published><updated>2011-02-18T13:47:51Z</updated><content type="html">&lt;p&gt;In case you missed, a few days ago Microsoft released U-Prove Community Technology Preview R2, you can get the official page&amp;#160; with more information about it and related downloads: &lt;a title="https://connect.microsoft.com/site1188" href="https://connect.microsoft.com/site1188"&gt;https://connect.microsoft.com/site1188&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;At the time of this release it was also announced that Windows Card Space 2.0 will no longer ship. Here is the link to this announcement: &lt;a title="http://blogs.msdn.com/b/card/archive/2011/02/15/beyond-windows-cardspace.aspx" href="http://blogs.msdn.com/b/card/archive/2011/02/15/beyond-windows-cardspace.aspx"&gt;http://blogs.msdn.com/b/card/archive/2011/02/15/beyond-windows-cardspace.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3388343" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="U-Prove" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/U_2D00_Prove/" /></entry><entry><title>Secure Application Access by using AD FS and UAG – UAG acting as ADFS Proxy Topology</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/16/secure_2D00_application_2D00_access_2D00_by_2D00_using_2D00_ad_2D00_fs_2D00_and_2D00_uag_2D00_uag_2D00_acting_2D00_as_2D00_adfs_2D00_proxy_2D00_topology.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/16/secure_2D00_application_2D00_access_2D00_by_2D00_using_2D00_ad_2D00_fs_2D00_and_2D00_uag_2D00_uag_2D00_acting_2D00_as_2D00_adfs_2D00_proxy_2D00_topology.aspx</id><published>2011-02-17T00:41:17Z</published><updated>2011-02-17T00:41:17Z</updated><content type="html">&lt;p&gt;In the previous post I showed to you how UAG can be used with ADFS to publish Claims aware application and provide single sign-on into&amp;#160; such applications along with traditional applications which require UserID/password. In that demonstration UAG was configured with Form Based Authentication (FBA) and user was authenticating to UAG before they could get access to actual applications. &lt;/p&gt;  &lt;p&gt;Today’s demonstration shows a different UAG/ADFS topology, with UAG configured as ADFS proxy is exposes ADFS server for authentication and then it can provide you with UAG portal or directly route to the target application.&lt;/p&gt;  &lt;p&gt;This demonstration was created to satisfy the following requirements for our fictitious Woodgrove Bank Corp:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Woodgrove Bank must provide secure access to documents on its Extranet SharePoint site to remote employees. &lt;/li&gt;    &lt;li&gt;SharePoint site was designed to accept Claims based authentication. &lt;/li&gt;    &lt;li&gt;Woodgrove Bank plans to allow access to SharePoint site to its partners using Claims based Federation technologies. &lt;/li&gt;    &lt;li&gt;Limit access to client computers that do not meet the company policy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can&amp;#160; also watch this demo on my blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As always, for best user experience please watch this demo in Full screen and enable HD. Let me know if you have any questions.&lt;/p&gt; &lt;iframe height="435" src="http://player.vimeo.com/video/20041049?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="580"&gt;&lt;/iframe&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3387836" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="SSO" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SSO/" /><category term="Cloud Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Cloud+Security/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="Forefront" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Forefront/" /><category term="Claims" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims/" /><category term="FBA" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/FBA/" /></entry><entry><title>Secure Application Access with ADFS and UAG – UAG providing FBA</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/15/secure_2D00_application_2D00_access_2D00_with_2D00_adfs_2D00_and_2D00_uag_2D00_uag_2D00_providing_2D00_fba.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/15/secure_2D00_application_2D00_access_2D00_with_2D00_adfs_2D00_and_2D00_uag_2D00_uag_2D00_providing_2D00_fba.aspx</id><published>2011-02-15T20:52:38Z</published><updated>2011-02-15T20:52:38Z</updated><content type="html">&lt;p&gt;More and more companies wish to provide secure access to their applications from external locations. At the same time, many of these applications starting to adopt new authentication technologies, for example, like Claims based authentication. The following demonstration shows how companies can use Forefront UAG 2010 and AD FS 2.0 to provide secure access to different types of internal applications, all published via single unified portal and providing Single Sign-On experience to their users. &lt;/p&gt;  &lt;p&gt;The solution in this demonstration shows UAG implemented to use FBA as main authentication mechanism and it ability to access Claims based applications.&lt;/p&gt;  &lt;p&gt;This solution created to satisfy the following requirements for our fictitious Woodgrove Bank corporation:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Woodgrove Bank must provide secure access to documents on its Extranet SharePoint site to remote employees. It also wants to provide access to other internal resources. &lt;/li&gt;    &lt;li&gt;SharePoint site was designed to accept Claims based authentication. &lt;/li&gt;    &lt;li&gt;Other resources require standard UserID/password combination. &lt;/li&gt;    &lt;li&gt;Woodgrove Bank employees should have SSO experience when accessing documents on Woodgrove Bank Extranet SharePoint site and other resources. &lt;/li&gt;    &lt;li&gt;Limit access to client computers that do not meet the company policy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also watch this demo and other demos from my blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For best viewing experience please watch it in Full screen with High Definition ON. Let me know if you have any questions. &lt;/p&gt; &lt;iframe height="435" src="http://player.vimeo.com/video/19987932?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="580"&gt;&lt;/iframe&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3387524" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="SharePoint" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SharePoint/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /><category term="Forefront" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Forefront/" /><category term="Claims" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Claims/" /></entry><entry><title>Microsoft Business Ready Security–Secure Collaboration for Roaming Users with Unified Access Gateway</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/08/microsoft_2D00_business_2D00_ready_2D00_securitysecure_2D00_collaboration_2D00_for_2D00_roaming_2D00_users_2D00_with_2D00_unified_2D00_access_2D00_gateway.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/08/microsoft_2D00_business_2D00_ready_2D00_securitysecure_2D00_collaboration_2D00_for_2D00_roaming_2D00_users_2D00_with_2D00_unified_2D00_access_2D00_gateway.aspx</id><published>2011-02-08T13:40:38Z</published><updated>2011-02-08T13:40:38Z</updated><content type="html">&lt;p&gt;Did you know that you can download virtual labs to your own host system and test Microsoft Business Ready Security (BRS) solutions? It is available to anyone on the Internet. Go check it out for yourself: &lt;u&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=190269"&gt;http://go.microsoft.com/fwlink/?LinkId=190269&lt;/a&gt;&lt;/u&gt; &lt;/p&gt;  &lt;p&gt;If for some reason you can not download those labs, don’t have time to set it all up , don’t have capable hardware/OS to run it or you need extra explanation on how these solutions work then you are in the right place. Here is one of the solutions that are enabled by Microsoft BRS. &lt;/p&gt;  &lt;p&gt;The following demo shows solution created to satisfy the following business and technical requirements: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide access to internal network to roaming users from the Internet. &lt;/li&gt;    &lt;li&gt;Limit access to client computers that do not meet the company policy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also watch this demo from my blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For best viewing experience please watch it in Full screen with High Definition ON. Let me know if you have any questions. &lt;iframe height="435" src="http://player.vimeo.com/video/19692139?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="580"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3385688" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="UAG" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/UAG/" /></entry><entry><title>Microsoft Business Ready Security–Secure Collaboration with Partners by using AD FS</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/07/microsoft_2D00_business_2D00_ready_2D00_securitysecure_2D00_collaboration_2D00_with_2D00_partners_2D00_by_2D00_using_2D00_ad_2D00_fs.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/07/microsoft_2D00_business_2D00_ready_2D00_securitysecure_2D00_collaboration_2D00_with_2D00_partners_2D00_by_2D00_using_2D00_ad_2D00_fs.aspx</id><published>2011-02-07T20:50:24Z</published><updated>2011-02-07T20:50:24Z</updated><content type="html">&lt;p&gt;Did you know that you can download virtual labs to your own host system and test Microsoft Business Ready Security (BRS) solutions? It is available to anyone on the Internet. Go check it out for yourself: &lt;u&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=190269"&gt;http://go.microsoft.com/fwlink/?LinkId=190269&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;If for some reason you can not download those labs, don’t have time to set it all up , don’t have capable hardware/OS to run it or you need extra explanation on how these solutions work then you are in the right place. Here is one of the solutions that are enabled by Microsoft BRS.&lt;/p&gt;  &lt;p&gt;The following demo shows solution created to satisfy the following business and technical requirements:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Woodgrove Bank and TreyEngineering are working on a joint project. &lt;/li&gt;    &lt;li&gt;Woodgrove Bank must provide access to some documents on its Extranet SharePoint site to employees of TreyEngineering who was assigned to this project. &lt;/li&gt;    &lt;li&gt;Woodgrove Bank will not create accounts for TreyEngineering employees in its user domain. &lt;/li&gt;    &lt;li&gt;TreyEngineering employees should have SSO experience when accessing documents on Woodgrove Bank Extranet SharePoint site. &lt;/li&gt;    &lt;li&gt;SharePoint must be protected from documents with known viruses. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also watch this demonstration from my blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For best viewing experience please watch it in Full screen with High Definition ON. Let me know if you have any questions. &lt;iframe height="435" src="http://player.vimeo.com/video/19674332?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="580"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3385529" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="Federation" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Federation/" /><category term="SharePoint" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/SharePoint/" /><category term="ADFS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/ADFS/" /><category term="AD FS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/AD+FS/" /><category term="BRS" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/BRS/" /></entry><entry><title>Implementing FIM 2010 Certificate Management (Part 4)</title><link rel="alternate" type="text/html" href="http://blogs.technet.com/b/dmitrii/archive/2011/02/04/implementing_2D00_fim_2D00_2010_2D00_certificate_2D00_management_2D00_part_2D00_4.aspx" /><id>http://blogs.technet.com/b/dmitrii/archive/2011/02/04/implementing_2D00_fim_2D00_2010_2D00_certificate_2D00_management_2D00_part_2D00_4.aspx</id><published>2011-02-04T05:06:00Z</published><updated>2011-02-04T05:06:00Z</updated><content type="html">&lt;p&gt;This is the fourth and final&amp;#160; installment in a four part series showing how to implement FIM 2010 Certificate Management solution. You can watch the previous three parts by going to each presentation: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;“&lt;a href="http://cloudidentityblog.com/2011/02/01/implementing-fim-2010-certificate-management-part-1/"&gt;Implementing FIM 2010 Certificate Management (Part 1)&lt;/a&gt;” &lt;/li&gt;    &lt;li&gt;“&lt;a href="http://cloudidentityblog.com/2011/02/03/implementing-fim-2010-certificate-management-part-2/"&gt;Implementing FIM 2010 Certificate Management (Part 2&lt;/a&gt;)” &lt;/li&gt;    &lt;li&gt;“&lt;a href="http://cloudidentityblog.com/2011/02/03/implementing-fim-2010-certificate-management-part-3/"&gt;Implementing FIM 2010 Certificate Management (Part 3)&lt;/a&gt;” &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you wonder what is the final result of this specific implementation then please watch demonstration showing how to do &lt;a href="http://cloudidentityblog.com/2011/01/29/manual-certificate-enrollment-via-fim-2010-certificate-management/"&gt;manual certificate enrollment via FIM 2010 CM&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Todays demonstration covers the following tasks: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Configure Service Connection Point Permissions &lt;/li&gt;    &lt;li&gt;Delegate Profile Template Permissions &lt;/li&gt;    &lt;li&gt;Configure Permissions on Certificate Sponsor &lt;/li&gt;    &lt;li&gt;Create SSL Profile Template &lt;/li&gt;    &lt;li&gt;Configure Profile Details &lt;/li&gt;    &lt;li&gt;Configure Enroll Policy &lt;/li&gt;    &lt;li&gt;Configure Revoke Policy &lt;/li&gt;    &lt;li&gt;Define Permissions on the SSL Profile Template &lt;/li&gt;    &lt;li&gt;Request Certificate for FIM CM Portal &lt;/li&gt;    &lt;li&gt;Fixing FIM 2010 CM Configuration (AES and CSP) &lt;/li&gt;    &lt;li&gt;Request Certificate again &lt;/li&gt;    &lt;li&gt;Installation of issued Certificate on the FIM 2010 CM &lt;/li&gt;    &lt;li&gt;Set SPN for the new URL &lt;/li&gt;    &lt;li&gt;Final test of the new Portal &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can also watch this demonstration from my blog at &lt;a href="http://CloudIdentityBlog.com"&gt;http://CloudIdentityBlog.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For better experience please watch it in Full screen and enable HD. &lt;iframe height="435" src="http://player.vimeo.com/video/19551616?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="580"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3384931" width="1" height="1"&gt;</content><author><name>DmitriiL</name><uri>http://blogs.technet.com/lezine/ProfileUrlRedirect.ashx</uri></author><category term="PKI" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/PKI/" /><category term="Security" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Security/" /><category term="FIM 2010" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/FIM+2010/" /><category term="Certificate Subject" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Certificate+Subject/" /><category term="Certificate Enrollment" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Certificate+Enrollment/" /><category term="Certificate Management" scheme="http://blogs.technet.com/b/dmitrii/archive/tags/Certificate+Management/" /></entry></feed>