This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
docpublic:systemes:shibboleth:idpv2 [2010/01/03 11:25] 127.0.0.1 external edit |
docpublic:systemes:shibboleth:idpv2 [2010/05/11 20:20] (current) PROCACCIA |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | -- Main.JehanProcaccia - 20 Mar 2008 | + | ====== IdP-ShibV2 ====== |
| - | + | ===== Références | |
| - | ===== Références | + | |
| http:// | http:// | ||
| Line 8: | Line 7: | ||
| https:// | https:// | ||
| - | mail: | + | mail d' |
| < | < | ||
| Date - Thu Mar 20 07:40:01 2008 | Date - Thu Mar 20 07:40:01 2008 | ||
| Line 17: | Line 16: | ||
| </ | </ | ||
| - | ===== Pre-requis | + | ===== Pre-requis |
| + | |||
| + | Logiciels nécessaires | ||
| + | |||
| + | |||
| + | ==== Java ==== | ||
| - | ==== Java | + | un JDK , sun de préférence: |
| < | < | ||
| Line 32: | Line 36: | ||
| * </ | * </ | ||
| - | === Environement java | + | === Environement java === |
| Sous CEntos/ | Sous CEntos/ | ||
| Line 46: | Line 50: | ||
| </ | </ | ||
| - | ==== Tomcat | + | ==== Tomcat |
| + | |||
| + | un serveur d' | ||
| < | < | ||
| Line 80: | Line 86: | ||
| </ | </ | ||
| - | ===== IDP v2.0 | + | ===== IDP v2.0 ===== |
| - | ==== Download | + | ==== Download |
| < | < | ||
| Line 104: | Line 110: | ||
| </ | </ | ||
| - | ==== Preparation JVM | + | ==== Preparation JVM ==== |
| from https:// | from https:// | ||
| - | === librairie jar | + | === librairie jar === |
| < | < | ||
| Line 118: | Line 124: | ||
| </ | </ | ||
| - | === Security provider | + | === Security provider |
| < | < | ||
| Line 139: | Line 145: | ||
| </ | </ | ||
| - | ==== Preparation Tomcat | + | ==== Preparation Tomcat |
| - | === Endorse Xerces and Xalan | + | === Endorse Xerces and Xalan === |
| https:// | https:// | ||
| Line 167: | Line 173: | ||
| </ | </ | ||
| - | === Memory usage | + | === Memory usage === |
| + | |||
| < | < | ||
| [root@shibidp1 / | [root@shibidp1 / | ||
| Line 175: | Line 181: | ||
| </ | </ | ||
| - | === hostname server.xml | + | === hostname server.xml |
| remplacement du defaut *localhost* pa le hostname . | remplacement du defaut *localhost* pa le hostname . | ||
| Line 188: | Line 194: | ||
| mais probleme, car du coup les webapps déclarées dans */ | mais probleme, car du coup les webapps déclarées dans */ | ||
| - | === Connecteur | + | === Connecteur |
| < | < | ||
| Line 212: | Line 218: | ||
| </ | </ | ||
| - | === Context Deployment Fragment | + | === Context Deployment Fragment |
| Il s'agit d'un petit code xml qui indique a tomcat où se trouvre le WAR et fournis des proprietés de chargement de l' | Il s'agit d'un petit code xml qui indique a tomcat où se trouvre le WAR et fournis des proprietés de chargement de l' | ||
| Line 230: | Line 236: | ||
| </ | </ | ||
| - | ==== Connecteur AJP apache - tomcat | + | ==== Connecteur AJP apache - tomcat |
| Afin de ne pas trainer les URL vers tomcat avec les :8080 ou :8433 , on met en place le proxy-ajp d' | Afin de ne pas trainer les URL vers tomcat avec les :8080 ou :8433 , on met en place le proxy-ajp d' | ||
| Line 240: | Line 246: | ||
| </ | </ | ||
| - | ==== Installation | + | ==== Installation |
| Lancement du *install.sh* , le JAVA_HOME etant definit au préalable !. | Lancement du *install.sh* , le JAVA_HOME etant definit au préalable !. | ||
| Line 294: | Line 300: | ||
| idp.hostname=shibidp1.it-sudparis.eu</ | idp.hostname=shibidp1.it-sudparis.eu</ | ||
| - | ==== Lancement | + | ==== Lancement |
| lors du premier lancement de tomcat une fois l'IDP deployé les log tomcat indiques: | lors du premier lancement de tomcat une fois l'IDP deployé les log tomcat indiques: | ||
| Line 317: | Line 323: | ||
| - | === Log shibboleth | + | === Log shibboleth |
| Pendant la pahese d' | Pendant la pahese d' | ||
| Line 336: | Line 342: | ||
| - | ===== Parametrage de l'IDP | + | ===== Parametrage de l' |
| Les fhichiers de configuration XML se trouvent dans */ | Les fhichiers de configuration XML se trouvent dans */ | ||
| - | ==== relying-party.xml | + | ==== relying-party.xml |
| Le fichier de configuration principal (avant (1.3) s' | Le fichier de configuration principal (avant (1.3) s' | ||
| Line 367: | Line 373: | ||
| - | ==== Metadata pour Féderation Cru-Test | + | ==== Metadata pour Féderation Cru-Test |
| Téléchargez le certificat utilisé pour signer les méta-données du CRU : | Téléchargez le certificat utilisé pour signer les méta-données du CRU : | ||
| Line 429: | Line 435: | ||
| http:// | http:// | ||
| - | ==== Metada fédération Renater | + | ==== Metada fédération Renater |
| https:// | https:// | ||
| Line 484: | Line 490: | ||
| </ | </ | ||
| - | === Metadata JASIG | + | === Metadata JASIG === |
| Exemple precedent depuis la doc jasig ... pour l' | Exemple precedent depuis la doc jasig ... pour l' | ||
| Line 505: | Line 511: | ||
| - | ==== Enregistrement fédération test Renater | + | ==== Enregistrement fédération test Renater |
| https:// | https:// | ||
| https:// | https:// | ||
| - | ===== Authentification Utilisateur via CAS | + | ===== Authentification Utilisateur via CAS ===== |
| - | ==== Installation du client CAS | + | ==== Installation du client CAS ==== |
| - | === Maven | + | === Maven === |
| L' | L' | ||
| Line 557: | Line 563: | ||
| - | === Client CAS | + | === Client CAS === |
| Nous pouvons maintenant télécharger les sources du client CAS et le compiler: | Nous pouvons maintenant télécharger les sources du client CAS et le compiler: | ||
| Line 648: | Line 654: | ||
| </ | </ | ||
| - | === Filtre CAS | + | === Filtre CAS === |
| ajouter l' | ajouter l' | ||
| Line 687: | Line 693: | ||
| </ | </ | ||
| - | === erreur " | + | === erreur " |
| Il se peut qu' | Il se peut qu' | ||
| Line 701: | Line 707: | ||
| maxValidityInterval=" | maxValidityInterval=" | ||
| - | ===== Distribution d' | + | ===== Distribution d' |
| - | === Configuration de l' | + | === Configuration de l' |
| Connecteur ldap | Connecteur ldap | ||
| Line 743: | Line 749: | ||
| - | === Filtrage des attributs transmis | + | === Filtrage des attributs transmis |
| Attribut que l'on souhaites distribuer aux Services Provider shibboleth. | Attribut que l'on souhaites distribuer aux Services Provider shibboleth. | ||
| Line 797: | Line 803: | ||
| </ | </ | ||
| - | === Test de l' | + | === Test de l' |
| Le script *aacli.sh* permet de tester l' | Le script *aacli.sh* permet de tester l' | ||
| Line 841: | Line 847: | ||
| + | === Construction d' | ||
| + | == Mapped == | ||
| - | ===== Test de l'IDP | + | Si l'annuaire n'est pas encore compatible supann/ |
| + | Exemple | ||
| - | ==== Enregistrement aupres d'une fédération | + | < |
| + | <!-- https:// | ||
| + | < | ||
| + | | ||
| + | | ||
| + | < | ||
| + | < | ||
| + | | ||
| + | < | ||
| + | | ||
| + | <!-- default to the generic value ' | ||
| + | < | ||
| + | <!-- map internal values like ' | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | == Expression reguliere == | ||
| + | |||
| + | construction d'un attribut sur la base d'une dn de branche ldap => split REgex : | ||
| + | |||
| + | < | ||
| + | <!-- https:// | ||
| + | < | ||
| + | id=" | ||
| + | sourceAttributeID=" | ||
| + | regex=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | name=" | ||
| + | < | ||
| + | name=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Test de l'IDP ===== | ||
| + | |||
| + | ==== Enregistrement aupres d'une fédération | ||
| il faut un Service Provider pour tester notre fournisseur d' | il faut un Service Provider pour tester notre fournisseur d' | ||
| Line 865: | Line 932: | ||
| - | ==== Login sur un SP de test | + | ==== Login sur un SP de test ==== |
| https:// | https:// | ||
| Line 873: | Line 940: | ||
| On obtient alors un acces authentifié ainsi qu'un " | On obtient alors un acces authentifié ainsi qu'un " | ||
| - | === Résultat dans le navigateur | + | === Résultat dans le navigateur |
| + | |||
| < | < | ||
| -shib- | -shib- | ||
| Line 941: | Line 1008: | ||
| </ | </ | ||
| - | === Log IDP | + | === Log IDP === |
| < | < | ||
| Line 984: | Line 1051: | ||
| </ | </ | ||
| - | ==== Configuration du RemoteUser | + | ==== Configuration du RemoteUser |
| Il faut utiliser le " | Il faut utiliser le " | ||
| Line 1013: | Line 1080: | ||
| - | ==== Filtre d' | + | ==== Filtre d' |
| on filtre dans le *web.xml* l' | on filtre dans le *web.xml* l' | ||
| Line 1057: | Line 1124: | ||
| </ | </ | ||
| - | ===== Certification | + | ===== Certification |
| Au premier abord on tombe sur des besoins de confiances (transfert securisés) entre SP et IDP . Sans aucune prise en compte des certificats/ | Au premier abord on tombe sur des besoins de confiances (transfert securisés) entre SP et IDP . Sans aucune prise en compte des certificats/ | ||
| Line 1069: | Line 1136: | ||
| </ | </ | ||
| - | ==== Chaine de certification | + | ==== Chaine de certification |
| On procede alors a la création d'un keystore qui comprend le certificat et la clé de notre serveur, ainsi que le chaine de certification (ici au format openssl pkcs12 afin de s' | On procede alors a la création d'un keystore qui comprend le certificat et la clé de notre serveur, ainsi que le chaine de certification (ici au format openssl pkcs12 afin de s' | ||
| Line 1080: | Line 1147: | ||
| </ | </ | ||
| - | ==== tomcat sur 8443 | + | ==== tomcat sur 8443 ==== |
| Il faut alors indiquer au serveur d' | Il faut alors indiquer au serveur d' | ||
| Line 1102: | Line 1169: | ||
| </ | </ | ||
| - | ==== SunJVM truststore | + | ==== SunJVM truststore |
| enfin il faut que le JVM qui tourne tomcat ait confiance en notre autorité qui a signée notre serveur, ici tmsp_ca à signé shibidp1.it-sudparis.eu (shibidp1_tmsp.pem !), on ajoute donc cette autorité a celles bien connus deja presentes dans le *cacerts* livré avec la JVM sun: | enfin il faut que le JVM qui tourne tomcat ait confiance en notre autorité qui a signée notre serveur, ici tmsp_ca à signé shibidp1.it-sudparis.eu (shibidp1_tmsp.pem !), on ajoute donc cette autorité a celles bien connus deja presentes dans le *cacerts* livré avec la JVM sun: | ||
| Line 1119: | Line 1186: | ||
| </ | </ | ||
| - | ===== SSO shibboleth et AD | + | ===== SSO shibboleth et AD ==== |
| pour un site ne disposant au préalable d'un SSO (CAS souvent !) , shibboleth offre un service interne de SSO. | pour un site ne disposant au préalable d'un SSO (CAS souvent !) , shibboleth offre un service interne de SSO. | ||
| Line 1126: | Line 1193: | ||
| Nous utiliserons alors le systeme SSO interne a shibboleth plutot que de s' | Nous utiliserons alors le systeme SSO interne a shibboleth plutot que de s' | ||
| - | ==== doc de reference | + | ==== doc de reference |
| https:// | https:// | ||
| - | ==== LoginHandler UsernamePassword | + | ==== LoginHandler UsernamePassword |
| il faut activer le LoginHandler UsernamePassword dans handler.xml et commenter le LoginHnadler RemoteUser, autrement c'est ce dernier qui prend la main . | il faut activer le LoginHandler UsernamePassword dans handler.xml et commenter le LoginHnadler RemoteUser, autrement c'est ce dernier qui prend la main . | ||
| Line 1146: | Line 1213: | ||
| </ | </ | ||
| - | === JAAS configuration file | + | === JAAS configuration file === |
| c'est ici qu'on definit le moyen d' | c'est ici qu'on definit le moyen d' | ||
| Line 1169: | Line 1236: | ||
| </ | </ | ||
| - | ==== Attributes resolver | + | ==== Attributes resolver |
| Il faut definir un resolver pour recuperer les attributs | Il faut definir un resolver pour recuperer les attributs | ||
| - | === connecteur | + | === connecteur |
| < | < | ||
| Line 1191: | Line 1258: | ||
| </ | </ | ||
| - | === definition des attributs | + | === definition des attributs |
| < | < | ||
| Line 1220: | Line 1287: | ||
| </ | </ | ||
| - | === Filtres | + | === Filtres |
| A partir des attributs resolus ci-dessus on peut definir des politiques de diffusion de ces derniers, par liste de Service Provider par exemple : | A partir des attributs resolus ci-dessus on peut definir des politiques de diffusion de ces derniers, par liste de Service Provider par exemple : | ||
| Line 1358: | Line 1425: | ||
| Shib_Authentication_Method=urn: | Shib_Authentication_Method=urn: | ||
| </ | </ | ||
| + | |||
| + | création JehanProcaccia - 20 Mar 2008 | ||
| + | |||