Installation d’un fournisseur d’identités Shibboleth CRU / UNR Paris 18 juin 2007, Paris 5 Olivier Salaün, Mehdi Hached, F...
Programme <ul><li>9h30 : accueil et introduction à Shibboleth </li></ul><ul><li>10h00 : début des travaux pratiques </li><...
Etapes de la formation <ul><li>Installer et configurer un fournisseur d’identités Shibboleth ( Identity Provider – IdP ) <...
Organisation des travaux pratiques <ul><li>En binômes </li></ul><ul><li>Un document détaillant les instructions </li></ul>...
Introduction à Shibboleth
Avant c’était la zone… <ul><li>Certaines ressources pas protégées du tout </li></ul><ul><li>Contrôle d’accès par adresses ...
Avec le SSO, c’était un peu mieux Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Contrôle d...
Avec le SSO, c’était un peu mieux <ul><li>au niveau local… </li></ul><ul><li>… mais pareil pour le reste ! </li></ul>Sympa...
Heureusement, la fédération est arrivée ! Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Co...
Heureusement, la fédération est arrivée ! <ul><li>Pas de gestion de mots de passe des utilisateurs au niveau de la ressour...
Fonctionnement de Shibboleth : première requête vers un fournisseur de services (SP) Navigateur Fournisseur d’identités (I...
Fonctionnement de Shibboleth : première requête vers un fournisseur de services (SP) Navigateur Fournisseur d’identités (I...
Fonctionnement de Shibboleth : point de vue de l’utilisateur Navigateur Fournisseur d’identités (IdP) Fournisseur de servi...
Fonctionnement de Shibboleth : requêtes suivantes vers le même fournisseur de services (SP) Navigateur Fournisseur d’ident...
Architecture logique du SP Fournisseur de service Navigateur Fournisseur d’identités (IdP) attributes nameId userId passwo...
Architecture logique de l’IdP Fournisseur d’identités Service  d’authentification  Autorité d’authentification Autorité  d...
Installation des briques Shibboleth <ul><li>Application J2EE  </li></ul><ul><ul><li>Nécessite Tomcat  </li></ul></ul><ul><...
Intégration dans le SI d’un fournisseur d’identités Navigateur Service  d’authentification  Autorité d’authentification Au...
Connexion avec le  système d’authentification <ul><li>Intégration </li></ul><ul><ul><li>Filtre J2EE  </li></ul></ul><ul><u...
Diffusion d’attributs
<ul><li>Comment l'IdP accède-t-il aux attributs et les transfère aux SP ? </li></ul><ul><li>À  quels  types de référentiel...
Connexion avec le référentiel utilisateurs <ul><li>Des sources multiples </li></ul><ul><ul><li>Bases de données </li></ul>...
Contrôle de la diffusion des attributs utilisateur <ul><li>Attribute Release Policy </li></ul><ul><li>Filtrage des attribu...
Exemple d’attributs diffusés <ul><li>supannOrganisme </li></ul><ul><li>eduPersonAffiliation </li></ul><ul><li>edupersonPri...
<ul><ul><li>Comment est ce que l'IdP accède aux attributs et les transfère aux SP ? </li></ul></ul><ul><li>Les administrat...
resolver.xml <AttributeResolver xmlns: ... > < SimpleAttributeDefinition id=&quot;urn:mace:dir:attribute-def:givenName&quo...
Les différents types d'attributs possibles <ul><li>simple attribute definition ; </li></ul><ul><li>composite attribute def...
<ul><li>La politique de fourniture d'attributs se définie dans le fichier arp.site.xml ; </li></ul><ul><li>Un IdP peut acc...
Comment définir les règles qui déterminent quelles attributs fournir aux SP ? Transfert d'un attribut à tout SP: <Attribut...
Quelle politique de fourniture d'attributs établir ? <ul><li>Les IdP sont libres de leur politique de fourniture d'attribu...
Conclusion
Mise en production d'un fournisseur d'identités <ul><li>Installation de Shibboleth </li></ul><ul><li>Configuration du reso...
Obligations de la convention <ul><li>Utiliser Shibboleth </li></ul><ul><li>Utiliser le nommage, la sémantique et les nomen...
La fédération du CRU est un cadre technique et organisationnel  <ul><li>Aspects non couverts : administratifs, financiers,...
Les membres de la fédération du CRU <ul><li>27 fournisseurs d'identités ( établissements d’enseignement supérieur sous tut...
A venir... <ul><li>IdP par défaut (opéré par le CRU) </li></ul><ul><li>Nouveaux services </li></ul><ul><ul><li>Editeurs : ...
Évolutions de la fédération du CRU <ul><li>Passage à Shibboleth 2.0 </li></ul><ul><li>Extension des attributs reconnus dan...
Shibboleth 2.0 <ul><li>Actuellement en version beta </li></ul><ul><li>Apports : </li></ul><ul><ul><li>Utilise SAML 2.0 </l...
Les applications compatibles <ul><li>Tous les pays contribuent </li></ul><ul><ul><li>http://wiki.internet2.edu/confluence/...
Prochain SlideShare
Chargement dans…5
×

Presentation 18 06 2007

870 vues

Publié le

Publié dans : Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
870
Sur SlideShare
0
Issues des intégrations
0
Intégrations
32
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Presentation 18 06 2007

    1. 1. Installation d’un fournisseur d’identités Shibboleth CRU / UNR Paris 18 juin 2007, Paris 5 Olivier Salaün, Mehdi Hached, Florent Guilleux
    2. 2. Programme <ul><li>9h30 : accueil et introduction à Shibboleth </li></ul><ul><li>10h00 : début des travaux pratiques </li></ul><ul><li>12h30 : repas </li></ul><ul><li>14h00 : reprise des travaux pratiques </li></ul><ul><li>17h00 : conclusion </li></ul>
    3. 3. Etapes de la formation <ul><li>Installer et configurer un fournisseur d’identités Shibboleth ( Identity Provider – IdP ) </li></ul><ul><li>Le tester dans la fédération de test du CRU </li></ul><ul><li>Connecter le fournisseur d’identités avec un serveur CAS </li></ul><ul><li>Tester la diffusion d’attributs </li></ul>
    4. 4. Organisation des travaux pratiques <ul><li>En binômes </li></ul><ul><li>Un document détaillant les instructions </li></ul><ul><li>N’hésitez pas à nous demander des précisions ou plus d’explications ! </li></ul><ul><li>Au cours de la journée quelques diapos de présentation pour l’ensemble des participants </li></ul>
    5. 5. Introduction à Shibboleth
    6. 6. Avant c’était la zone… <ul><li>Certaines ressources pas protégées du tout </li></ul><ul><li>Contrôle d’accès par adresses IP souvent utilisé </li></ul><ul><li>Problèmes de gestion des utilisateurs au niveau de la ressource </li></ul><ul><li>Multiplication des procédures de login </li></ul><ul><li>Multiplication des comptes donc des mots de passe </li></ul><ul><li>Difficultés de mise en place de ressources inter-établissements </li></ul>Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Contrôle d’accès Ressource Gestion utilisateurs / Authentification Université A Copyright SWITCHaai
    7. 7. Avec le SSO, c’était un peu mieux Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Contrôle d’accès Ressource Gestion utilisateurs / Authentification Université A Copyright SWITCHaai
    8. 8. Avec le SSO, c’était un peu mieux <ul><li>au niveau local… </li></ul><ul><li>… mais pareil pour le reste ! </li></ul>Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Contrôle d’accès Ressource Gestion utilisateurs / Authentification Université A Copyright SWITCHaai SSO SSO
    9. 9. Heureusement, la fédération est arrivée ! Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Contrôle d’accès Ressource Gestion utilisateurs / Authentification Université A Copyright SWITCHaai SSO SSO
    10. 10. Heureusement, la fédération est arrivée ! <ul><li>Pas de gestion de mots de passe des utilisateurs au niveau de la ressource </li></ul><ul><li>L’utilisateur s’authentifie une seule fois, dans son établissement </li></ul><ul><li>L’utilisateur a accès à de nouvelles ressources </li></ul><ul><li>Les ressources ont une plus grande audience </li></ul>Sympa Moodle Université C Moodle Thèses Bibliothèque B Fond docu. Périodiques Contrôle d’accès Ressource Gestion utilisateurs / Authentification Université A Copyright SWITCHaai SSO SSO
    11. 11. Fonctionnement de Shibboleth : première requête vers un fournisseur de services (SP) Navigateur Fournisseur d’identités (IdP) Fournisseur de services (SP)
    12. 12. Fonctionnement de Shibboleth : première requête vers un fournisseur de services (SP) Navigateur Fournisseur d’identités (IdP) Fournisseur de services (SP) userId password nameId nameId nameId attributes
    13. 13. Fonctionnement de Shibboleth : point de vue de l’utilisateur Navigateur Fournisseur d’identités (IdP) Fournisseur de services (SP) userId password 1 2 3 4
    14. 14. Fonctionnement de Shibboleth : requêtes suivantes vers le même fournisseur de services (SP) Navigateur Fournisseur d’identités (IdP) Fournisseur de services (SP)
    15. 15. Architecture logique du SP Fournisseur de service Navigateur Fournisseur d’identités (IdP) attributes nameId userId password nameId nameId attributes Consommateur d’assertions Demandeur d’attributs Contrôleur d’accès Ressource
    16. 16. Architecture logique de l’IdP Fournisseur d’identités Service d’authentification Autorité d’authentification Autorité d’attributs nameId attributes userId Consommateur d’assertions Demandeur d’attributs Contrôleur d’accès Ressource Navigateur attributes nameId nameId nameId userId password userId attributes Référentiel utilisateurs Base d’authentification
    17. 17. Installation des briques Shibboleth <ul><li>Application J2EE </li></ul><ul><ul><li>Nécessite Tomcat </li></ul></ul><ul><li>Module d’authentification </li></ul><ul><ul><li>Pour Apache </li></ul></ul><ul><li>Filtre ISAPI </li></ul><ul><ul><li>Pour IIS </li></ul></ul><ul><li>Version Java </li></ul><ul><ul><li>Actuellement en version bêta </li></ul></ul>Navigateur Fournisseur de service Fournisseur d’identités
    18. 18. Intégration dans le SI d’un fournisseur d’identités Navigateur Service d’authentification Autorité d’authentification Autorité d’attributs Référentiel utilisateurs Serveur SSO Fournisseur de service userId ticket attributes userId nameId nameId
    19. 19. Connexion avec le système d’authentification <ul><li>Intégration </li></ul><ul><ul><li>Filtre J2EE </li></ul></ul><ul><ul><li>Module Apache </li></ul></ul><ul><li>Couplage faible </li></ul><ul><ul><li>Champ d’entête HTTP </li></ul></ul>Navigateur Service d’authentification Autorité d’authentification Autorité d’attributs Référentiel utilisateurs Serveur SSO Fournisseur de service userId ticket attributes userId nameId nameId
    20. 20. Diffusion d’attributs
    21. 21. <ul><li>Comment l'IdP accède-t-il aux attributs et les transfère aux SP ? </li></ul><ul><li>À quels types de référentiel peut on brancher l'IdP ? </li></ul><ul><li>Quels sont les types d'attributs que l'on peut définir ? </li></ul><ul><li>Comment définir les règles qui déterminent quelles attributs fournir aux SP ? Quelle politique de fourniture d'attributs établir ? </li></ul>
    22. 22. Connexion avec le référentiel utilisateurs <ul><li>Des sources multiples </li></ul><ul><ul><li>Bases de données </li></ul></ul><ul><ul><li>Annuaires LDAP </li></ul></ul><ul><ul><li>Autres sources </li></ul></ul>Navigateur Service d’authentification Autorité d’authentification Autorité d’attributs Référentiel utilisateurs Serveur SSO Fournisseur de service userId ticket attributes userId nameId nameId
    23. 23. Contrôle de la diffusion des attributs utilisateur <ul><li>Attribute Release Policy </li></ul><ul><li>Filtrage des attributs par </li></ul><ul><ul><li>Fournisseur de services </li></ul></ul><ul><ul><li>Valeur de l’attribut </li></ul></ul>Navigateur Service d’authentification Autorité d’authentification Autorité d’attributs Référentiel utilisateurs Serveur SSO Fournisseur de service userId ticket attributes userId nameId ARP nameId
    24. 24. Exemple d’attributs diffusés <ul><li>supannOrganisme </li></ul><ul><li>eduPersonAffiliation </li></ul><ul><li>edupersonPrincipalName </li></ul><ul><li>supannRole </li></ul><ul><li>mail </li></ul>Navigateur Service d’authentification Autorité d’authentification Autorité d’attributs Référentiel utilisateurs Serveur SSO Fournisseur de service C userId ticket attributes userId nameId ARP nameId Fournisseur de service B Fournisseur de service A
    25. 25. <ul><ul><li>Comment est ce que l'IdP accède aux attributs et les transfère aux SP ? </li></ul></ul><ul><li>Les administrateurs de l'IdP définissent les attributs que l'on accepte de relayer aux SP ; </li></ul><ul><li>L'IdP Shibboleth s'appuie sur des référentiels utilisateurs externes desquels il déduit les attributs à fournir ; </li></ul><ul><li>Ces attributs sont extraits de la base de données grâce à ce que l'on appelle des data connectors il en existe 3 types : JNDI, JDBC et Static; </li></ul><ul><li>Les attributs et les data connectors sont définis dans le fichier &quot;reslover.xml&quot; ; </li></ul>
    26. 26. resolver.xml <AttributeResolver xmlns: ... > < SimpleAttributeDefinition id=&quot;urn:mace:dir:attribute-def:givenName&quot;> <DataConnectorDependency requires=&quot; data_base &quot; /> </SimpleAttributeDefinition> < SimpleAttributeDefinition id=&quot;urn:mace:cru.fr:attribute-def:supannOrganisme&quot;> <DataConnectorDependency requires=&quot; supann-test &quot;/> </SimpleAttributeDefinition> ... < JDBCDataConnector id=&quot; data_base &quot; minResultSet=&quot;1&quot; maxResultSet=&quot;1&quot; propagateErrors=&quot;true&quot; dbURL=&quot;jdbc:mysql://database.univ-test.fr/test-shib?user=shibboleth&quot; dbDriver=&quot;com.mysql.jdbc.Driver&quot; maxActive=&quot;10&quot; maxIdle=&quot;5&quot;> <Query>SELECT name AS givenName FROM shibboleth WHERE name=?</Query> </JDBCDataConnector> < JNDIDirectoryDataConnector id=&quot; supann-test &quot;> <Search filter=&quot;uid=%PRINCIPAL%&quot;> <Controls searchScope=&quot;SUBTREE_SCOPE&quot; returningObjects=&quot;false&quot; /> </Search> <Property name=&quot;java.naming.factory.initial&quot; value=&quot;com.sun.jndi.ldap.LdapCtxFactory&quot; /> <Property name=&quot;java.naming.provider.url&quot; value=&quot;ldap://ldap.cru.fr/ou=people,dc=univ-test,dc=fr&quot;/> </JNDIDirectoryDataConnector> </AttributeResolver>
    27. 27. Les différents types d'attributs possibles <ul><li>simple attribute definition ; </li></ul><ul><li>composite attribute definition ; </li></ul><ul><li>regular expression attribute definition ; </li></ul><ul><li>scriptlet attribute definition ; </li></ul><ul><li>SAML2 persistent ID attribute definition ; </li></ul>Comment se passe le transfert des attributs vers le SP ? La requête du SP contient simplement les noms des attributs demandés en se basant sur le champs id contenant obligatoirement une URN dans la balise de définition de l'attribut : <SimpleAttributeDefinition id =&quot; urn:mace:dir:attribute-def:givenName &quot;>
    28. 28. <ul><li>La politique de fourniture d'attributs se définie dans le fichier arp.site.xml ; </li></ul><ul><li>Un IdP peut accepter de délivrer ou pas des attributs selon les SP : </li></ul><ul><ul><li><Rule> </li></ul></ul><ul><ul><ul><li><Description>release to anyone</Description> </li></ul></ul></ul><ul><ul><ul><ul><li><Target> </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>< AnyTarget /> </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li></Target> </li></ul></ul></ul></ul><ul><ul><ul><li><Attribute name=&quot;urn:mace:dir:attribute-def:eduPersonAffiliation&quot;> </li></ul></ul></ul><ul><ul><ul><ul><li>< AnyValue release=&quot; permit &quot; /> </li></ul></ul></ul></ul><ul><ul><ul><li></Attribute> </li></ul></ul></ul><ul><ul><li></Rule> </li></ul></ul>Comment définir les règles qui déterminent quelles attributs fournir aux SP ?
    29. 29. Comment définir les règles qui déterminent quelles attributs fournir aux SP ? Transfert d'un attribut à tout SP: <Attribute name=&quot; urn:mace:dir:attribute-def:eduPersonPrincipalName &quot;> < AnyValue release=&quot; Permit &quot;> </Attribute> Transfert d'un attribut interdit pour un pour une valeur donnée : <Attribute name=&quot; urn:mace:dir:attribute-def:eduPersonScopedAffiliation &quot;> < Value release=&quot; deny &quot;>member@example.edu</Value> </Attribute>
    30. 30. Quelle politique de fourniture d'attributs établir ? <ul><li>Les IdP sont libres de leur politique de fourniture d'attributs, cette politique est définie dans le fichier arp.site.xml ; </li></ul><ul><li>Il est cependant préférable de ne pas multiplier les cas exceptionnels pour rendre cette politique plus facile à administrer et à faire évoluer si nécessaire ; </li></ul><ul><li>Les utilisateurs peuvent eux-mêmes décider de délivrer ou pas certains de leur attributs, des applications graphiques de gestion des attributs par les utilisateurs existe : SHARPE ou ArpViewer </li></ul><ul><li>Page ARP Internet2 : https://spaces.internet2.edu/display/SHIB/IdPARPConfig </li></ul>
    31. 31. Conclusion
    32. 32. Mise en production d'un fournisseur d'identités <ul><li>Installation de Shibboleth </li></ul><ul><li>Configuration du resolver d'attributs </li></ul><ul><li>Paramétrage de l'ARP pour chaque fournisseur de services </li></ul><ul><li>Définition d'un shibmaster </li></ul><ul><li>Enregistrement dans la fédération du CRU </li></ul><ul><ul><li>Convention puis enregistrement web </li></ul></ul>
    33. 33. Obligations de la convention <ul><li>Utiliser Shibboleth </li></ul><ul><li>Utiliser le nommage, la sémantique et les nomenclatures des attributs de la fédération (basé sur SUPANN) http://federation.cru.fr/cru/frattributs.html </li></ul><ul><li>Documenter le processus d'alimentation des référentiels </li></ul><ul><li>Journalisation des connexions </li></ul><ul><li>Assurer une « bonne » disponibilité et sécurité du service d'authentification et des référentiels </li></ul>
    34. 34. La fédération du CRU est un cadre technique et organisationnel <ul><li>Aspects non couverts : administratifs, financiers, fonctionnels, etc. </li></ul><ul><li>La fédération du CRU n’est pas signataire d’un contrat qui peut lier un fournisseur de services à des fournisseurs d’identités </li></ul><ul><li>Chaque fournisseur est libre de travailler avec les fournisseurs de son choix </li></ul>
    35. 35. Les membres de la fédération du CRU <ul><li>27 fournisseurs d'identités ( établissements d’enseignement supérieur sous tutelle du ministère en charge de l’enseignement supérieur) </li></ul><ul><ul><li>Universités, IUFM </li></ul></ul><ul><li>15 fournisseurs de services (tout type d’institution ou d’entreprise) </li></ul><ul><ul><li>Ressources documentaires (ABES, Science Direct, EBSCO) </li></ul></ul><ul><ul><li>Ressources UNR (pédagogiques, wi-fi) </li></ul></ul><ul><li>Le CRU : pilotage, administrativia (inscriptions), support aux établissement, information/formation </li></ul>
    36. 36. A venir... <ul><li>IdP par défaut (opéré par le CRU) </li></ul><ul><li>Nouveaux services </li></ul><ul><ul><li>Editeurs : Ovid, JSTOR, Cairn </li></ul></ul><ul><ul><li>Les UNT (planifié pour UNJF) </li></ul></ul><ul><ul><li>Les services du CRU (universalistes, sourcesup,...) </li></ul></ul><ul><ul><li>Groupe logiciel : serveur d'antivirus, intranet </li></ul></ul><ul><ul><li>Projet avec les rectorats </li></ul></ul><ul><ul><li>Microsoft (MSDN-AA) </li></ul></ul>
    37. 37. Évolutions de la fédération du CRU <ul><li>Passage à Shibboleth 2.0 </li></ul><ul><li>Extension des attributs reconnus dans la fédération </li></ul><ul><ul><li>Étapes, disciplines, entitlement, ... </li></ul></ul><ul><li>Distribution des ARPs associées à chaque fournisseur de services </li></ul><ul><li>Elargissement du périmètre de la fédération du CRU ? </li></ul>
    38. 38. Shibboleth 2.0 <ul><li>Actuellement en version beta </li></ul><ul><li>Apports : </li></ul><ul><ul><li>Utilise SAML 2.0 </li></ul></ul><ul><ul><li>Attribute push (donc cryptage des données) </li></ul></ul><ul><ul><li>Fonctionnement multi-tiers </li></ul></ul><ul><ul><li>Single logout </li></ul></ul><ul><ul><li>Resolver d'attributs au niveau du SP </li></ul></ul><ul><ul><li>Changement d'API entre d'IdP et le SSO (IdP en frontal) ; permet les niveaux d'authentification </li></ul></ul>
    39. 39. Les applications compatibles <ul><li>Tous les pays contribuent </li></ul><ul><ul><li>http://wiki.internet2.edu/confluence/display/seas </li></ul></ul><ul><li>Contribution du CRU </li></ul><ul><ul><li>Sympa, dokuwiki, mod_authSympa, gforge </li></ul></ul><ul><li>Comment « shibboliser » ? </li></ul><ul><ul><li>Article du CRU pour JRES, novembre 2007 </li></ul></ul><ul><ul><li>Formation à la rentrée 2007 ? </li></ul></ul>

    ×