Shibboleth intégration avec Sharepoint, .Net

Report
IdP Shibboleth
RP Sharepoint, OWA, .Net
Jean Marie THIA
As an application designer or developer,
imagine a world where you don't have to worry
about authentication. Imagine instead that all
requests to your application already include the
information you need to make access control
decisions and to personalize the application for
the user.
Preface of :
A guide to claims-based Identity and Access Control
(http://msdn.microsoft.com/en-us/library/ff359103(lightweight).aspx)
Journée Fédération – 24 janvier 2011

Intégration sans revendications
◦ ADFS v1x
◦ shib4Net / shib4moss

Les revendications
◦ Revendication (Claim)
◦ WIF / STS / ADFS

Interopérabilité
◦ ADFS
◦ WIF


Conclusion
Questions
Agenda
Journée Fédération – 24 janvier 2011
Intégration
sans claims
Patch nécessaire pour IdP 1.3
 Patch non préconisé par la fédération.


Ne pas utiliser
ADFS v1
Journée Fédération – 24 janvier 2011
Couche de mapping entre SP et .Net
 SP shibboleth pour IIS


Sourcesup.cru.fr/shib4net
shib4net / shib4moss
Journée Fédération – 24 janvier 2011
Non utilisé à l’UPMC
 Des questions de la part de Novell et
SWITCH
 Projet d’utilisation pour EDUGAIN

◦ Création de l’utilisateur dans MOSS
◦ Creation de l’utilisateur dans AD
Shib4net - expérience
Journée Fédération – 24 janvier 2011
Windows
Identity Foundation
aka WIF

Un ensemble d’informations
UPN
Roles
Email
GivenName
LastName
isOver21
: thia
: PM, developper, sysAdmin
: [email protected]
: Jean Marie
: Thia
: True
Web App/Service


Dans un jeton de sécurité
Signé par un émetteur

L’équivalent des attributs Shibboleth
Revendication
Journée Fédération – 24 janvier 2011


Toutes les propriétés sont transmises sous forme
de chaîne de caratctères
Le type de la valeur est défini par la proprité
ValueType
Microsoft.IdentityModel.ClaimValueTypes est une énumération de ces
valeurs (date, datetime, boolean, integer, etc.)
public class Claim {
// some members omitted for brevity
public virtual string ClaimType
{ get; }
public virtual string Value
{ get; }
public virtual string ValueType
{ get; }
public virtual IDictionnary<string, string> Properties;
public virtual string Issuer
{ get; }
public virtual string OriginalIssuer
{ get; }
public virtual string IClaimIdentity Subject { get; }
}
Revendications : modèle objet
Journée Fédération – 24 janvier 2011





A Secure Token Service for AD
Handles authentication,
Extracts, transforms claims
With rule and
policy engine
Based on WIF
ADFS
Journée Fédération – 24 janvier 2011
Interopérabilité
avec claims

Compatible SAML 2
◦ Adaptateur de protocole pour WIF

Protocole SAML 2.0
◦ IdP / SP Lite
◦ GSA 1.5
Indispensable avec Shibboleth 2
 Interopérabilité : Sun, Oracle, CA, Novell,
Ping Identity

ADFS v2
Journée Fédération – 24 janvier 2011

Sharepoint 2010
◦ Federated Collaboration with Shibboleth 2.0 and
SharePoint 2010 Technologies
◦ http://technet.microsoft.com/en-us/library/adfs2-step-by-stepguides%28WS.10%29.aspx

Outlook Web Access 2010
◦ Exposing OWA 2010 with AD FS 2.0 to other
organizations
◦ http://www.microsoft.com/france/interop/ressources/documents.aspx

In Common
◦ AD FS 2.0 Step-by-Step Guide: Federation with
Shibboleth 2 and the InCommon Federation
ADFS v2 - Guides
Journée Fédération – 24 janvier 2011

IsInRole fonctionne toujours
◦ Un mapping à déclarer dans web.config
◦ Compatibilité avec l’existant
.Net
Journée Fédération – 24 janvier 2011
IClaimsIdentity id =((IClaimsPrincipal)Thread.CurrentPrincipal).Identities[0];
// you can use a simple foreach loop to find a claim...
string usersEmail = null;
foreach (Claim c in id.Claims)
{
if (c.ClaimType == System.IdentityModel.Claims.ClaimTypes.Email)
{
UsersEmail = c.Value;
break;
}
}
// you can also use LINQ to find a claim
string usersFirstName = (from c in id.Claims
where c.ClaimType == System.IdentityModel.Claims.ClaimTypes.GivenName
select c).First().Value;
.Net : Revendication
Journée Fédération – 24 janvier 2011
Plus d’écueil technique
 solution mature

◦ WIF non SAML 2
◦ Guides d’interopérabilité

Principale difficulté
◦ Les autorisations
Conclusion
Journée Fédération – 24 janvier 2011

Patterns & Practices : A guide to claims-based to
Identity and Access Control http://msdn.microsoft.com/enus/library/ff423674.aspx

MSDN
WIF : http://msdn.microsoft.com/en-us/library/ee748484.aspx
IdM : http://msdn.microsoft.com/en-us/security/aa570351.aspx

Technet

Microsoft connect

Blogs
http://technet.microsoft.com/fr-fr/library/adfs2(v=WS.10).aspx
https://connect.microsoft.com/site642
Geneva team - http://blogs.msdn.com/card/
Dominick Baier - http://www.leastprivilege.com
Vittorio Bertocci - http://blogs.msdn.com/vbertocci/
Quelques liens
Journée Fédération – 24 janvier 2011

Cas4net
◦ http://sourcesup.cru.fr/cas4net/
◦ http module for ASP.NET
◦ IIS7 http module for CAS

Shib4net
◦ http://sourcesup.cru.fr/shib4net/
Contributions
Journée Fédération – 24 janvier 2011
Questions ?
[email protected]
Merci de votre
attention

similar documents