Welcome to our website

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ed ut perspiciatis unde omnis iste.

Samstag, 5. November 2011

Durchgängiges Konfigurieren von SharePoint 2010 und AD FS v2

Durchgängiges Konfigurieren von SharePoint 2010 und AD FS v2
In diesem Beitrag zeige ich in einer durchgängigen exemplarischen Vorgehensweise, wie Sie SharePoint 2010 und AD FS v2 (Active Directory Federation Services, Active Directory-Verbunddienste) zusammen für die Verwendung der SAML-Forderungsauthentifizierung konfigurieren. Ich zeige Ihnen dies in einem Beitrag, der alle entsprechenden Schritte und PowerShell-Skripts enthält.
Zuerst gebe ich Ihnen einen kurzen Überblick über die beteiligten Komponenten und über die Schritte, die Sie ausführen müssen. In diesem Szenario ist AD FS v2 der Identitätsanbieter, der auch als Identitätsanbieter-Sicherheitstokendienst (IP-STS) bezeichnet wird. Wir müssen AD FS mit Informationen zur vertrauenden Seite (Relying Party, RP) konfigurieren. In diesem Fall ist SharePoint die vertrauende Seite, da die Authentifizierung von AD FS ausgeführt wird und die Forderungen ebenfalls von AD FS bereitgestellt werden. Aus SharePoint-Sicht müssen wir SharePoint so konfigurieren, dass SharePoint dem Identitätsanbieter-Sicherheitstokendienst vertraut, von dem die Forderungen gesendet werden. Anschließend müssen wir eine Webanwendung und eine Website einrichten, von denen diese Forderungen verwendet werden.
Zunächst erstellen wir die vertrauende Seite in AD FS. Es spielt keine Rolle, in welcher Reihenfolge Sie diese Schritte ausführen, ich konfiguriere jedoch in der Regel zuerst AD FS. Öffnen Sie auf dem Server, auf dem AD FS installiert ist, die Verwaltungsanwendung für AD FS 2.0. Erweitern Sie den Knoten Vertrauensstellungen (Trust Relationships), und klicken Sie auf den Knoten Vertrauensstellungen der vertrauenden Seite (Relying Party Trusts).
Klicken Sie im linken Bereich auf den Link Vertrauensstellung der vertrauenden Seite hinzufügen (Add Relying Party Trust), um den Assistenten zum Hinzufügen von Vertrauensstellungen der vertrauenden Seite zu starten.
Klicken Sie auf die Schaltfläche Start, um den Vorgang fortzusetzen.
Wählen Sie die Option Konfiguration der vertrauenden Seite manuell eingeben (Enter data about the relying party manually) aus, und klicken Sie dann auf die Schaltfläche Weiter (Next).
Geben Sie einen Anzeigenamen und optional eine Beschreibung für die vertrauende Seite ein, und klicken Sie dann auf die Schaltfläche Weiter (Next).
Wählen Sie die Option zum Verwenden des AD FS 2.0-Profils aus, und klicken Sie dann auf die Schaltfläche Weiter (Next).
Sie können ein Zertifikat auswählen, um das SAML-Token selbst zu verschlüsseln. Dies wird selten getan, da für AD FS die Verbindung mit SharePoint über SSL hergestellt werden muss, das heißt, der Kanal, über den das Token gesendet wird, ist verschlüsselt. Klicken Sie auf die Schaltfläche Weiter (Next).
Aktivieren Sie das Kontrollkästchen Unterstützung für das WS-Passivverbund-Protokoll aktivieren aktivieren (Enable support for the WS-Federation Passive protocol). Für die Protokoll-URL müssen Sie die URL der Stammwebsite der SharePoint-Webanwendung eingeben und das Unterverzeichnis _trust einschließen. In diesem Beispiel lautet die URL der SharePoint-Webanwendung https://seo14. Entsprechend lautet die URL des WS-Passivverbund-Protokolls https://seo14/_trust/. Wenn Sie die URL eingegeben haben, klicken Sie auf die Schaltfläche Weiter (Next).
Als Bezeichner für die Vertrauensstellung der vertrauenden Seite müssen Sie einen Bereich eingeben, der von der Webanwendung an AD FS übergeben wird, wenn sich Benutzer bei der Webanwendung anmelden. Der Bereich wird im Allgemeinen im Format urn:foo:bar erstellt. Der Bereich ist einer Webanwendung zugeordnet. Auf diese Weise kann die eingehende Anmeldeanforderung von AD FS den vorhandenen Vertrauensstellungen der vertrauenden Seite zugeordnet werden. Wenn AD FS mit SharePoint verwendet wird, wird der der Anmeldeanforderung zugeordnete Bereich erkannt und nachgeschlagen, um die Vertrauensstellung der vertrauenden Seite zu suchen. Nach der Authentifizierung des Benutzers wird anhand dieser URL des WS-Passivverbund-Protokolls ermittelt, wohin der Benutzer anschließend umgeleitet werden soll. In diesem Fall habe ich den Bereich urn:seo:sharepoint eingegeben. Wenn ich zur SharePoint-Website https://seo14 zu navigieren versuche, werde ich an AD FS umgeleitet. Ich konfiguriere SharePoint so, dass für diese Anforderung der Bereich urn:seo:sharepoint verwendet wird. Nach der Authentifizierung durch AD FS werde ich wieder an https://seo14/_trust/ umgeleitet, da dies die URL des passiven Protokolls für diese vertrauende Seite ist. Fügen Sie hier einen beliebigen Bereich hinzu, und merken Sie sich den Namen, da Sie diesen beim Konfigurieren von SharePoint erneut eingeben müssen. Klicken Sie dann auf die Schaltfläche Weiter (Next).
In den meisten Fällen möchten Sie, dass alle Benutzer diese vertrauende Seite verwenden können. Wir nehmen an, dass dies in diesem Szenario der Fall ist. Übernehmen Sie also einfach die Standardauswahl, und klicken Sie auf die Schaltfläche Weiter (Next).
Wenn Sie andere Konfigurationsänderungen an der Vertrauensstellung der vertrauenden Seite vornehmen müssen, dann haben Sie hier dazu Gelegenheit. In diesem Szenario ist dies nicht notwendig. Klicken Sie daher einfach auf die Schaltfläche Weiter (Next), um den Vorgang fortzusetzen.
Wir sind jetzt mit dem Konfigurieren der Vertrauensstellung der vertrauenden Seite fertig, aber wir müssen noch eine Forderungsregel erstellen, aus der hervorgeht, welche Forderungen von AD FS zurück an SharePoint gesendet werden sollen. Lassen Sie das Kontrollkästchen zum Öffnen des Dialogfelds für die Bearbeitung von Forderungsregeln aktiviert, und klicken Sie auf die Schaltfläche Schließen (Close).
Nun erstellen wir eine neue Regel. Klicken Sie daher auf die Schaltfläche Regel hinzufügen (Add Rule).
Wir senden LDAP-Attribute als Forderungen, da wir in diesem Fall Informationen von Active Directory erhalten, das heißt, wir authentifizieren uns über AD FS und werden von AD FS anhand der Active Directory-Informationen des Unternehmens authentifiziert, anhand derer auch unsere Attribute ermittelt werden. Lassen Sie den Standardwert ausgewählt, und klicken Sie auf die Schaltfläche Weiter (Next), um den Vorgang fortzusetzen.
Geben Sie zunächst einen Namen für die Forderungsregel ein. Dabei können Sie einen beliebigen Namen verwenden. Wählen Sie dann in der Dropdownliste Attributspeicher (Attribute store) die Option Active Directory aus. Als Nächstes möchten wir für unser Szenario die E-Mail-Adresse und die Gruppen, zu denen der Benutzer gehört, zurück an SharePoint senden. Wir verwenden die E-Mail-Adresse als Bezeichner für den Benutzer, und wir möchten, dass alle Gruppen, zu denen ein Benutzer gehört, in der Rollenforderung gesendet werden. Wählen Sie für die Zuordnung das gewünschte Attribut aus der Dropdownliste auf der linken Seite aus, und wählen Sie dann aus der Dropdownliste auf der rechten Seite die Forderung aus, als die das Attribut gesendet werden soll. In diesem Fall soll das Attribut E-Mail-Adressen (E-Mail-Addresses) aus Active Directory in der standardmäßigen E-Mail-Adressenforderung gesendet werden. Wir möchten, dass die Gruppen, zu denen ein Benutzer gehört, in der standardmäßigen Rollenforderung gesendet werden. In diesem Fall habe ich Tokengruppen – Unvollständige Namen (Token-Groups – Unqualified Names) ausgewählt, da damit der Gruppenname als einfache Zeichenfolge (der Name der Gruppe) gesendet wird. Sie können die SID der Gruppen senden, dies wird jedoch schwieriger, wenn Sie versuchen, eine Rollenforderung einer SharePoint-Gruppe zuzuweisen. Wenn Sie mit dem Konfigurieren der Regel wie hier beschrieben fertig sind, klicken Sie auf die Schaltfläche Fertig stellen (Finish), um die Regel abzuschließen.
Klicken Sie auf die Schaltfläche OK, um den Erstellungsvorgang für die Vertrauensstellung der vertrauenden Seite in AD FS abzuschließen. Im Hinblick auf die Konfiguration in AD FS sind keine weiteren Schritte auszuführen. Es gibt jedoch noch etwas, das wir benötigen. In AD FS wird zum Signieren der gesendeten Token ein Zertifikat verwendet. Daher kann sich der Empfänger des Tokens darauf verlassen, dass das Token nach der Erstellung nicht manipuliert wurde. Zum Konfigurieren von SharePoint benötigen wir eine Kopie dieses Zertifikats, da wir dieses verwenden, wenn wir die Verwendung von AD FS als Identitätsanbieter-Sicherheitstokendienst konfigurieren. Zum Abrufen des Tokensignaturzertifikats aus AD FS erweitern Sie den Knoten Dienst (Service), und klicken Sie auf den Knoten Zertifikate (Certificates).
Hier wird ein Abschnitt für Tokensignaturzertifikate angezeigt. Auch wenn möglicherweise mehrere Tokensignaturzertifikate vorhanden sind, gibt es immer NUR ein primäres Tokensignaturzertifikat. Klicken Sie auf dieses Zertifikat und dann im rechten Bereich auf den Link Zertifikat anzeigen (View Certificate).
In diesem speziellen Fall möchte ich das Zertifikat verwenden, das ich für SSL auf der AD FS-Website erstellt habe. Damit möchte ich nicht sagen, dass dies notwendig ist oder empfohlen wird, es ist lediglich meine Wahl in diesem Fall. Das Zertifikat wird nun angezeigt. Klicken Sie oben im Dialogfeld auf die Registerkarte Details.
Klicken Sie auf die Schaltfläche In Datei kopieren (Copy to File). Daraufhin wird ein Assistent gestartet, mit dessen Hilfe Sie eine Kopie des Zertifikats auf dem Datenträger speichern können.
Klicken Sie auf die Schaltfläche Weiter (Next), um den Vorgang fortzusetzen.
Sie benötigen den privaten Schlüssel nicht. Übernehmen Sie daher die Standardeinstellungen, und klicken Sie auf die Schaltfläche Weiter (Next).
Das Standardformat ist geeignet. Klicken Sie auf die Schaltfläche Weiter (Next), um den Vorgang fortzusetzen.
Wählen Sie einen Speicherort für das Zertifikat aus, und klicken Sie auf die Schaltfläche Weiter (Next). Merken Sie sich diesen Speicherort unbedingt, da Sie das Zertifikat aus diesem Speicherort auf den SharePoint-Server kopieren müssen.
Alle zum lokalen Kopieren des Zertifikats benötigten Informationen sind jetzt erfasst. Klicken Sie auf die Schaltfläche Fertig stellen (Finish), um den Assistenten abzuschließen und das Zertifikat in einer lokalen Datei zu speichern. Kopieren Sie die Datei auf den SharePoint-Server. Damit sind wir mit dem AD FS-Server fertig.
Wechseln Sie zum SharePoint-Server, mit dessen Konfiguration wir jetzt beginnen. Bevor wir mit dem Konfigurieren von SharePoint beginnen, sollten Sie eine neue Webanwendung erstellen. Erstellen Sie die Webanwendung für die Verwendung der Forderungsauthentifizierung, wählen Sie aber in den Authentifizierungseinstellungen die Option Integrierte Windows-Authentifizierung - NTLM (Integrated Windows authentication – NTLM) aus. Konfigurieren Sie die Webanwendung für die Verwendung von Port 443, und wählen Sie das Optionsfeld Secure Sockets Layer (SSL) verwenden (Use Secure Sockets Layer (SSL)) aus. Denken Sie nach der Erstellung der Webanwendung daran, den IIS-Manager aufzurufen und die Bindungen für den neuen virtuellen Server zu bearbeiten, damit Sie das entsprechende SSL-Zertifikat zuweisen können. Diese Schritte werden in diesem Beitrag nicht behandelt, sind jedoch an vielen Stellen im Internet gut dokumentiert. Fassen wir zusammen: In unserem Szenario wird eine Webanwendung erstellt, von der Port 443 und SSL verwendet wird, und die URL für die Webanwendung lautet https://seo14.
Der erste Schritt auf der SharePoint-Seite besteht darin, das Tokensignaturzertifikat hinzufügen, das ich vom AD FS-Server kopiert habe. Vorher muss ich mir jedoch das Zertifikat ansehen. Die Kette des Tokensignaturzertifikats enthält möglicherweise ein oder mehrere übergeordnete Zertifikate. In diesem Fall muss ich jedes Zertifikat in dieser Kette der Liste der vertrauenswürdigen Stammzertifizierungsstellen in SharePoint hinzufügen. Dazu suche ich das aus AD FS kopierte Tokensignaturzertifikat und doppelklicke darauf. Daraufhin wird das Fenster mit den Zertifikateigenschaften angezeigt. Wenn Sie auf die Registerkarte Zertifizierungspfad (Certification Path) klicken, können Sie sehen, ob die Kette weitere Zertifikate enthält. In meinem Szenario HAT das Tokensignaturzertifikat ein übergeordnetes Zertifikat, nämlich das Zertifikat der Stammzertifizierungsstelle.
Jetzt muss ich für jedes Zertifikat, das sich in der Kette oberhalb des Tokensignaturzertifikats befindet, eine Kopie lokal speichern. Dazu kann ich auf das Zertifikat klicken. Dadurch wird im Dialogfeld die Schaltfläche Zertifikat anzeigen (View Certificate) aktiviert. Wenn ich auf diese Schaltfläche klicke, wird ein separates Eigenschaftendialogfeld für dieses Zertifikat geöffnet. Dann kann ich mithilfe des weiter oben beschriebenen Vorgangs eine Kopie des Zertifikats auf dem Datenträger speichern: Ich klicke auf die Registerkarte Details, klicke auf die Schaltfläche In Datei kopieren (Copy to File) und speichere dann das Zertifikat lokal als CER-Datei. In meinem Fall habe ich das getan und das Zertifikat unter C:\adfsParent.cer gespeichert. Auf dem SharePoint-Server befinden sich jetzt zwei Zertifikate:
· C:\adfs.cer, das vom AD FS-Server kopierte Tokensignaturzertifikat
· C:\adfsParent.cer, das übergeordnete Zertifikat des Tokensignaturzertifikats
Nun muss ich diese Zertifikate der Liste der vertrauenswürdigen Stammzertifizierungsstellen hinzufügen. Dafür verwende ich dieses Skript in PowerShell:
$root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\adfsParent.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\adfs.cer ")
New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
Wenn ich diese Befehle in PowerShell ausgeführt habe, sieht die Ausgabe ungefähr so aus:
Als Nächstes erstelle ich die Forderungszuordnungen, die von SharePoint verwendet werden sollen. Weiter oben in diesem Artikel habe ich erwähnt, dass ich E-Mail-Adressen- und Rollenforderungen in SharePoint verwenden werde. Hier ist das PowerShell-Skript, das ich zum Erstellen dieser Zuordnungen verwenden werde:
$map = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming
Als Nächstes erstelle ich eine Variable für den Bereich, der in SharePoint verwendet werden soll. Wie bereits erwähnt werde ich in diesem Szenario den Bereich urn:seo:sharepoint verwenden. Hier ist das PowerShell-Skript zum Erstellen der Bereichsvariablen:
$realm = "urn:seo:sharepoint"
Jetzt kann ich den SPTrustedIdentityTokenIssuer erstellen. Hier verknüpfe ich alle Konfigurationsinformationen, damit diese in SharePoint zum Herstellen von Verbindungen mit dem Identitätsanbieter-Sicherheitstokendienst und zum Arbeiten mit diesem verwendet werden. Ich zeige Ihnen hier das PowerShell-Skript und erläutere dann die wichtigen Teile:
$ap = New-SPTrustedIdentityTokenIssuer -Name "SAML Provider" -Description "SharePoint secured by SAML" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map,$map2 -SignInUrl "https://congen1.contoso.local/adfs/ls" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
Das Name-Attribut wird in der Webanwendung angezeigt, wenn Sie konfigurieren, welcher Authentifizierungsanbieter verwendet werden soll. In das realm-Attribut integrieren wir den Bereich, der von SharePoint für diesen vertrauenswürdigen Identitätstokenherausgeber verwendet werden soll. Im ImportTrustCertificate-Attribut übergeben wir das vom AD FS-Server kopierte Tokensignaturzertifikat. Mit dem ClaimsMappings-Attribut weisen wir Sharepoint an, welche Forderungen von diesem vertrauenswürdigen Identitätstokenherausgeber verwendet werden sollen. SignInUrl ist die URL, an die Benutzer umgeleitet werden sollen, damit diese mit dem Identitätsanbieter-Sicherheitstokendienst authentifiziert werden. In diesem Fall sollen die Benutzer mit integrierter Windows-Sicherheit über den AD FS-Server authentifiziert werden. Daher senden wir die Benutzer an das Unterverzeichnis /adfs/ls. Mit dem IdentifierClaim-Attribut schließlich wird SharePoint informiert, welche der Forderungen zum Identifizieren von Benutzern verwendet werden soll. In diesem Fall geben wir an, dass Benutzer anhand der E-Mail-Adresse identifiziert werden sollen.
Nach der Ausführung dieses letzten PowerShell-Befehls haben wir einen SPTrustedIdentityTokenIssuer, der für die SharePoint-Webanwendung verwendet werden kann. Öffnen Sie den Browser, und navigieren Sie zur Zentraladministration. Klicken Sie auf den Link Webanwendungen verwalten (Manage Web Applications), klicken Sie dann in der Liste auf die Webanwendung, für die die Authentifizierung mithilfe von AD FS ausgeführt werden soll, und klicken Sie dann auf dem Menüband auf die Schaltfläche Authentifizierungsanbieter (Authentication Providers). Klicken Sie im Dialogfeld auf den Link, der der Zone entspricht, in der Sie AD FS für die Authentifizierung verwenden möchten. Führen Sie einen Bildlauf nach unten zum Abschnitt Forderungsauthentifizierungstypen (Claims Authentication Types) aus. Sie können nun die Auswahl von NTLM aufheben, und in der Liste der vertrauenswürdigen Anbieter sollte ein neuer Anbieter mit dem Namen SAML Provider angezeigt werden.
Aktivieren Sie das Kontrollkästchen daneben, und klicken Sie auf die Schaltfläche Speichern (Save), um die Änderungen zu speichern. Nun können Sie eine Websitesammlung für die Webanwendung erstellen. Auch dieser Vorgang wird in diesem Beitrag nicht schrittweise beschrieben. Es gibt jedoch einen wichtigen Punkt, an den Sie dabei denken müssen. Denken Sie beim Hinzufügen des Websitesammlungsadministrators daran, den Namen im Format der Identitätsforderung einzugeben. In diesem Szenario beispielsweise handelt es sich bei der Identitätsforderung um eine E-Mail-Adresse. Ich habe also beim Hinzufügen des Websitesammlungsadministrators den Namen administrator@contoso.local verwendet, da dies die E-Mail-Adresse des Benutzers ist, der Websitesammlungsadministrator sein soll.
Jetzt kann ich zur neuen Websitesammlung wechseln. Ich öffne den Browser, gebe die Zeichenfolge https://seo14 ein, und drücke die EINGABETASTE. Als Erstes werde ich zur SignInUrl für den SPTrustedIdentityTokenIssuer umgeleitet, der der Webanwendung zugeordnet ist. Wie Sie sich aus dem PowerShell-Skript erinnern werden, das zum Erstellen des SPTrustedIdentityTokenIssuer verwendet wurde, lautet die URL https://congen1.contoso.local/adfs/ls. Die folgende Ausgabe wird angezeigt, wenn ich die URL der SharePoint-Website in den Browser eingebe:
Sie können sehen, dass die URL im Browserfenster jetzt auf den AD FS-Server zeigt und dass im Hintergrund hinter dem Anmeldedialogfeld die Grafik für den AD FS-Server angezeigt wird. Möglicherweise bemerken Sie auch, dass ich mich mit meinen Windows-Anmeldeinformationen (Domäne\Benutzer) anmelde. Wie Sie sich erinnern werden, ist dies möglich, weil ich mich über den AD FS-Server authentifiziere und nicht über SharePoint. SharePoint ist so konfiguriert, dass die E-Mail-Adresse als meine Identität verwendet wird. Ich authentifiziere mich jedoch über AD FS, und die Forderungsregel, die wir erstellt haben, wird verwendet, um meine E-Mail-Adresse und meine Gruppen abzurufen und diese in Forderungen einzufügen, die zurück an SharePoint gesendet werden. Nach der Authentifizierung werde ich gemäß der Konfiguration der vertrauenden Seite, die ich in AD FS eingerichtet habe, wieder an SharePoint unter https://seo14/_trust/ umgeleitet. An dieser Stelle wird der Authentifizierungsvorgang von SharePoint abgeschlossen, indem die im SAML-Token empfangenen Forderungen in eine SPUser-Klasse konvertiert werden. Schließlich befinde ich mich auf der Homepage der Website:
Wie Sie sehen, wird im Anmeldesteuerelement im rechten oberen Teil der Seite meine Identität als E-Mail-Adresse angezeigt, da dies meiner Identitätsforderung entspricht.
Das ist der vollständige durchgängige Vorgang mit begleitenden Erklärungen. Mithilfe dieser Anweisungen sollten Sie in der Lage sein, Websites zu konfigurieren und in Betrieb zu nehmen.

Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter Configuring SharePoint 2010 and ADFS v2 End to End

Configuring SharePoint 2010 and ADFS v2 End to End

In this post I’m going to do an end-to-end walk through on how to configure SharePoint 2010 and ADFS v2 together to use SAML claims authentication. I’ll includes steps and PowerShell scripts to demonstrate and will try and bring all of the pieces together in one big posting.
First a brief overview of the components involved and what we’re going to need to do. In this scenario ADFS v2 is our Identity Provider, also known as an IP-STS (Security Token Service). We need to configure ADFS with information about our Relying Party, or RP. In this case, SharePoint is our RP – it’s depending on ADFS to do the authentication and provide the claims. From the SharePoint perspective, we have to configure it to trust the IP-STS that is sending us claims, and then we have to set up a web application and site that’s going to consume those claims.
We’ll begin by creating the relying party in ADFS. Note that it really doesn’t matter which order you do these things in, but as a matter of practice I generally configure ADFS first. So go to the server on which ADFS is installed and open the AD FS 2.0 Management application. Expand the Trust Relationships node and click on the Relying Party Trusts node.
Click on the Add Relying Party Trust link in the right pane to start the Add Relying Party Trust wizard.
Click the Start button to continue.
Select the option to Enter data about the relying party manually, and then click the Next button.
Enter a Display name and optionally a description for the relying party and then click the Next button.
Select the option to use the AD FS 2.0 profile and then click the Next button.
You can select a certificate to encrypt the SAML token itself. This isn’t done frequently because ADFS will require our connection to SharePoint be made over SSL, so the channel the token is sent over is encrypted already. Click the Next button.
Check the box to Enable support for the WS-Federation Passive protocol. For the protocol URL you need to enter the Url for the SharePoint web applictation’s root site, and include the “_trust” subdirectory. In this example, the Url to my SharePoint web application is https://seo14, so the WS-Federation Passive protocol Url is https://seo14/_trust/. After entering your Url click the Next button.
For the relying party trust identifier you need to enter a realm that your web application will pass to ADFS when users log into the web application. The realm is generally created in the format of urn:foo:bar. The realm is associated with a web application and is how ADFS can map the login request that’s come in to the relying party trusts it has. When used with SharePoint, ADFS sees the realm associated with the login request, it looks that up to find the relying party trust, and then after it authenticates the user it looks to that WS-Federation Passive protocol Url to know where to redirect the user afterwards. So in this case, I’ve entered a realm of urn:seo:sharepoint. When I try navigating to my SharePoint site at https://seo14 I’ll be redirected to ADFS and I’ll configure SharePoint to use the realm urn:seo:sharepoint for that request. Once ADFS has authenticated me it will redirect me again to https://seo14/_trust/ because that’s the passive protocol Url for that relying party. Add whatever realm you want to use here and make a note of it because you will need to enter it again when you configure SharePoint. Then click the Next button.
In most cases you will want all of your users to be able to use this relying party. We’ll assume that’s the case for this scenario so just accept the default choice and click the Next button.
If you needed to make any other configuration changes at this time to the relying party trust you could do it here. For this scenario we don’t need to so just click the Next button to continue.
We’re done configuring the relying party trust but we still need to create a claim rule to tell ADFS what claims to send back to SharePoint. So leave the box checked to Open the Edit Claim Rules dialog and click the Close button.
Now we are going to create a new rule, so click the Add Rule… button.
We are going to send LDAP attributes as claims because we are getting information from Active Directory in this case, meaning we will authenticate at ADFS and ADFS is going to use the corporate Active Directory to authenticate us and determine what our attributes are. So leave the default value selected and click the Next button to continue.
Start out by typing in a Claim rule name; it can be whatever you want. Next, in the Attribute store drop down select Active Directory. Next, for our scenario we want to send email address and the groups to which the user belongs back to SharePoint. We are going to use email address as the identifier for the person, and we want all the groups a user belongs to sent over in the Role claim. To do the mapping, select the attribute you want from the drop down on the left side, and then select the claim that it will be sent out as in the drop down in the right pane. In this case we want the E-Mail-Addresses attribute from Active Directory to be sent out in the standard E-Mail Address claim. We want the groups to which a user belongs to be sent out in the standard Role claim. In this case I’ve selected Token-Groups – Unqualified Names because it sends the group name out as a simple string – the name of the group. You could send out the SID of the groups but that becomes more difficult to use when you are trying to assign a Role claim to a SharePoint group. After you’ve finished configuring this rule as described here, click the Finish button to complete the rule.
Click the OK button to complete the process of creating your relying party trust in ADFS. From a configuration standpoint in ADFS there’s nothing else we need to do. However there is one other thing we need to get from it. ADFS uses a certificate to sign the tokens it sends out. This ensures the consumer of the token that it has not been tampered with since it was created. To configure SharePoint we need a copy of this certificate because we’ll use it when configuring it to use ADFS as the IP-STS. To get this token signing certificate from ADFS, expand the Service node and click on the Certificates node.
There is a section there for Token-signing certificates. You may have one to many token-signing certificates, but there will always be ONLY one Primary token signing certificate. Click on that certificate, and then click on the View Certificate link in the right pane.
In this particular case I chose to use the certificate I created for SSL on the ADFS web site. I’m not suggesting that this is needed or even recommend; it’s just what I chose to do. Now that you are viewing the certificate, click on the Details tab at the top of the dialog.
Click on the Copy to File… button. That will start a wizard to save a copy of the certificate to disk.
Click the Next button to continue.
You don’t need the private key, so accept the default settings and click the Next button.
The default format is fine so click the Next button to continue.
Pick a location to save the certificate and click the Next button. Make sure you remember this location because you will need to copy the certificate from where you save it over to the SharePoint server.
All the information needed to copy the certificate locally has been captured now so click the Finish button to complete the wizard and save the certificate to a local file. Copy this file to the SharePoint server and then we are finished with the ADFS server.
Switch over to the SharePoint server and we will begin configuring it. Before we start configuring SharePoint I recommend that you create a new web application now. Create it to use claims authentication, but select Integrated Windows authentication – NTLM for the Authentication Settings. Make sure you configure the web application to use Port 443 and you select the radio button that says Use Secure Sockets Layer (SSL). Once you’ve created your web application remember to go into the IIS Manager and edit the bindings for the new virtual server so you can assign the appropriate SSL certificate. These steps are outside the scope of this posting, but are well-documented in many places around the Internet. To recap, for our scenario then there is a web application I’ve created that uses Port 443 and SSL and the Url for that web application is https://seo14.
The first thing I’m going to do on the SharePoint side is to add the token signing certificate I copied from the ADFS server. Before I do that though, I need to look at the certificate. The token signing certificate may have one or more parent certificates in its chain. If it does, I need to add every certificate in that chain to SharePoint’s list of trusted root authorities. To figure that out, I’ll find the token signing certificate I copied over from ADFS and double-click on it; that brings up the certificate properties window. If you click on the Certification Path tab you can see if there are any other certificates in the chain. In my scenario my token signing certificate DOES have a parent – it is the root certificate authority certificate.
What I need to do now, is for each certificate in the chain above my token signing certificate, I need to save a copy of each one locally. I can do that by clicking on the certificate, which enables the View Certificate button in the dialog. If I click on that it will open a separate properties dialog for that certificate. I can then follow the same process I described earlier to save a copy of the certificate to disk: click on the Details tab, click on the Copy to File… button, then save the certificate locally as a .CER file. In my case I did this and saved it to C:\adfsParent.cer. So now on my SharePoint server I have two certificates:
· C:\adfs.cer, which is the token signing certificate I copied from my ADFS server
· C:\adfsParent.cer, which is the parent certificate to my token signing certificate
Now that I have both of these certificates, I need to add them to my list of trusted root authorities. I’m going to do that in PowerShell with this script:
$root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\adfsParent.cer")
New-SPTrustedRootAuthority -Name "Token Signing Cert Parent" -Certificate $root
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\adfs.cer ")
New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
After I execute those commands in PowerShell the output looks something like this:
Next I’m going to create the claim mappings that SharePoint is going to use. If you recall from earlier in this article I said that I was going to use email address and role claims in SharePoint. Here’s the PowerShell that I’ll use to create those mappings:
$map = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$map2 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming
Next I’m going to create a variable for the realm that I want SharePoint to use. For this scenario I said I was going to use the realm urn:seo:sharepoint. Here’s the PowerShell to create my realm variable:
$realm = "urn:seo:sharepoint"
Now I’m ready to create my SPTrustedIdentityTokenIssuer. This is where I tie together all of the configuration information so SharePoint knows how to connect and work with the IP-STS. I’ll show the PowerShell here and then explain the important parts:
$ap = New-SPTrustedIdentityTokenIssuer -Name "SAML Provider" -Description "SharePoint secured by SAML" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map,$map2 -SignInUrl "https://congen1.contoso.local/adfs/ls" -IdentifierClaim "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
The “Name” attribute is what is going to show up in your web application when you configure what authentication provider it should use. The “realm” attribute is where we plug in the realm that we want SharePoint to use with this trusted identity token issuer. The “ImportTrustCertificate” attribute is where we pass it the token signing certificate that we copied from the ADFS server. The “ClaimsMappings” attribute is where we tell it what the claims are that we want this trusted identity token issuer to use. The “SignInUrl” is the Url that users should be redirected to in order to authenticate with the IP-STS. In this case we want users to authenticate with the ADFS server using Windows integrated security, so we send them to the /adfs/ls subdirectory. Finally, the “IdentifierClaim” attribute tells SharePoint which of the claims is going to be thee claim that is used to identify users. In this case we’re saying email address is how you identify a person.
Once that last PowerShell command has executed, we have an SPTrustedIdentityTokenIssuer that can be used with our SharePoint web application. So now we’ll open up the browser and navigate to Central Administration. Click on the Manage Web Applications link, then click on the web application in the list that’s going to use ADFS to authenticate, then click the Authentication Providers button in the ribbon. Click the link in the dialog that corresponds to the zone in which you are going to use ADFS to authenticate. Scroll down to the Authentication Types section. You can now de-select NTLM, and you should see a new provider called “SAML Provider” in the list of trusted providers.
Check the box next to it and click the Save button to save your changes. Now you can go and create a site collection for the web application. Again, describing that process step-by-step is not in scope for this posting, but there is one important thing to remember when you do this. When you add the Site Collection Administrator, remember to enter the name in the format of your identity claim. For example, in this scenario the identity claim is email address. So when I added the Site Collection Administrator the name I used was administrator@contoso.local, because that’s the email address of the person I want to be the Site Collection Administrator.
Now I’m ready to try and go to my new site collection. I open up the browser and type in https://seo14 and hit enter. The first thing that happens is my redirected to the SignInUrl for the SPTrustedIdentityTokenIssuer that’s associated with my web application. If you recall from the PowerShell that was used to create the SPTrustedIdentityTokenIssuer, that Url is https://congen1.contoso.local/adfs/ls. So here’s what I see after typing the Url to my SharePoint site in the browser:
You can see the Url in the browser window now points to my ADFS server and you can see the graphic in the background behind the login dialog is for the ADFS server. You may also notice that I’m signing in using my Windows credentials, i.e. domain\user. Remember I’m able to do this because I’m authenticating on the ADFS server, not on SharePoint. SharePoint is configured to use email address as my identity, but what is going to happen is that I’ll authenticate over on ADFS, and then it will use the claim rule we created to pull out my email address and groups and put them into claims that will be sent back to SharePoint. So then after I’ve authenticated I’m redirected back to SharePoint at https://seo14/_trust/, as I configured in the relying party I set up in ADFS. At that point SharePoint will complete the authentication process on its side as it takes the claims it got in the SAML token and converts it into an SPUser. Then I finally arrive at the home page for the site:
You’ll notice the login control in the upper right-hand part of the page is displaying my identity as email address, since that is my identity claim.
That’s the complete end-to-end process with a little explanation on the side. You should be able to use it to get your sites configured and running by following these instructions.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Free Samples By Mail