48
Tout ce que vous voulez savoir sur l'authentification par revendications de SharePoint 2010... Claims? Vous avez dit Claims? Nicolas Georgeault Architecte SharePoint Senior, MVP SharePoint Server Public Consulting Group

14.4 tout ce que vous voulez savoir sur l'authentification par revendications

Embed Size (px)

DESCRIPTION

Les Slides de ma presentation sur le Claim lors du SharePoint Summit de Quebec 2012

Citation preview

Page 1: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Tout ce que vous voulez savoir sur l'authentification par revendications de SharePoint 2010... Claims? Vous avez dit Claims?

Nicolas GeorgeaultArchitecte SharePoint Senior, MVP SharePoint ServerPublic Consulting Group

Page 2: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Qui suis-je?

Nicolas GeorgeaultMVP3y SharePoint ServerArchitecte SP chez PublicConsulting Group Canada

Consultant & Speaker [email protected]://ngeorgeault.club-sharepoint.frhttp://www.facebook.com/nicolas.georgeaulthttp://twitter.com/ngeorgeaulthttp://www.slideshare.com/ngeorgeault

Passionné de Horse-Ballwww.fihb-horseball.org

Page 3: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Le club SharePoint

Point de rencontre francophone

Agrégation de contenu en FrançaisBlogues,Articles,Evènements …

Groupe d’échange sur les usages et les bonnes pratiques

5 a 7 des communautés MicrosoftDernier jeudi du mois à Montréal?? A Québec

http://www.club-sharepoint.fr

http://www.ugsf.fr

Page 4: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Références

Page 5: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Références et Crédits

Plan Authentication Methods(SharePoint Server 2010)

http://technet.microsoft.com/en-us/library/cc262350.aspx

A Guide to Claims-Based Identity and Access Control (Microsoft Patterns and Practices)

http://claimsid.codeplex.com/

Steve Peschkahttp://blogs.technet.com/b/speschka/archive/2010/06/12/migrating-a-web-application-from-windows-classic-to-windows-claims-in-sharepoint-2010.aspxhttp://msdn.microsoft.com/en-us/library/hh147183.aspx

Azure ACS Integrationhttp://blogs.objectsharp.com/cs/blogs/steve/archive/2011/04/21/windows-azure-access-control-services-federation-with-facebook.aspxhttp://www.7388.info/index.php/article/studio/2011-07-29/20983.html

Page 7: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Agenda

Caractéristiques d'une Application sécurisée

Options de l'authentification SharePoint 2010

Aperçu de la terminologie/technologie des revendications

DémosApplication Web SharePoint 2010 avec FBA (Authentification Basée sur les Formulaires)Ajout des fournisseurs d'identité de confiance Azur basés sur ACS

“Pièges”Problèmes habituels lors de l’implémentations de revendicationsProblèmes lors des migrations de MOSS vers SharePoint 2010Quand les revendications se comportent mal…

Recommandations

Page 8: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Caractéristiques d'une Application sécurisée

L'authentification est le processus de validation de l'identité d'un utilisateur

SharePoint n’effectue jamais d'authentification

Si l'invite login apparait de manière permanente, pensez a un problème d'authentification!

Page 9: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Caractéristiques d'une Application sécurisée

L'autorisation est le processus qui détermine les ressources, caractéristiques, etc. auxquels un utilisateur peut avoir accès

Objet SPUser – directeur de la sécurité

Si vous voyez des erreurs « Accès refusé », pensez a des problèmes d’autorisation !

Page 10: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Options de l'authentification SharePoint 2010

La plus grande décision de votre vie !

Conseils TechNet:“« Pour les nouvelles implémentations de SharePoint Server 2010, vous devriez considérer l'authentification basée sur les revendications.”

Page 11: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Options de l'authentification SharePoint 2010

Authentification basée sur les revendications (Jetons)

Authentification Windows: NTLM/Kerberos, BasiqueAuthentification basée sur les formulaires (Fournisseur d'appartenances ASP.NET et gestionnaire de rôles)Fournisseurs d'identité fiablesPage de connexion personnalisé

Mode Authentification Classique (“Old School”)Authentification Windows (NTLM/Kerberos) seulement

Les deux modes connectent les utilisateurs authentifies aux objets SPUser (entités de sécurité)

Page 12: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Concepts d'identité basé sur les revendications

Qu’est-ce qu’une revendication?Un élément d'information décrivant un utilisateur

NomAdresse de CourrielAppartenance à un rôle/groupeÂgeDate d'embauche

A quelle revendications puis-je faire confiance, et quelles revendications affectent mes choix d’autorisation?

Page 13: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Terminologie de l’identité basée sur les revendications

JetonEnsemble sérialisé de revendication au sujet d’un utilisateur authentifie, signe numériquement par un fournisseur de jeton.

Service de Jeton de Sécurité – Fournisseur d’identité (IP-STS)

Valide les informations d'identification utilisateurConstruit, signes et émet des jetons contenant des revendications

Partie utilisatrice (RP)Applications qui prend des décisions d'autorisation basées sur les revendications (SharePoint 2010)

Page 14: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Le paradigme des revendications

Séparation de la logique de l'authentification, de l’autorisation et de la logique de personnalisation

Les applications ne doivent pas déterminer qui est ou n’est pas l'utilisateur. Elles reçoivent des demandes qui identifient cet utilisateur.Parfait pour les développeurs qui souhaitent rarement travailler avec identité et les problèmes qui y sont attaches ! (Gouvernance, Gestion, …)

Fournit un moyen commun pour les application d’acquérir les informations d'identité dont elles ont besoin sur les utilisateurs

Page 15: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

La caverne aux merveilles

1. “Je souhaiterai accéder au document de budget.”

2. “Pas avant que vous ne m’ayez prouve que vous faite bien partie du groupe Finance.” “Give me the Magic Word! ;)”

3. “Voici mon IDentifiant utilisateur et mon mot de passe.”

4. “Bonjour, Aladin. Je vois que vous êtes dans le groupe des finances. Voici un jeton, que vous pouvez utiliser.”

5. “Je souhaiterai accéder au document de budget,et voici la preuveque je peux bien y accéder!”

SharePoint 2010

Page 16: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Technologies d'identité basée sur les revendications

WS-Trust, WS-Federation, SAMLDemander et recevoir des jetonsReprésentation XML de revendications

Ces technologies émergentes sont dans l’air depuis un certain temps

Leur utilisation dans l’identification basée sur les revendications représente une nouvelle approche pour la gestion de l'identité dans les applicationsBeaucoup de potentiel dans les environnements de travail

Services de Fédération Active Directory (ADFS), external LDAP, etc.

Énorme potentiel comme nous nous déplaçons vers le nuage

Azure ACS: Facebook, Google, Windows Live ID, etc.

Page 17: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Demo

Page 18: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

La Web Part Afficheur des revendications

Visual Web Part

Code behind:

http://blogs.pointbridge.com/Blogs/nielsen_travis/Pages/Post.aspx?_ID=32

IClaimsPrincipal claimsPrincipal = Page.User as IClaimsPrincipal;IClaimsIdentity claimsIdentity = (IClaimsIdentity) claimsPrincipal.Identity;GridView1.DataSource = claimsIdentity.Claims;Page.DataBind();

Page 19: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

SharePoint 2010 et le FBA

Globalement semblable à la configuration du FBA pour MOSS, à quelques exceptions près:

Le fournisseur d'authentification n'a pas besoin d'être mappé à une zone distincteUn Web.config supplémentaires pour modifier:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityTokenAjouter des entrées pour la chaîne de connexion, le fournisseur d'appartenances, le gestionnaire de rôles

Mêmes modifications pour l’Administration Centrale et l’Application Web

Page 20: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Page de connexion

Permet aux utilisateurs de choisir comment ils souhaitent être authentifier lorsque plusieurs fournisseurs sont configurés (authentification mixte)

Des opportunités de personnalisationhttp://www.orbitone.com/en/blog/archive/2010/06/23/sharepoint-2010-mixed-authentication-automatic-login.aspxhttp://blogs.msdn.com/b/brporter/archive/2010/05/10/temp.aspx

Page 21: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Authentification basee sur les formulaires

Page 22: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

Créer un compte sur AppFabric Labshttps://portal.appfabriclabs.com/Default.aspx

Utilisez Facebook Developer application pour créer votre nouvelle application personnelle

Page 23: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

Notez les valeurs App ID et App Secret

Attribuer une URL « Politique de confidentialité »

Accorder des autorisations à générer le jeton accès

Choisissez « Web » dans le menu de gauche, entrez des valeurs pour l'URL du Site et de domaine du Site

Basé sur votre compte AppFabric Labs / Azure

Page 24: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

Générer un certificat auto-signéC:\Program Files\Microsoft Office Servers\14.0\Tools>MakeCert.exe -r -pe -n "CN=www.club-sharepoint.fr" -sky exchange -ss my

Pour le développement seulement!

A ne pas faire en production!

Page 25: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

Téléverser le Certificat de signature des jetons

Page 26: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

From Azure ACS, choose Add Identity Provider, then choose Facebook application

Enter Application ID, Application secret, and Application permissions

Page 27: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

Configurer les paramètres de l’application Cliente

Page 28: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Ajouter le support Facebook

Configurer les groupes de regles

Page 29: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Azure ACSTrusted Identity Providers

Page 30: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Adding Facebook Support

In case the Internet didn’t work:

Page 31: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Adding Facebook Support

In case the Internet didn’t work:

Page 32: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Adding Facebook Support

In case the Internet didn’t work:

Page 33: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quelques “Pieges”

Page 34: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quelques “Pièges” des revendications

Problèmes classiques rencontres lors de l’implémentation des revendications

Le robot de recherche nécessite NTLM dans la zone qu'il utiliseLe “Sélecteur de personnes” est plus qu’un “ éditeur d'expression ” pour les revendication

Possibilité de code personnalisé (fournisseur de revendications personnalisées)

Profils utilisateurUser Profiles

Connexion LDAP ou BCS au magasin d'authentification

Intégration de client Office (2007 SP2+, 2010)IE 8 et +: Sites de confiance

Page 35: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Témoignage de la vie réelle

“Après la migration de revendications dans SharePoint 2010, la plupart de nos utilisateurs ont pu se connecter de temps en temps.”

—Un administrateur système decu

Page 36: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quelques “Pièges” des revendications

Migration de MOSS vers SharePoint 2010Migrer les utilisateurs FBA

$wa = get-SPWebApplication $WebAppName$wa.MigrateUsers($true)

Portalsuperuser et Portalsuperreader doivent être mises à jour afin de refléter le format codé en revendications

$wa.Properties["portalsuperuseraccount"] = "i:0#.w|domain\apppool"$wa.Properties["portalsuperreaderaccount"] = "i:0#.w|domain\apppool"$wa.Update()

Vous devez migrer Tous les fournisseurs de MOSS vers 2010

cad., NTLM et FBA si les deux existaient avant la migration

Page 37: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quand les revendications se comportent mal…

Affichage plus ou moins “Drole” des noms d’utilisateurs

i:0#.w|SHRPNT\Administratori:0#.f|CustomMembershipProvider|usernamei:0#.t|selfsts|[email protected]

i: Microsoft.SharePoint.Administration.Claims. SPClaimsAuthMembershipProvider (Web.config)

Fournisseurs d’identite: Windows, Forms, Trusted

Page 38: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quand les revendications se comportent mal…

Set DisplayName property of SPUser$user = Get-SPUser -Web http://abc.shrpnt.loc -Identity "i:0#.f|CustomMembershipProvider|username"$user.DisplayName = "John Doe"$user.Update()

Page 39: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quand les revendications se comportent mal…

Problèmes d'expiration de session avec les revendications SAML

Les utilisateurs peuvent revenir sur la page des heures plus tard sans avoir à se connecter nouveauPar défaut, SharePoint crée un cookie FedAuth (écrit sur le disque) et non un cookie de Session

$sts = Get-SPSecurityTokenServiceConfig$sts.UseSessionCookies = $true$sts.Update()

Jeu/mise à jour de la propriété TokenLifetime(minutes)

Set-ADFSRelyingPartyTrust -TargetName "SPS 2010 ADFS" -TokenLifetime 5

Page 40: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quand les revendications se comportent mal…

Redirection continue à la page de connexionCela peut se produire lorsque le TokenLifetime est inférieure à la valeur du parametre LogonTokenCacheExpirationWindowLa valeur par défaut de LogonTokenCacheExpirationWindow dans le STS SharePoint 2010 is est de 10 minutes

$sts = Get-SPSecurityTokenServiceConfig$sts.LogonTokenCacheExpirationWindow =(New-TimeSpan -minutes 4)$sts.Update()

Page 41: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Quand les revendications se comportent mal…

Vous allez à la page de connexion, vous entrez des informations d'identification valides, vous appuyez sur le bouton «connexion», pour être… finalement redirigé vers la page de connexion

Vérifiez les journaux ULS !Peut être une expiration du jetonPout être quelque bien autre chose…

Page 42: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Recommendations

Page 43: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Recommendations

Restez avec le Mode d’authentification classique si vous déployez SharePoint dans un environnement Active Directory « simple »

Surtout si des contrôles de sécurité stricts sont en place et qu’ils sont hors de votre contrôleSurtout si vous migrez uniquement de l'authentification Windows depuis MOSSEt aussi car une fois en mode « revendications »… Vous ne pourrez pas revenir en arrière !

Page 44: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Recommendations

Si vous devez utiliser les revendications pour votre Extranet, essayez de réduire au minimum le nombre d'en-têtes de zones/hôte utilisé

La zone par Défaut devrait en être mieux sécurisée

Avoir une bonne « boîte à outils de dépannage »Lecteur de journal ULSFiddlerClaims Viewer web part

Page 45: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Références et Crédits (suite)

Claims Viewer web parthttp://blogs.pointbridge.com/Blogs/nielsen_travis/Pages/Post.aspx?_ID=32

Fiddlerhttp://www.fiddler2.com/fiddler2/

SharePoint ULS Log Viewershttp://sharepointlogviewer.codeplex.com/http://ulsviewer.codeplex.com/

Transparent Login with Mixed Authenticationhttp://www.orbitone.com/en/blog/archive/2010/06/23/sharepoint-2010-mixed-authentication-automatic-login.aspx

Page 46: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

46

Questions

Page 47: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

Merci pour votre attention.Bonne fin de journée.

Page 48: 14.4   tout ce que vous voulez savoir sur l'authentification par revendications

48

Annexes