ADFS Step by Step Guide
ADFS Step by Step Guide
Federation Services
Microsoft Corporation
Abstract
This guide provides instructions for setting up Active Directory Federation Services
(ADFS) in a small test lab environment. The instructions in this guide should take
approximately three hours to complete. This guide walks you through setup of a claims-
aware application and a Windows NT token–based application (either Microsoft®
Windows® SharePoint® Services or Microsoft® Office SharePoint® Portal Server 2003)
on an ADFS-enabled Web server. It also explains how to configure two federation servers
that authenticate and authorize federated access to both types of applications. No
additional downloads are required. You can simply use the code in this guide to create
the claims-aware application or use the provided links to download the appropriate
Windows NT token–based applications.
Information in this document, including URL and other Internet Web site references, is
subject to change without notice. Unless otherwise noted, the example companies,
organizations, products, domain names, e-mail addresses, logos, people, places, and
events depicted herein are fictitious, and no association with any real company,
organization, product, domain name, e-mail address, logo, person, place, or event is
intended or should be inferred. Complying with all applicable copyright laws is the
responsibility of the user. Without limiting the rights under copyright, no part of this
document may be reproduced, stored in or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying,
recording, or otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other
intellectual property rights covering subject matter in this document. Except as expressly
provided in any written license agreement from Microsoft, the furnishing of this document
does not give you any license to these patents, trademarks, copyrights, or other
intellectual property.
The names of actual companies and products mentioned herein may be the trademarks
of their respective owners.
Contents
Step-by-Step Guide for Active Directory Federation Services............................................1
Abstract.......................................................................................................................1
Contents.............................................................................................................................3
You can use the test lab environment to evaluate the ADFS technology and assess how it
might be deployed in your organization. As you complete the steps in this guide, you will
be able to:
• Set up four computers (one client, one Web server, and two federation servers)
to participate in ADFS federation between two fictitious companies
(A. Datum Corporation and Trey Research).
• Create two forests to be used as designated account stores for federated users.
Each forest will represent one fictional company.
• As an option, you can install and configure SharePoint Portal Server 2003 on the
Web server to see how it works with ADFS. For more information, see Appendix A:
Using SharePoint Portal Server 2003 with ADFS. Follow the instructions in steps 1
through 5 before proceeding to the steps in the appendix.
Note
It is important to follow the steps in this guide in order.
Known Issues
Before you begin implementing procedures related to Windows SharePoint Services and
SharePoint Portal Server 2003, first read about the known issues that are associated with
Step-by-Step Guide to Deploying ADFS 7
using either application with ADFS. For more information regarding support issues for
Windows SharePoint Services and ADFS, see article 912492, Windows SharePoint
Services and SharePoint Portal Server 2003 Support boundaries for Active Directory
Federation Services, on the Microsoft Knowledge Base Web site
(http://go.microsoft.com/fwlink/?LinkId=58576).
For information about how to deploy or manage ADFS, look for ADFS planning,
deployment, and operations content on the Windows Server 2003 R2 Roadmap on
the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=51166).
• Instructions for setting up and configuring Microsoft Certificate Services for use
with ADFS
For information about setting up and configuring Microsoft Certificate Services, see
Public Key Infrastructure for Windows Server 2003 on the Microsoft Web site
(http://go.microsoft.com/fwlink/?LinkId=19936).
Note
The federation server includes the functionality of the federation server proxy
role. For example, the federation server can perform client authentication,
home realm discovery, and sign-out.
Requirements
To complete the steps in this guide, you must have the following:
• Install and configure Internet Information Services (IIS) to work with self-signed
certificates.
Administrative Credentials
To perform all of the tasks in this step, log on to each of the four computers with the local
Administrator account. To create accounts in Active Directory, log on with the
Administrator account for the domain.
Step-by-Step Guide to Deploying ADFS 9
• Install IIS
Important
Before you configure your computers with static Internet Protocol (IP) addresses,
it is recommended that you first complete product activation for Microsoft®
Windows® XP and Windows Server 2003 R2 while each of your computers still
has Internet connectivity. You may also want to download the IIS 6.0 Resource
Kit application to each computer (excluding the client computer) while it is
connected to the Internet. If you plan on configuring SharePoint Portal
Server 2003 (see Appendix A: Using SharePoint Portal Server 2003 with ADFS
for more information), you may want to download the SharePoint Portal Server
2003 120-day trial installation while you are connected to the Internet.
255.255.255.0 192.168.1.4
Step-by-Step Guide to Deploying ADFS 10
255.255.255.0
255.255.255.0
Note
Make sure to set both the preferred and alternate Domain Name System (DNS)
server settings on the client. If both types of values are not configured as
specified, the ADFS scenario will not function.
Install IIS
Use the following procedure to install IIS on the adfsweb computer, the adfsresource
computer, and the adfsaccount computer.
To install IIS
1. Click Start, point to Control Panel, and then click Add or Remove
Programs.
Note
If you want to set up Windows SharePoint Services with ADFS and do not have
any intention of testing SharePoint Portal Server 2003 with ADFS, you do not
need to download this software.
Note
As a security best practice, domain controllers should not run as both federation
servers and domain controllers in a production environment.
To create a new forest using Dcpromo, use the procedure Create a new forest on the
Windows Server 2003 TechCenter Web site (http://go.microsoft.com/fwlink/?
LinkId=56119).
Note
It is important that you first configure the IP addresses as specified in the
previous table before you attempt to install Active Directory. This helps ensure
that DNS records are configured appropriately.
(new forest)
adfsclient adatum.com
adfsweb treyresearch.net
Note
In a production environment, certificates will be obtained from a certification
authority (CA). For the purposes of the test lab deployment that is covered in this
document, self-signed certificates are used.
Step-by-Step Guide to Deploying ADFS 15
Note
Although the ADFS Web Agent does not require that a SSL certificate be installed
in IIS when the ADFS Web Agent is installed, an SSL certificate is required when
a Windows NT token–based ADFS Web Agent is enabled.
Adfsresource selfssl /t
/n:cn=adfsresource.treyresearch.net /v:365
Note
When you see the prompt, select “Y” to replace the SSL settings for site 1.
Note
The Web server must trust the root of the federation server because Certificate
Revocation List (CRL) checking is enabled by default. Although procedures are
not provided in this guide, CRL checking can be disabled to remove this
dependency. Disabling CRL checking can compromise the integrity of ADFS, and
Step-by-Step Guide to Deploying ADFS 16
Because self-signed certificates are used, the server authentication certificate is the root.
Therefore, this trust must be established by exporting the resource partner adfsresource
server authentication certificate and then importing the file onto the adfsweb server. To
export the adfsresource server authentication certificate to a file, perform the following
procedure on the adfsresource computer.
3. On the Directory Security tab, click View Certificate, click the Details tab,
and then click Copy to File.
5. On the Export Private Key page, click No, do not export the private key,
and then click Next.
6. On the Export File Format page, click DER encoded binary X.509 (.Cer),
and then click Next.
7. On the File to Export page, type C:\adfsresource.cer, and then click Next.
Note
This certificate must be imported to the adfsweb computer in the next
procedure. Therefore, you should make this file accessible over the
network to that computer.
5. Click Local computer: (the computer this console is running on), click
Finish, click Close, and then click OK.
Note
You may need to map the network drive to obtain the adfsresource.cer
file. You can also copy the adfsresource.cer file directly from the
adfsresource computer to adfsweb, and then point the wizard to that
location.
9. On the Certificate Store page, click Place all certificates in the following
store, and then click Next.
10. On the Completing the Certificate Import Wizard page, verify that the
information you provided is accurate, and then click Finish.
Administrative Credentials
To perform all of the procedures in this step, log on to the adfsaccount computer and the
adfsresource computer with the Administrator account for the domain. Log on to the
adfsweb computer with the local Administrator account.
6. In the ADFS Web Agents dialog box, select both the Claims-aware
applications check box and the Windows NT token–based applications check
box, and then click OK.
7. In the Active Directory Federation Services (ADFS) dialog box, click OK.
10. If you are prompted for the location of installation files, navigate to
R2 installation files\cmpnents\r2, and then click OK.
11. On the Completing the Windows Components Wizard page, click Finish.
Step-by-Step Guide to Deploying ADFS 19
5. In the Active Directory Federation Services (ADFS) dialog box, select the
Federation Service check box, and then click OK. If Microsoft ASP.NET 2.0 was
not previously enabled, click Yes to enable it, and then click OK.
9. Under Trust policy, click Create a new trust policy, and then click Next.
10. If you are prompted for the location of the installation files, navigate to
R2 Installation Folder\cmpnents\r2, and then click OK.
11. On the Completing the Windows Components Wizard page, click Finish.
Note
As a security best practice, domain controllers should not run as both federation
servers and domain controllers, and IIS should not run under the Local System
account in a production environment.
3. On the Identity tab, click Local System in the menu, and when you see the
prompt Do you wish to run this application pool as Local system?, click Yes.
6. On the Export Private Key page, click No, do not export the private key,
and then click Next.
7. On the Export File Format page, click DER encoded binary X.509 (.Cer),
and then click Next.
Note
Step-by-Step Guide to Deploying ADFS 21
Administrative Credentials
To perform all the tasks in this step, log on to adfsweb with the local Administrator
account.
2. Click Site Settings, click Manage Users, and then click Add Users.
5. Confirm that the correct user information is provided, and then click Finish.
8. In Site groups, select the Reader check box to assign federated users read-
only access to the site, and then click Next.
9. Confirm that the correct user information is provided, and then click Finish.
Step-by-Step Guide to Deploying ADFS 23
2. In the console tree, double-click ADFSWEB, right-click Web Sites, and then
click Properties.
Note
If the ADFS Web Agent tab is not present, close the IIS snap-in, and
then start the snap-in again.
4. Double-click Web Sites, right-click Default Web Site, and then click
Properties.
5. On the ADFS Web Agent tab, select the Enable Active Directory
Federation Services Web Agent check box, and then click OK to accept the
default values. Click OK when you see the prompt that explains that this will
enable anonymous access.
Note
The value in Return URL on this property page must match precisely
with the Application URL value that you specify when you set up the
application on the Federation Service for Trey Research.
• Assign the adfsweb Server Authentication Certificate to the stepbystep Web Site
3. On the Welcome to the Web Site Creation Wizard page, click Next.
5. On the IP Address and Port Settings page, in TCP port this Web site
should use (Default: 80) field, replace 80 with 8080, and then click Next.
6. On the Web Site Home Directory page, click Browse, highlight the
c:\inetpub folder, click Make New Folder, name the folder stepbystep, click
OK, and then click Next.
7. On the Web Site Access Permissions page, make sure that Read is
selected, and then click Next.
8. On the You have successfully completed the Web Site Creation Wizard
page, click Finish.
3. On the ASP.NET tab, in the ASP.NET version menu, make sure that
2.0.50727 is selected.
6. In the console tree, right-click stepbystep, point to New, and then click
Virtual Directory.
8. On the Virtual Directory Alias page, in Alias, type claimapp, and then click
Next.
9. On the Web Site Content Directory page, click Browse, highlight the
c:\inetpub\stepbystep folder, click the Make New Folder button, name the
folder claimapp, click OK, and then click Next.
Note
Do not use capital letters in the claimapp folder name. If this folder name
contains capital letters, users must also use capital letters when they
type the address of the Web site.
10. On the Virtual Directory Access Permissions page, select the Read and
Run scripts check boxes, and then click Next.
11. On the You have successfully completed the Virtual Directory Creation
Wizard page, click Finish.
12. In the console tree, double-click stepbystep, right-click the claimapp folder,
and then click Properties.
Note
To view the new claimapp folder, you may need to refresh IIS.
13. On the Documents tab, verify that default.aspx is in the list. If it is not, click
Step-by-Step Guide to Deploying ADFS 26
3. On the Welcome to the Web Server Certificate Wizard page, click Next.
6. On the SSL Port page, accept the default (SSL port 8081), and then click
Next.
7. On the Certificate Summary page, verify the details, and then click Next.
8. On the Completing the Web Server Certificate Wizard page, click Finish.
• default.aspx
• web.config
• default.aspx.cs
You can use the following procedures to create these three files:
After you create the files, save all three files into the c:\inetpub\stepbystep\claimapp
folder.
2. Copy and paste the following code into a new Notepad file:
<head>
<style>
<!--
.propertyTable th { border: 1px solid; padding: 0px 4px 0px 4px; font-
weight: bold; background-color: #cccccc ; text-align: left }
-->
</style>
</head>
<body>
<div class=banner>
</div>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
Step-by-Step Guide to Deploying ADFS 29
<div class=propertyHead>User.Identity</div>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div class=propertyHead>(IIdentity)User.Identity</div>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div class=propertyHead>(SingleSignOnIdentity)User.Identity</div>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
Step-by-Step Guide to Deploying ADFS 30
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div
class=propertyHead>SingleSignOnIdentity.SecurityPropertyCollection</div>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Uri</asp:TableHeaderCell>
<asp:TableHeaderCell>Claim Type</asp:TableHeaderCell>
<asp:TableHeaderCell>Claim Value</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div class=propertyHead>(IPrincipal)User.IsInRole(...)</div>
</asp:Table>
<table>
</table>
Step-by-Step Guide to Deploying ADFS 31
</div>
</div>
</form>
</body>
</html>
2. Copy and paste the following code into a new Notepad file:
<configuration>
<configSections>
<sectionGroup name="system.web">
<section name="websso"
type="System.Web.Security.SingleSignOn.WebSsoConfigurati
onHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, Custom=null" />
</sectionGroup>
</configSections>
<system.web>
<assemblies>
<add assembly="System.Web.Security.SingleSignOn.ClaimTransforms,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,
Custom=null"/>
</assemblies>
</compilation>
<customErrors mode="Off"/>
<httpModules>
<add
type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule,
System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, Custom=null" />
</httpModules>
<websso>
<authenticationrequired />
<eventloglevel>55</eventloglevel>
<auditsuccess>2</auditsuccess>
<urls>
<returnurl>https://adfsweb.treyresearch.net:8081/claimapp/</returnurl
Step-by-Step Guide to Deploying ADFS 33
>
</urls>
<cookies writecookies="true">
<path>/claimapp</path>
<lifetime>240</lifetime>
</cookies>
<fs>https://adfsresource.treyresearch.net/adfs/fs/federationserverservice.a
smx</fs>
</websso>
</system.web>
<system.diagnostics>
<switches>
</switches>
<listeners>
<add name="LSLogListener"
type="System.Web.Security.SingleSignOn.BoundedSizeLogFileTraceListener,
System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35, Custom=null"
initializeData="c:\logdir\claimapp.log" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Step-by-Step Guide to Deploying ADFS 34
2. Copy and paste the following code into a new Notepad file:
using System;
using System.Data;
using System.Collections.Generic;
using System.Configuration;
using System.Reflection;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security;
using System.Security.Principal;
using System.Web.Security.SingleSignOn;
using System.Web.Security.SingleSignOn.Authorization;
static _Default()
//
//
s_abbreviationMap.Add("System.Web.Security.SingleSignOn.Authorizat
ion", "SSO.Auth");
s_abbreviationMap.Add("System.Web.Security.SingleSignOn", "SSO");
s_abbreviationMap.Add("System", "S");
//
//
PagePropertyLoad();
IdentityLoad();
BaseIdentityLoad();
SSOIdentityLoad(ssoId);
SecurityPropertyTableLoad(ssoId);
Step-by-Step Guide to Deploying ADFS 36
//
//
if (!IsPostBack)
else
GoGetRoles(null, null);
//
//
if (ssoId == null)
SignOutUrl.Enabled = false;
else
if (ssoId.IsAuthenticated == false)
SignOutUrl.NavigateUrl = ssoId.SignInUrl;
Step-by-Step Guide to Deploying ADFS 37
else
SignOutUrl.NavigateUrl = ssoId.SignOutUrl;
Table t = SecurityPropertyTable;
if (ssoId == null)
AddNullValueRow(t);
return;
//
//
t.Rows.Add(CreateRow(securityProperty.Uri,
securityProperty.Name, securityProperty.Value, alternating));
alternating = !alternating;
}
Step-by-Step Guide to Deploying ADFS 38
Table t = RolesTable;
t.Rows.Clear();
t.Rows.Add(CreatePropertyRow(role, User.IsInRole(role),
alternating));
alternating = !alternating;
void IdentityLoad()
if (User.Identity == null)
AddNullValueRow(propertyTable);
else
propertyTable.Rows.Add(CreatePropertyRow("Type name",
User.Identity.GetType().FullName));
Step-by-Step Guide to Deploying ADFS 39
if (ssoId != null)
PropertyInfo[] props =
ssoId.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public
| BindingFlags.DeclaredOnly);
else
AddNullValueRow(propertyTable);
void PagePropertyLoad()
propertyTable.Rows.Add(CreatePropertyRow("Simplified Path",
leftSidePath));
}
Step-by-Step Guide to Deploying ADFS 40
void BaseIdentityLoad()
if (identity != null)
PropertyInfo[] props =
typeof(IIdentity).GetProperties(BindingFlags.Instance |
BindingFlags.Public | BindingFlags.DeclaredOnly);
else
AddNullValueRow(propertyTable);
cell.Text = NullValue;
row.CssClass = "s";
row.Cells.Add(cell);
table.Rows.Clear();
Step-by-Step Guide to Deploying ADFS 41
table.Rows.Add(row);
propertyTable.Rows.Add(CreatePropertyRow(name, val,
alternating));
alternating = !alternating;
if (value == null)
else
first.CssClass = "l";
first.Text = Abbreviate(s1);
second.Text = Abbreviate(s2);
third.Text = Abbreviate(s3);
if (alternating)
row.CssClass = "s";
row.Cells.Add(first);
row.Cells.Add(second);
row.Cells.Add(third);
return row;
{
Step-by-Step Guide to Deploying ADFS 43
if (s == null)
return NullValue;
string retVal = s;
//
//
if (retVal.IndexOf(pair.Key) != -1)
break;
return retVal;
//
//
UpdateRolesTable(roles);
}
Step-by-Step Guide to Deploying ADFS 44
• Make the Federation Service for Trey Research aware of both the claims-aware
application and the Windows SharePoint Services application.
• Configure each of the group claims so that they map to an Active Directory group
in the appropriate forest.
Group claims must be configured differently for each Federation Service, depending on
the type of application that they map to. The following illustration shows how claims are
configured in this step for each Federation Service and application type.
Step-by-Step Guide to Deploying ADFS 45
Administrative Credentials
To perform all of the tasks in this step, log on to the adfsaccount computer and the
adfsresource computer with the Administrator account for the domain.
• Create and Map a Group Claim for the Windows NT Token-based Application
Note
This value is case sensitive.
5. On the Display Name tab, in the Display name for this trust policy field,
type Trey Research (replace any value that may already exist in this field with
Trey Research), and then click OK.
3. In the Create a New Organization Claim dialog box, in Claim name, type
Adatum TokenApp Claim.
2. On the Group Claim Properties page, on the Resource Group tab, click
Map this claim to the following resource group, click the … button, type
adatumtokenappusers, click OK, and then click OK again.
3. In the Create a New Organization Claim dialog box, in Claim name, type
Adatum ClaimApp Claim.
3. On the Welcome to the Add Account Store Wizard page, click Next.
4. On the Account Store Type page, ensure that Active Directory is selected,
and then click Next.
5. On the Enable this Account Store page, ensure that the Enable this
account store check box is selected, and then click Next.
6. On the Completing the Add Account Store Wizard page, click Finish.
7. On the Accepted Identity Claim page, click User principal name (UPN),
and then click Next.
8. On the Enable this Application page, ensure that the Enable this
application check box is selected, and then click Next.
2. Right-click the Adatum TokenApp Claim group claim, and then click
Enable.
Step-by-Step Guide to Deploying ADFS 50
Note
The reference to 8081 in the Application URL is necessary to route SSL
traffic to port 8081 because the default Web site is using the default SSL
port (443).
7. On the Accepted Identity Claims page, click User principal name (UPN),
and then click Next.
8. On the Enable this Application page, ensure that the Enable this
application check box is selected, and then click Next.
2. Right-click the Adatum ClaimApp Claim group claim, and then click Enable.
3. On the Welcome to the Add Account Partner Wizard page, click Next.
4. On the Import Policy File page, ensure that No is selected, and then click
Next.
Corporation.
Note
This value is case sensitive.
Note
You may need to map the network drive to obtain the adfsaccount_ts.cer
file. The account partner verification certificate is the token-signing
certificate that was exported from the adfsaccount computer in Step 2:
Installing ADFS and Configuring Local System.
9. On the Federation Scenario page, click Federated Web SSO, and then
click Next.
10. On the Account Partner Identity Claims page, select the UPN Claim check
box, and then click Next.
11. On the Accepted UPN Suffixes page, type adatum.com, click Add, and
then click Next.
12. On the Enable this Account Partner page, ensure that the Enable this
account partner check box is selected, and then click Next.
13. On the Completing the Add Account Partner Wizard page, click Finish.
Note
This value is case sensitive. It must match exactly with the value that is
specified in the outgoing group claim mapping in the account partner
organization.
Note
This value is case sensitive. It must match exactly with the value that is
specified in the outgoing group claim mapping in the account partner
organization.
Note
This value is case sensitive.
4. In Federation Service endpoint URL, replace https://adfsaccount/adfs/ls/
with https://adfsaccount.adatum.com/adfs/ls/.
5. On the Display Name tab, in the Display name for this trust policy field,
type A. Datum (replace any value that may already exist in this field with
A. Datum), and then click OK.
3. In the Create a New Organization Claim dialog box, in Claim name, type
Trey TokenApp Claim.
3. In the Create a New Organization Claim dialog box, in Claim name, type
Trey ClaimApp Claim.
• Map a Global Group to the Group Claim for the Windows NT Token-based
Application
• Map a Global Group to the Group Claim for the Claims-aware Application
Step-by-Step Guide to Deploying ADFS 56
3. On the Welcome to the Add Account Store Wizard page, click Next.
4. On the Account Store Type page, ensure that Active Directory is selected,
and then click Next.
Note
You can have only one Active Directory store that is associated with a
Federation Service. If the Active Directory option is not available, it is
because an Active Directory store has already been created for this
Federation Service.
5. On the Enable this Account Store page, ensure that the Enable this
account store check box is selected, and then click Next.
6. On the Completing the Add Account Store Wizard page, click Finish.
Map a Global Group to the Group Claim for the Windows NT Token–
based Application
Use the following procedure to map an Active Directory global group to the
Trey TokenApp group claim.
To map a global group to the group claim for the Windows NT token–based
application
1. Click Start, point to All Programs, point to Administrative Tools, and then
click Active Directory Federation Services.
3. In the Create a New Group Claim Extraction dialog box, click Add, type
Step-by-Step Guide to Deploying ADFS 57
To map a global group to the group claim for the claims-aware application
1. Click Start, point to All Programs, point to Administrative Tools, and then
click Active Directory Federation Services.
3. In the Create a New Group Claim Extraction dialog box, click Add, type
treyclaimappusers, and then click OK.
3. On the Welcome to the Add Resource Partner Wizard page, click Next.
4. On the Import Policy File page, ensure that No is selected, and then click
Next.
Note
This value is case sensitive.
8. On the Federation Scenario page, click Federated Web SSO, and then
click Next.
9. On the Resource Partner Identity Claims page, select the UPN Claim
check box, and then click Next.
10. On the Select UPN Suffix page, click Replace all UPN domain suffixes
with the following, and then type adatum.com.
11. On the Enable this Resource Partner page, ensure that the Enable this
resource partner check box is selected, and then click Next.
12. On the Completing the Add Resource Partner Wizard page, click Finish.
Note
This value is case sensitive. It must match exactly with the value that is
specified in the incoming group claim mapping in the resource partner
organization.
Note
This value is case sensitive. It must match exactly with the value that is
specified in the incoming group claim mapping in the resource partner
organization.
Step-by-Step Guide to Deploying ADFS 60
To perform the first three of the tasks in this step, it is not necessary to log on with
administrative credentials to the client computer. In other words, if users Alansh or
Adamcar are logged on to the client, they can access both Web-based applications
without being added to any of the local administrator groups (for example, Power Users,
Administrators) for the adfsclient computer.
3. On the Security tab, click the Local intranet icon, and then click Sites.
4. Click Advanced, and in Add this Web site to the zone, type
https://adfsaccount.adatum.com, and then click Add.
Note
You will be prompted twice (in the Security Alert dialog box) for
certificate information. You can install each certificate by clicking View
Certificate and then clicking Install, or you can click Yes each time that
you are prompted. Each of these Security Alert prompts displays the
message "The security certificate was issued by a company you have
not chosen to trust." This is expected behavior because self-signed
certificates are used for the purposes of this guide.
3. When you are prompted for your home realm, click A. Datum, and then click
Submit.
Note
You will be prompted one more time for a certificate.
5. Log off as Alansh, and then log on as Adamcar. Repeat steps 2 through 4 of
this procedure. Compare the difference between Adam's passed claims and
Alan's passed claims.
Note
If you did not install the certificates from the previous procedures, you will
be prompted twice (in the Security Alert dialog box) for certificate
information. You can install each certificate by clicking View Certificate
and clicking Install, or you can click Yes each time that you are
prompted.
3. When you are prompted for your home realm, click A. Datum, and then click
Submit.
Note
If you did not install the certificate from the previous procedure, you will
be prompted one more time for a certificate.
4. At this point you should see the SharePoint site. You should have Read
access only.
5. Log off as Adamcar, and then log on as Alansh. Repeat steps 2 through 4 of
this procedure. Notice that the framework of the SharePoint site is displayed but
Alan does not have permission to read the contents of the Web site.
Use the following procedure to delete the cookies in the client browser and to log on to
the Windows SharePoint Services site with the appropriate administrative credentials.
2. Navigate to https://adfsweb.treyresearch.net/default.aspx.
3. When you are prompted for your home realm, click Trey Research, and then
click Submit.
4. When you are prompted for credentials, type treyresearch\terrya, and then
type the password that you associated with Terry's account. At this point you
should see the site, and should have full Write access.
5. To access the Web site again using Adam's credentials, change the home
realm back to A. Datum. To change the home realm:
e. When you are prompted for the home realm, click A. Datum
Corporation, and then enter the appropriate credentials.
Important
Before you deploy Windows SharePoint Services or SharePoint Portal
Server 2003 in a production environment, you should first understand which
SharePoint Services functionality is supported for ADFS. For more information,
see article 912492, Windows SharePoint Services and SharePoint Portal Server
2003 Support boundaries for Active Directory Federation Services, on the
Microsoft Knowledge Base Web site (http://go.microsoft.com/fwlink/?
LinkId=58576). This article discusses supported and unsupported SharePoint
Services features for ADFS. In addition, walk through the instructions in Appendix
B: Disabling Unsupported SharePoint Functionality in this guide so that you are
familiar with how to remove unsupported SharePoint Services functionality using
the same configuration that you set up in this test lab.
Before you configure federated access to a SharePoint site using the procedures in this
section, acquire the following hardware and software:
• Five additional computers (in addition to the four computers that you used to set
up ADFS in Step 1 of this guide)
• Microsoft® SQL Server™ 2000 software with Service Pack 3 (SP3) or later
To obtain a trial version of this software, see SQL Server 2000 Evaluation Edition
Release A on the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=24550).
To obtain a trial version of this software, see SharePoint Portal Server 2003 Trial
Software on the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkId=22136).
After you finish testing the sample claims-aware application and the Windows SharePoint
Services application, which are documented in steps 1 through 5 of this guide, you can
use the following information and procedures to install and configure SharePoint Portal
Server 2003 for use with ADFS:
• Set Up Additional Computers Required for SharePoint Portal Server 2003 Search
Functionality
• Create the Configuration Database and Configure the Server Farm Topology
• Test Federated Access and Search Functionality to the Trey Research Portal Site
• The Alternate Access Mappings feature in SharePoint Portal Server 2003 does
not work with ADFS.
Alternate Access Mappings map multiple Uniform Resource Locators (URLs) to the
same Internet Information Services (IIS) virtual server or Web site. These URLs can
be configured to either intranet or extranet addresses, depending on the location from
which clients need access. For example, an intranet address might be configured as
https://office while the external address might be
https://extranet.treyresearch.net/office.
ADFS does not support Alternate Access Mappings because Alternate Access
Mappings enforces a unique Return URL for a given site or application. ADFS Web
Agents and the Federation Service use the Return URL to look up application-based
authentication requirements in trust policy and for setting the audience element in
Security Assertions Markup Language (SAML) security tokens.
• Provide claims to an application that the claims were not issued for — to
protect privacy and prevent unauthorized exposure of a user’s personally
identifying information (PII).
SSL termination can be enabled in combination with ISA server–based SSL bridging.
SSL bridging determines whether SSL requests that are received by the ISA Server
computer are passed to the Web server as SSL requests or as HTTP requests. For
ADFS, this means that the original SSL client connection terminates at ISA, but the
connection from ISA to the ADFS-protected SharePoint site must be configured as
HTTPS.
SharePoint Portal Server 2003 search is a two-part process. First, a crawler connects
to provisioned servers to retrieve all documents and a representation of the access
control lists (ACLs) on the original files. Then, the indexing computer runs locally to
calculate which users should be granted access to the retrieved files. The crawler
initiates its connection to the server by using an unauthenticated POST.
Because the ADFS Web Agent cannot support this request — and there is no
possibility of user intervention to get a persistent cookie — the following items are
required for the use of search functionality with ADFS:
• The host file on the index server must be modified to point to the
nonfederated, Web front-end server. For instructions on how to do this, see
Modify the Hosts File.
• Files that are indexed or searched must be in the same domain as the
indexing computer, or they must be in a trusted domain.
The crawler returns a representation of ACLs on the files that it retrieves. These
ACLs contain security identifiers (SIDs) of users who have been granted access.
The indexing computer provides a filtered list of files for users by comparing the
SIDs from user accounts in Active Directory with the SIDs in the original ACLs.
This operation fails if a file is retrieved from an account partner domain where no
Windows trust exists. This is because the original ACL contains SIDs that
correspond to external user accounts in the account partner domain, but the
indexing computer compares those SIDs with SIDs from the external user
resource accounts in the resource domain.
Note
For the most current issues related to SharePoint support for ADFS, see article
912492, Windows SharePoint Services and SharePoint Portal Server 2003
Support boundaries for Active Directory Federation Services, on the Microsoft
Knowledge Base Web site (http://go.microsoft.com/fwlink/?LinkId=58576).
Step-by-Step Guide to Deploying ADFS 67
• Two Web servers running the SharePoint Portal Server 2003 Web service (more
commonly known as front-end Web servers)
• Two Web servers running the SharePoint Portal Server 2003 search service
• One Web server running the SharePoint Portal Server 2003 index service
• One database server running SQL Server 2000 (which stores the SharePoint
Portal Server 2003 content database)
For search functionality to be accessible by federated users, ADFS requires that at least
one of the dedicated front-end Web servers be configured for federation (by enabling the
ADFS Web Agent and anonymous access). The second front-end Web server is not
federated, and it is set to Integrated Windows authentication.
For the purposes of this guide, the server named adfsweb acts as the federated, front-
end Web server. You then add an additional five computers to your existing ADFS test lab
and configure them to host the appropriate SharePoint Portal Server 2003 service or SQL
service. Then, you join them to the treyresearch.net domain as shown in the following
illustration.
Step-by-Step Guide to Deploying ADFS 68
• Install IIS
Important
Before you configure your computers with static Internet Protocol (IP) addresses,
it is recommended that you first complete product activation for
Step-by-Step Guide to Deploying ADFS 69
Windows Server 2003 while each of your computers still has Internet
connectivity.
Install IIS
Use the following procedure to install IIS on the spsweb computer, the spssearch1
computer, the spssearch2 computer, and the spsindex computer.
To install IIS
1. Click Start, point to Control Panel, and then click Add or Remove
Programs.
4. On the Application Server page, select the ASP.NET check box, and then
click OK.
2. Double-click Local Users and Groups, and then click the Groups folder.
4. Click Add.
2. Double-click Local Users and Groups, and then click the Groups folder.
4. Click Add.
Use the following procedures to remove the working Windows SharePoint Services demo
from adfsweb.
3. On the ADFS Web Agent tab, clear the Enable the ADFS Web Agent for
Windows NT token-based applications check box.
6. When you are prompted to consider removing the ADFS Filter or the ADFS
Web Agent ISAPI Extension, click OK again.
3. Click Microsoft SQL Server Desktop Engine (SharePoint), and then click
Remove.
Note
When you see the prompt, select “Y” to replace the SSL settings for site 1.
3. On the Directory Security tab, click View Certificate, click the Details tab,
and then click Copy to File.
5. On the Export Private Key page, click No, do not export the private key,
and then click Next.
6. On the Export File Format page, click DER encoded binary X.509 (.Cer),
and then click Next.
7. On the File to Export page, type C:\adfsweb.cer, and then click Next.
Note
You can download a trial version of this software from SQL Server 2000
Evaluation Edition Release A on the Microsoft Web site
(http://go.microsoft.com/fwlink/?LinkId=24550).
2. Click SQL server 2000 components, and then select Install database
server.
Note
If you see a SQL Server 2000 message about service packs, click
Continue.
3. On the Welcome page, click Next.
4. On the Computer Name page, make sure that Local Computer is selected,
and click Next.
5. On the Installation Selection, page make sure that Create a new instance
of SQL Server, or install Client Tools is selected, and click Next.
7. On the Software License Agreement page, read the agreement, and then
click Yes.
8. On the Install Definition page, select Server and Client Tools, and then
click Next.
Step-by-Step Guide to Deploying ADFS 75
9. On Instance Name page, make sure that the Default check box is selected,
and then click Next.
10. On the Setup Type page, click Typical, and then click Next.
a. Click Use the same account for each service. Auto start SQL Server
Service.
d. In Password, type the password that you assigned to the terrya account.
e. In Domain, type treyresearch.
14. On the Choose Licensing Mode page, click Per Seat, enter the number of
devices that are supported by your license agreement, and then click Next.
Note
If you are installing the SQL Server 2000 Evaluation Edition, you will not
see this page. Proceed to the next step to complete the installation.
Note
You can download a trial version of SharePoint Portal Server 2003 from
SharePoint Portal Server 2003 Trial Software on the Microsoft Web site
(http://go.microsoft.com/fwlink/?LinkId=22136), or you can use the full version of
SharePoint Portal Server 2003 if you have the installation CDs available.
To install and configure SharePoint Portal Server 2003 on all Web servers
1. After you unzip the files, double-click setup.exe in the directory where you
extracted the files.
2. On the Install Microsoft Office SharePoint Portal Server 2003 page, click
Next.
5. On the End-User License Agreement page, select the check box next to I
accept all of the terms in the license agreement, and then click Next.
6. On the Product Key page, verify that all of the 25 characters show up in the
boxes, and then click Next.
7. On the Installation Type and File Location page, click Install without
database engine, and then click Next.
Note
Be careful not to mistype the account or the password on this page.
These entries cannot be corrected after the installation unless you
uninstall SharePoint Portal Server 2003 and then install it again.
9. On the Install Microsoft Office SharePoint Portal Server 2003 page, click
Next.
10. On the Completing the Microsoft Office SharePoint Portal Server 2003
Setup Wizard page, click Finish.
c. In both Password and Confirm Password, type the password for the
terrya domain account.
b. In both Password and Confirm Password, type the password for the
terrya domain account.
13. Click OK.
14. When you get to the Specify Configuration Database Settings for
<SERVERNAME> page, leave the page open on each of the Web servers and
go to the next set of procedures.
d. Click OK.
d. Click OK.
Note
If you do not see the Specify Configuration Database Settings for
<SERVERNAME> page, on the Administrative Tools menu, click
SharePoint Central Administration.
Note
Step-by-Step Guide to Deploying ADFS 79
6. On the drop-down menu in Job server, click spsindex, and then click OK.
• Create the Trey Research Portal Site, and Configure Virtual Server Extensions
Note
In a production environment with multiple front-end Web servers, you extend the
virtual server for each front-end Web server in the farm.
To create the Trey Research Portal site and configure virtual server extensions
1. Log on to adfsweb as Terrya.
Step-by-Step Guide to Deploying ADFS 80
e. In Account name, clear any text that appears, and replace it with
treyresearch\terrya.
f. In E-mail address, type [email protected].
g. Click OK.
4. On the Create Portal Site Confirmation for ADFSWEB page, click OK.
7. On the Extend Virtual Server page, click Extend and map to another
virtual server.
8. On the Extend and Map to Another Virtual Server page, make sure that
Default Web Site appears in the Server Mapping section.
10. On the Refresh Config Cache on Other Web Servers page, click OK.
13. On the Directory Security tab, in the Authentication and access control
section, click Edit.
14. In the Authentication Methods dialog box, ensure that the Integrated
Windows Authentication check box is selected, and then click OK.
Step-by-Step Guide to Deploying ADFS 81
Important
Now that the portal site is created, it should be verified to ensure that it is
functioning properly. To do this, open Internet Explorer. In the address bar, type
http://adfsweb. If the Trey Research Portal site appears, proceed to the next
procedure.
If you see the error message "You are not authorized to view this page", open
the properties of the Default Web Site in IIS. Make sure that Integrated
Windows Authentication is selected in the Directory Security\Authentication
and Access Control\Edit\Authentication Methods dialog box.
Note
Administrative credentials have already been assigned to the terrya account. You
identified this account in the previous procedure when you created the portal.
Note
Selecting the Member check box enables appointed federated users in
the adatum.com forest to create their own personal area on the Trey
Research Portal using the SharePoint Portal Server My Site functionality.
5. Click Local computer: (the computer this console is running on), click
Finish, click Close, and then click OK.
Note
You may have to map the network drive to obtain the adfsweb.cer file.
You can also copy the adfsweb.cer file directly from the adfsweb
computer to spsindex, and then point the wizard to that location.
Step-by-Step Guide to Deploying ADFS 83
9. On the Certificate Store page, click Place all certificates in the following
store, and then click Next.
10. On the Completing the Certificate Import Wizard page, verify that the
information that you provided is accurate, and then click Finish.
Use the following procedure to add an entry to the local hosts file on the spsindex
computer so that the IP address for spsweb will be resolved to queries that are made to
the name adfsweb.
192.168.1.5 adfsweb
4. Click OK.
Note
In a production environment you must modify the web.config file, as shown in this
procedure, on each front-end Web server where the ADFS Web Agent is
enabled.
2. Add the following code to the bottom of the file, between the </system.web>
and </configuration> entries.
<appSettings>
</appSettings>
c. When you see the prompt that explains that this will enable anonymous
access, click OK.
Note
Before you proceed to the following test procedures, verify that the
Application URL that is specified in the Token-based Application section
for the Trey Research Federation Service is configured for
https://adfsweb/, not https://adfsweb.treyresearch.net/.
• Access the Trey Research Portal Site as Terrya and Configure Search and
Indexing
3. If you are prompted for your home realm, click A. Datum, and then click
Submit.
4. At this point you should see the Trey Research Portal site. You should have
Read access as well as the ability to add some listings, create team sites, upload
documents, and create a personal site for Adamcar. To create a personal site for
Adamcar, click the My Site link at the top right of the portal page.
5. Log off as Adamcar, and then log on as Alansh. Repeat steps 2 through 4 of
this procedure. Notice that the framework of the SharePoint Portal Server 2003
site is displayed but Alan does not have permission to read the contents of the
Web site.
To access the Trey Research portal site as Terrya and configure search and
indexing
1. Open a browser window, and delete the cookies.
2. Navigate to https://adfsweb.
3. When you are prompted for your home realm, click Trey Research, and then
click Submit.
4. When you are prompted for credentials, type treyresearch\terrya, and then
type the password. At this point you should see the site, and you should have
Write access.
Step-by-Step Guide to Deploying ADFS 87
5. Click Site Settings, and then click Configure search and indexing.
Note
The crawling process is used to build the index. Therefore, when you add
content to the portal site, you must run at least an incremental crawl to
see that new content appear in search results.
7. To access the Web site again using Adam's credentials, change the home
realm back to A. Datum. To change the home realm:
e. When you are prompted for the home realm, click A. Datum, and then
enter the appropriate credentials.
3. In the search box, type Office. At least four search hits should be displayed.
4. Go back to the home page, and then click Add new event.
6. Access the site again using Terrya access permissions, and start the portal
content update again as identified in the last procedure. After the crawl has
completed successfully, access the site again using Adamcar's access
Step-by-Step Guide to Deploying ADFS 88
Important
Before you deploy Windows SharePoint Services or SharePoint Portal
Server 2003 in a production environment, you should first understand which
SharePoint feature functionality is supported with ADFS. First, read article
912492, Windows SharePoint Services and SharePoint Portal Server 2003
Support boundaries for Active Directory Federation Services, on the Microsoft
Knowledge Base Web site (http://go.microsoft.com/fwlink/?LinkId=58576), which
discusses supported and unsupported SharePoint features with ADFS. In
addition, walk through the instructions in Appendix B: Disabling Unsupported
SharePoint Functionality of this guide so that you are familiar with how to remove
unsupported SharePoint feature functionality using the configuration in this test
lab.
The version of Active Directory Federation Services (ADFS) that is included in the
Windows Server 2003 R2 operating system does not support these SharePoint Office
integration features because they rely on Simple Object Access Protocol (SOAP) Web
services to run outside the browser. ADFS can only support Web services and requests
that are made from within the context of a browser session, such as from an ActiveX
control.
Because of the limitations with regard to how ADFS handles requests that are made to
Microsoft Office applications, you may want to hide or remove unsupported SharePoint
functionality from the view of users in a production environment. Removing a feature from
the SharePoint exposed user interface (UI) helps prevent users from using features that
will not function, and it will help prevent unwanted support calls.
Step-by-Step Guide to Deploying ADFS 89
Note
This appendix provides steps for removing some of the integrated Microsoft
Office features from a federated SharePoint Web site. For more information
about other unsupported Microsoft Office features that can be removed from
Windows SharePoint Services and SharePoint Portal Server, see article 912492,
Windows SharePoint Services and SharePoint Portal Server 2003 Support
boundaries for Active Directory Federation Services, on the Microsoft Knowledge
Base Web site (http://go.microsoft.com/fwlink/?LinkId=58576).
Although these files can be opened successfully, problems may occur if the ADFS cookie
times out. If a user attempts to save the document after the cookie has expired, errors
during the redirects that are required to authenticate the user again may make it
impossible to save the document back to the server.
As a workaround for this problem, the user can be directed to save the document locally,
and then upload it back to the server using the browser. To prevent user confusion in a
production environment, it is recommended that you disable the Edit in Office Application
functionality in SharePoint Portal Server 2003.
You can use the following optional procedures to identify, disable, and verify that the Edit
in Office Application functionality was removed from your ADFS test lab environment:
• If you did not complete the procedures in Appendix A and the Web site is
running Windows SharePoint Services, type
https://adfsweb.treyresearch.net/shared%20documents/forms/allitems.aspx
in a new Internet Explorer window.
b. Point to New.
e. Click Open.
f. When you are prompted to change the file name extension, click Yes.
6. On the Upload Document page, click Save and Close. If you uploaded the
document to a SharePoint Portal Server 2003 Web site, click OK on the Add
Listing page.
2. Repeat the same steps for other Microsoft Office applications by locating the
appropriate Office application extension (for example, Mapping Key="xls") in
the <ByExtension> section and removing the unwanted text from that line of
code.
3. Use Notepad to edit the htmltransinfo.xml file, which is located in the same
directory as the docicon.xml file.
Note
Modifying htmltransinfo.xml with this change will prevent federated users
from receiving error messages when they open a Microsoft Word
document that is stored in a SharePoint document library.
Step-by-Step Guide to Deploying ADFS 92
5. Repeat the previous step again for other Microsoft Office applications by
locating the appropriate Office application extension (for example, Mapping
Extension="doc") and removing the unwanted text from each line of code
(SharePoint.OpenDocuments.2).
2. Point to the adfs document, and then click the down arrow in the drop-down
menu. Note that the Edit in Microsoft Office Word option is no longer visible.
4. The following message appears, which means that the New Document
option has been successfully disabled:
Note
The procedures in this appendix are optional.
3. On the Directory Security tab, click View Certificate, click the Details tab,
and then click Copy to File.
5. On the Export Private Key page, click No, do not export the private key,
and then click Next.
6. On the Export File Format page, click DER encoded binary X.509 (.Cer),
and then click Next.
7. On the File to Export page, type C:\adfsweb.cer, and then click Next.
Note
You can also copy the adfsresource.cer file directly from the
adfsresource computer to adfsweb and then point the wizard to that
location.
5. On the Certificate Store page, click Place all certificates in the following
store, and then click Next.
6. On the Completing the Certificate Import Wizard page, verify that the
information that you provided is accurate, and then click Finish.
To view or remove these certificates from the client, open a browser window. On the
Tools menu, click Internet Options. On the Content tab, click Certificates, and then
click the Trusted Root Certification Authorities tab.