UNIL.2

Portail MyUNIL

Long Title: Portail MyUNIL: délégation de l'authentification et gestion des autorisations (N-tier, VO)
Leading
Organization:
Université de Lausanne
Domain: AAA
Status: finished
Start Date: 01.11.2009
End Date: 31.12.2011
Project Leader: A. Roy

MyUNIL est un bureau virtuel, adaptatif, donc dynamique, personnalisé, proposant un accès unifié à diverses sources d’information et services, permettant d’interagir avec d’autres personnes, applications ou contenus pertinents et intégrant les activités administratives et académiques.
Ce projet voulait rassembler des outils - existant jusqu’à présent indépendamment - dans un seul environnement avec un graphisme et une logique unique. Les outils devraient "faire confiance" au portail pour l’authentification avec le mécanisme de délégation.

Résultats

Composante Déscription
Mot de passe transmis par l’IDP à my.unil.ch Selon AAI Community Group (former Operations Committee) in Password as AAI attribute
Interrogation de notre Idp pour les utilisateurs externes afin d’obtenir les informations de groupes. Site de SWITCH: How to add your own service SWITCHtoolbox Tool
Wiki (source interne):https://www3.unil.ch/farm/conseil/doku.php?id=edysli:shibboleth:start

Les connaissances acquises constituent l’essentiel de la valeur du projet.
La difficulté technique et le choix d’une bibliothèque inadaptée (ID-WSF ECP Web Service Client) ne nous a pas permis de réaliser la délégation dans le portail my.unil.ch de manière satisfaisante (utilisable en production). Nous avons rencontré un problème lié à la durée des sessions qui rend inefficace la délégation qui alors perd de son intérêt, dans notre contexte. Dans le cas d’une délégation unique dans la session (comme une connexion au SLCS pour obtenir un certificat), le système est tout à fait bon.
Pour obtenir une solution acceptable, il aurait fallu recommencer un développement en utilisant la bibliothèque disponible avec le conteneur Uportal.
Le Idp a été adapté afin qu’il transmette à my.unil.ch le mot de passe des utilisateurs locaux; auparavant my.unil.ch effectuait une requête LDAP pour l’obtenir. Pour cela une technique décrite par SWITCH lors d’une séance OpCom de SWITCHaai était utilisé. Cela nous permet de ne plus stocker le mot de passe (à part son empreinte SSHA) dans notre LDAP.
Nous avons validé le concept d’agrégation des attributs fournis par plusieurs Idp pour un utilisateur. C’est une fonctionnalité du SP Shibboleth que nous avons mis en place dans notre système de Gestion des groupes. Cette fonctionnalité est également utilisée par SWITCHtoolbox.

Interrogation de notre Idp pour les utilisateurs externes:

La disponibilité de la version 2 de Shibboleth nous a permis de mettre en œuvre cette fonctionnalité afin que notre système de Gestion de groupes puisse fournir les informations de groupes à d’autres SP sans modification des applications protégées par ces SP. Nous avons ainsi une architecture proche de celle qui a été utilisée ensuite dans SWITCHtoolbox.

Etude de l’abandon de l’attribut swissEduPersonUniqueId:

Après l'analyse des modifications nécessaires pour abandonner l’attribut swissEduPersonUniqueId il y a peu d’intérêt à abandonner l’usage de cet attribut dans l’état actuel de la fédération SWITCHaai et des fonctionnalités de la version 2 de Shibboleth puisque ces efforts ne semblent pas raisonnables en comparaison de la solution actuelle.


Situation initiale

Le portail MyUNIL donne accès à des outils personnels, outils de groupes, de communication et de recherche.
Certains de ces outils existent indépendamment de MyUNIL:

  • Messagerie
  • Espace disque personnel
  • Dossier académique et administratif
  • Publications
  • Descriptifs et supports de cours
  • Unisciences
  • Agendas

Les utilisateurs peuvent s’y connecter sans passer par MyUnil et se trouvent dans un environnement spécifique.

D’importants développements ont été réalisés avec succès pour rendre le portail MyUNIL compatible AAI et pour mettre en place un système d’autorisation plus fin que les attributs AAI standard.

Objectifs

Le grand intérêt de MyUNIL est de rassembler tout ces outils dans un seul environnement avec un graphisme et une logique unique.
Nous désirons améliorer MyUNIL avec deux techniques innovantes:

  1. la délégation de l’authentification entre deux ressources;
  2. la configuration particulière du SP ou l’utilisation d’une organisation virtuelle (VO) pour la gestion de l’attribut unil-MemberOf (appartenance à des groupes de l’UNIL) pour des utilisateurs internes (Idp de l’UNIL) et externes (autres Idp de la fédération).

Le premier but de ce projet est donc de modifier les modules Shibboleth des applications en jeu afin que le portail n’ait pas besoin de s’authentifier sous l’identité de l’utilisateur. Il faut que les outils "fassent confiance" au portail (délégation de l’authentification), en particulier sur le fait que l’utilisateur a déjà été authentifié. Les outils délèguent au portail l’authentification et il n’est ainsi plus nécessaire de leur transmettre le mot de passe.
Le deuxième but est de modifier le module Shibboleth du portail (SP) afin qu’il fournisse lui-même ces attributs locaux d’utilisateurs externes. Nous aimerions généraliser cela pour nos "Service Provider".

Étapes

Délégation de l’authentification

  1. mettre en place une infrastructure de test, un Idp et deux SP;
  2. modifier l’Idp de test; installer le plugin N-tier;
  3. configurer les divers modules Shibboleth pour introduire la délégation de l’authentification entre l’intranet et MyUnil;
    Tester la délégation de l’authentification: accent sur sécurité, passage correct des attributs, compatibilité des navigateurs, durée des sessions, etc;
  4. ev. contribuer par des développements à l’extension des fonctionnalités du logiciel Shibboleth;
  5. chercher des personnes externes (institution) pouvant participer aux tests. Pour cette institution externe, il s’agira aussi d’avoir un Idp avec le plugin N-tier;
  6. faire des ajustements nécessaires;
  7. implementer le concept validé sur le système de production (idp, MyUnil, intranet);
  8. ev. adapter la configuration des autres outils afin d’utiliser également la délégation.

Gestion de l’attribut unil-MemberOf

  1. modifier le SP Shibboleth sur l’installation de test pour qu’il interroge notre Idp de test pour obtenir l’attribut unil-MemberOf dans le cas des utilisateurs externes (l’attribut swissEdupersonUniqueId sera utilisé comme clé);
  2. modifier de l’Idp de test afin de répondre à ces requêtes;
  3. modifier MyUnil pour ne plus interroger le LDAP;
  4. tester;
  5. mettre en production la configuration;
  6. configurer (standard) pour les autres SP. L’attribut unil-MemberOf pourra être ainsi utilisé de manière plus étendue.

Back