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

Preview:

DESCRIPTION

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

Citation preview

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

Qui suis-je?

Nicolas GeorgeaultMVP3y SharePoint ServerArchitecte SP chez PublicConsulting Group Canada

Consultant & Speaker ngeorgeault@club-sharepoint.frhttp://ngeorgeault.club-sharepoint.frhttp://www.facebook.com/nicolas.georgeaulthttp://twitter.com/ngeorgeaulthttp://www.slideshare.com/ngeorgeault

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

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

Références

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

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

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!

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 !

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.”

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é)

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?

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)

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

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

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.

Demo

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();

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 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

Authentification basee sur les formulaires

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

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

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!

Ajouter le support Facebook

Téléverser le Certificat de signature des jetons

Ajouter le support Facebook

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

Enter Application ID, Application secret, and Application permissions

Ajouter le support Facebook

Configurer les paramètres de l’application Cliente

Ajouter le support Facebook

Configurer les groupes de regles

Azure ACSTrusted Identity Providers

Adding Facebook Support

In case the Internet didn’t work:

Adding Facebook Support

In case the Internet didn’t work:

Adding Facebook Support

In case the Internet didn’t work:

Quelques “Pieges”

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

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

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

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|test@contoso.com

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

Fournisseurs d’identite: Windows, Forms, Trusted

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()

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

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()

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…

Recommendations

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 !

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

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

46

Questions

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

48

Annexes

Recommended