presentation 18 06 2007

39
7 février 2022 1 Installation d’un fournisseur d’identités Shibboleth CRU / UNR Paris 18 juin 2007, Paris 5 Olivier Salaün, Mehdi Hached, Florent Guilleux

Upload: walibi

Post on 21-Jun-2015

664 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Presentation 18 06 2007

13 avril 2023 1

Installation d’un fournisseur d’identités Shibboleth

CRU / UNR Paris18 juin 2007, Paris 5

Olivier Salaün, Mehdi Hached, Florent Guilleux

Page 2: Presentation 18 06 2007

13 avril 2023 2

Programme

• 9h30 : accueil et introduction à Shibboleth

• 10h00 : début des travaux pratiques

• 12h30 : repas

• 14h00 : reprise des travaux pratiques

• 17h00 : conclusion

Page 3: Presentation 18 06 2007

13 avril 2023 3

Etapes de la formation

1. Installer et configurer un fournisseur d’identités Shibboleth (Identity Provider – IdP)

2. Le tester dans la fédération de test du CRU

3. Connecter le fournisseur d’identités avec un serveur CAS

4. Tester la diffusion d’attributs

Page 4: Presentation 18 06 2007

13 avril 2023 4

Organisation des travaux pratiques

• En binômes

• Un document détaillant les instructions

• N’hésitez pas à nous demander des précisions ou plus d’explications !

• Au cours de la journée quelques diapos de présentation pour l’ensemble des participants

Page 5: Presentation 18 06 2007

13 avril 2023 5

Introduction à Shibboleth

Page 6: Presentation 18 06 2007

13 avril 2023 6

Université A

Copyright SWITCHaai

Avant c’était la zone…• Certaines ressources pas

protégées du tout

• Contrôle d’accès par adresses IP souvent utilisé

• Problèmes de gestion des utilisateurs au niveau de la ressource

• Multiplication des procédures de login

• Multiplication des comptes donc des mots de passe

• Difficultés de mise en place de ressources inter-établissements

Sympa

Moodle

Université C

Moodle

Thèses

Bibliothèque B

Fond docu.

Périodiques

Contrôle d’accès

RessourceGestion utilisateurs

/ Authentification

Page 7: Presentation 18 06 2007

13 avril 2023 7

Université A

Copyright SWITCHaai

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

RessourceGestion utilisateurs

/ Authentification

Page 8: Presentation 18 06 2007

13 avril 2023 8

Université A

Copyright SWITCHaai

Avec le SSO, c’était un peu mieux• au niveau

local…

• …mais pareil pour le reste !

Sympa

Moodle

Université C

Moodle

Thèses

Bibliothèque B

Fond docu.

Périodiques

Contrôle d’accès

RessourceGestion utilisateurs

/ Authentification

Page 9: Presentation 18 06 2007

13 avril 2023 9

Université A

Copyright SWITCHaai

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

RessourceGestion utilisateurs

/ Authentification

Page 10: Presentation 18 06 2007

13 avril 2023 10

Université A

Copyright SWITCHaai

Heureusement, la fédération est arrivée ! • Pas de gestion de

mots de passe des utilisateurs au niveau de la ressource

• L’utilisateur s’authentifie une seule fois, dans son établissement

• L’utilisateur a accès à de nouvelles ressources

• Les ressources ont une plus grande audience

Sympa

Moodle

Université C

Moodle

Thèses

Bibliothèque B

Fond docu.

Périodiques

Contrôle d’accès

RessourceGestion utilisateurs

/ Authentification

Page 11: Presentation 18 06 2007

13 avril 2023 11

Navigateur

Fournisseurd’identités

(IdP)Fournisseurde services

(SP)

Fonctionnement de Shibboleth : première requête vers un fournisseur de services (SP)

Page 12: Presentation 18 06 2007

13 avril 2023 12

Navigateur

Fournisseurd’identités

(IdP)Fournisseurde services

(SP)

userId

password

nameIdnameId

nameId

attributes

Fonctionnement de Shibboleth : première requête vers un fournisseur de services (SP)

Page 13: Presentation 18 06 2007

13 avril 2023 13

Navigateur

Fournisseurd’identités

(IdP)Fournisseurde services

(SP)

1

2

3

4

userId

password

Fonctionnement de Shibboleth : point de vue de l’utilisateur

Page 14: Presentation 18 06 2007

13 avril 2023 14

Navigateur

Fournisseurd’identités

(IdP)Fournisseurde services

(SP)

Fonctionnement de Shibboleth : requêtes suivantes vers le même fournisseur de services (SP)

Page 15: Presentation 18 06 2007

13 avril 2023 15

Fournisseurde service

Consommateurd’assertions

Demandeurd’attributs

Contrôleurd’accès

Ressource

Navigateur

Fournisseurd’identités

(IdP)

attributes

nameId

Architecture logique du SP

userId

password

nameIdnameId

attributes

Page 16: Presentation 18 06 2007

13 avril 2023 16

Fournisseurd’identités

Service d’authentification

Autoritéd’authentification

Autorité d’attributs

Référentielutilisateurs

Based’authentification

nameId

attributes

userId

Consommateurd’assertions

Demandeurd’attributs

Contrôleurd’accès

Ressource

Navigateur

attributes

nameId

nameIdnameId

Architecture logique de l’IdP

userId

password

userId

attributes

Page 17: Presentation 18 06 2007

13 avril 2023 17

Installation des briques Shibboleth

• Application J2EE – Nécessite Tomcat

• Module d’authentification – Pour Apache

• Filtre ISAPI– Pour IIS

• Version Java– Actuellement en version

bêta

Navigateur

Fournisseurde service

Fournisseurd’identités

Page 18: Presentation 18 06 2007

13 avril 2023 18

Intégration dans le SId’un fournisseur d’identités

Navigateur

Service d’authentification

Autoritéd’authentification

Autorité d’attributs

Référentielutilisateurs

ServeurSSO

Fournisseurde service

userId

ticket

attributes

userId

nameId

nameId

Page 19: Presentation 18 06 2007

13 avril 2023 19

Connexion avec le système d’authentification

Navigateur

Service d’authentification

Autoritéd’authentification

Autorité d’attributs

Référentielutilisateurs

ServeurSSO

Fournisseurde service

userId

ticket

attributes

userId

nameId

nameId

• Intégration– Filtre J2EE – Module Apache

• Couplage faible– Champ d’entête

HTTP

Page 20: Presentation 18 06 2007

13 avril 2023 20

Diffusion d’attributs

Page 21: Presentation 18 06 2007

13 avril 2023 21

✔ Comment l'IdP accède-t-il aux attributs et les transfère aux SP ?

✔ À quels types de référentiel peut on brancher l'IdP ?

✔ Quels sont les types d'attributs que l'on peut définir ?

✔ Comment définir les règles qui déterminent quelles attributs fournir aux SP ? Quelle politique de fourniture d'attributs établir ?

Page 22: Presentation 18 06 2007

13 avril 2023 22

Connexion avec le référentiel utilisateurs

Navigateur

Service d’authentification

Autoritéd’authentification

Autorité d’attributs

Référentielutilisateurs

ServeurSSO

Fournisseurde service

userId

ticket

attributes

userId

nameId

nameId

• Des sources multiples– Bases de

données– Annuaires LDAP– Autres sources

Page 23: Presentation 18 06 2007

13 avril 2023 23

Contrôle de la diffusion des attributs utilisateur

Navigateur

Service d’authentification

Autoritéd’authentification

Autorité d’attributs

Référentielutilisateurs

ServeurSSO

Fournisseurde service

userId

ticket

attributes

userId

nameId

ARP

nameId

• Attribute Release Policy

• Filtrage des attributs par– Fournisseur de

services– Valeur de

l’attribut

Page 24: Presentation 18 06 2007

13 avril 2023 24

Exemple d’attributs diffusés

Navigateur

Service d’authentification

Autoritéd’authentification

Autorité d’attributs

Référentielutilisateurs

ServeurSSO

Fournisseurde service C

userId

ticket

attributes

userId

nameId

ARP

nameId

• supannOrganisme• eduPersonAffiliation• edupersonPrincipalName• supannRole• mail

Fournisseurde service B

Fournisseurde service A

Page 25: Presentation 18 06 2007

13 avril 2023 25

Comment est ce que l'IdP accède aux attributs et les transfère aux SP ?

•Les administrateurs de l'IdP définissent les attributs que l'on accepte de relayer aux SP ;•L'IdP Shibboleth s'appuie sur des référentiels utilisateurs externes desquels il déduit les attributs à fournir ;•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;•Les attributs et les data connectors sont définis dans le fichier "reslover.xml" ;

Page 26: Presentation 18 06 2007

13 avril 2023 26

resolver.xml<AttributeResolver xmlns: ... >

<SimpleAttributeDefinitionid="urn:mace:dir:attribute-def:givenName"><DataConnectorDependency requires="data_base" />

</SimpleAttributeDefinition>

<SimpleAttributeDefinition id="urn:mace:cru.fr:attribute-def:supannOrganisme"><DataConnectorDependency requires="supann-test"/>

</SimpleAttributeDefinition>...

<JDBCDataConnector id="data_base" minResultSet="1" maxResultSet="1" propagateErrors="true"dbURL="jdbc:mysql://database.univ-test.fr/test-shib?user=shibboleth"dbDriver="com.mysql.jdbc.Driver" maxActive="10" maxIdle="5">

<Query>SELECT name AS givenName FROM shibboleth WHERE name=?</Query></JDBCDataConnector>

<JNDIDirectoryDataConnector id="supann-test"> <Search filter="uid=%PRINCIPAL%">

<Controls searchScope="SUBTREE_SCOPE" returningObjects="false" /> </Search>

<Property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory" /> <Property name="java.naming.provider.url" value="ldap://ldap.cru.fr/ou=people,dc=univ-

test,dc=fr"/></JNDIDirectoryDataConnector>

</AttributeResolver>

Page 27: Presentation 18 06 2007

13 avril 2023 27

Les différents types d'attributs possibles

•simple attribute definition ;•composite attribute definition ;•regular expression attribute definition ;•scriptlet attribute definition ;•SAML2 persistent ID attribute definition ;

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="urn:mace:dir:attribute-def:givenName">

Page 28: Presentation 18 06 2007

13 avril 2023 28

Comment définir les règles qui déterminent quelles attributs fournir aux SP ?

• La politique de fourniture d'attributs se définie dans le fichier arp.site.xml ;

• Un IdP peut accepter de délivrer ou pas des attributs selon les SP :

<Rule><Description>release to anyone</Description>

<Target><AnyTarget/>

</Target>

<Attribute name="urn:mace:dir:attribute-def:eduPersonAffiliation"><AnyValue release="permit"/>

</Attribute></Rule>

Page 29: Presentation 18 06 2007

13 avril 2023 29

Comment définir les règles qui déterminent quelles attributs fournir aux SP ?

Transfert d'un attribut à tout SP:

<Attribute name="urn:mace:dir:attribute-def:eduPersonPrincipalName"><AnyValue release="Permit">

</Attribute>

Transfert d'un attribut interdit pour un pour une valeur donnée :

<Attribute name="urn:mace:dir:attribute-def:eduPersonScopedAffiliation"><Value release="deny">[email protected]</Value>

</Attribute>

Page 30: Presentation 18 06 2007

13 avril 2023 30

Quelle politique de fourniture d'attributs établir ?

• Les IdP sont libres de leur politique de fourniture d'attributs, cette politique est définie dans le fichier arp.site.xml ;

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

• 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

• Page ARP Internet2 : https://spaces.internet2.edu/display/SHIB/IdPARPConfig

Page 31: Presentation 18 06 2007

13 avril 2023 31

Conclusion

Page 32: Presentation 18 06 2007

13 avril 2023 32

Mise en production d'un fournisseur d'identités

Installation de Shibboleth Configuration du resolver d'attributs Paramétrage de l'ARP pour chaque

fournisseur de services Définition d'un shibmaster

Enregistrement dans la fédération du CRU Convention puis enregistrement web

Page 33: Presentation 18 06 2007

13 avril 2023 33

Obligations de la convention

• Utiliser Shibboleth• 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

• Documenter le processus d'alimentation des référentiels

• Journalisation des connexions• Assurer une « bonne » disponibilité et sécurité du

service d'authentification et des référentiels

Page 34: Presentation 18 06 2007

13 avril 2023 34

La fédération du CRU est un cadre technique et organisationnel

• Aspects non couverts : administratifs, financiers, fonctionnels, etc.

• 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

• Chaque fournisseur est libre de travailler avec les fournisseurs de son choix

Page 35: Presentation 18 06 2007

13 avril 2023 35

Les membres de la fédération du CRU

• 27 fournisseurs d'identités (établissements d’enseignement supérieur sous tutelle du ministère en charge de l’enseignement supérieur)– Universités, IUFM

• 15 fournisseurs de services (tout type d’institution ou d’entreprise)– Ressources documentaires (ABES, Science Direct, EBSCO)– Ressources UNR (pédagogiques, wi-fi)

• Le CRU : pilotage, administrativia (inscriptions), support aux établissement, information/formation

Page 36: Presentation 18 06 2007

13 avril 2023 36

A venir...

• IdP par défaut (opéré par le CRU)

• Nouveaux services– Editeurs : Ovid, JSTOR, Cairn– Les UNT (planifié pour UNJF)– Les services du CRU (universalistes,

sourcesup,...)– Groupe logiciel : serveur d'antivirus, intranet– Projet avec les rectorats– Microsoft (MSDN-AA)

Page 37: Presentation 18 06 2007

13 avril 2023 37

Évolutions de la fédération du CRU

• Passage à Shibboleth 2.0• Extension des attributs reconnus dans la

fédération– Étapes, disciplines, entitlement, ...

• Distribution des ARPs associées à chaque fournisseur de services

• Elargissement du périmètre de la fédération du CRU ?

Page 38: Presentation 18 06 2007

13 avril 2023 38

Shibboleth 2.0

• Actuellement en version beta• Apports :

– Utilise SAML 2.0– Attribute push (donc cryptage des données)– Fonctionnement multi-tiers– Single logout– Resolver d'attributs au niveau du SP– Changement d'API entre d'IdP et le SSO (IdP

en frontal) ; permet les niveaux d'authentification

Page 39: Presentation 18 06 2007

13 avril 2023 39

Les applications compatibles

• Tous les pays contribuent– http://wiki.internet2.edu/confluence/display/s

eas

• Contribution du CRU– Sympa, dokuwiki, mod_authSympa, gforge

• Comment « shibboliser » ?– Article du CRU pour JRES, novembre 2007– Formation à la rentrée 2007 ?