Shibboleth intégration avec Sharepoint, .Net
Download
Report
Transcript Shibboleth intégration avec Sharepoint, .Net
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