Title: FORMATION DEPLOIEMENT AGALAN
1FORMATION DEPLOIEMENT AGALAN
- Gérard Forestier
- Université Joseph Fourier
- Gerard.Forestier_at_imag.fr
2PLAN
- 3.1.5 Architecture logicielle
- 3.1.6 Notion de connecteurs
- 3.1.6.1 Formats déchanges
- 3.1.6.2 Fonctions des connecteurs
alimentations extraction - 3.1.6.3 Les différents connecteurs
- Connecteur alimentation annuaire bootstrap
Apogée - Connecteur temps réel Apogée-annuaire LDAP
- Connecteur changement de mot de passe
- Editeur administration et éditeur
utilisateur - Connecteur authentification Unix
- Connecteur authentification Active Directory
- Connecteur Apache, Samba, IMAP
- Connecteur Portail
- Connecteur Harpège
-
3ARCHITECTURE LOGICIELLE
4OBJECTIFS
- Mettre en place une architecture logicielle
implémentant les spécifications du cahier des
charges AGALAN. - Contraintes
- Assurer la cohérence de lannuaire LDAP
- Sécurité
- Robustesse, disponibilité
- Utilisation des standards
5IMPLEMENTATION
- Architecture 3-tiers permettant davoir un
serveur dapplications pour réaliser la logique
métier du projet AGALAN. - Annuaire LDAP V3
- Technologie JAVA.
- Choix dun serveur RMI pour assurer la cohérence
de lannuaire LDAP. - Servlets pour laccès via le web.
- Serveur application serveur RMI conteneur WEB
- Objectif à moyen terme utilisation des EJB
(Enterprise Java Beans) - Utilisation des protocoles normalisés de cryptage
(SSL)
6ARCHITECTURE LOGICIELLE
7SERVEUR APPLICATION
8FORMAT D ECHANGES
9OBJECTIFS
- Trouver un format standard d échange de données
entre les différentes sources d informations
(bases de données, annuaires ou applications
diverses), et exploitables par différents
connecteurs.
10IMPLEMENTATION FONCTIONNALITES
- Format de fichier plat (spécifiant une suite
ordonnée d attributs). - Format pivot personnes et groupes.
- Alimentation de l annuaire
- Création modification de personnes
- Création et peuplement des groupes
- Génération à partir de n importe quelle base
- Extraction de l annuaire
- Vers d autres bases
- Pour préparer des alimentations
11FORMAT DE FICHIER
- Format texte Codage ISO8859-15
- Séparateur de champs
- Informations multivaluées séparées par des ,
- Les informations non renseignées sont restituées
par une valeur vide. - Pas de à l intérieur des champs.
- Les commentaires sont précédés par un .
- Les attributs sont spécifiés obligatoire,
facultatif ou non.
12DESCRIPTION COMPLETE
- La description complète du format de fichier
format de fichier pour connecteur
d alimentation v09 d Eric Simoens, se trouve
sur le site http//www.agalan.org - Objectif à terme définition d une DTD XML.
13CONNECTEURS
14NOTION DE CONNECTEUR
- Connecteur interface logicielle permettant à un
service dutiliser lannuaire LDAP
(authentification, récupération dinformations,
mises à jour des entrées). - Connecteur se trouve coté service (client)
15CONCEPT DE CONNECTEUR
- Une idée forte du projet AGALAN cohérence des
informations dans lannuaire. - Choix dun schéma de données avec un nombre
minimal dattributs et pas de redondance
dinformations. - Les connecteurs permettent dinterfacer le
service et lannuaire en utilisant le schéma de
données AGALAN. - Les services sadaptent à lannuaire et pas
le contraire (philosophie des Systèmes
dInformations) par le biais des connecteurs.
16SPECIFICATIONS DES CONNECTEURS
- Chaque connecteur est spécifié lors des réunions
de travail du groupe AGALAN en tenant compte de
lensemble des contraintes spécifiques aux
différents établissements. - Spécifications de chaque connecteur disponible
sur www.agalan.org - Modélisation en cours des connecteurs en
utilisant la notation UML (Unified Modeling
Language) pour illustrer les spécifications des
connecteurs ainsi que pour faciliter leurs
développements et leurs implémentations - Limplémentation des différents connecteurs devra
respecter les spécifications et être implémentés
avec des outils et langages standards et
compatibles avec larchitecture logicielle AGALAN - Chaque connecteur fera lobjet dune
documentation
17METHODES DAUTHENTIFICATION
- Authentification synchrone requête sur
lannuaire LDAP (bind) pour authentifier la
personne. - PAM LDAP
- Authentification asynchrone génération de bases
locales dauthentification à partir de lannuaire
LDAP pour contrôler laccès au service. Il faut
définir une fréquence de mise à jour de ces
bases. - Amélioration des performances.
- Plus adapté au schéma AGALAN (sémantique des
groupes).
18CHOIX DU DEVELOPPEMENT DUN CONNECTEUR SPECIFIQUE
AGALAN
- Certains produits du marché (ex SAMBA) imposent
des Object Class avec des attributs spécifiques
-gtmodification du schéma AGALAN pour chaque
nouvelle application. - Dans ce cas, la méthode dauthentification
(synchrone) ou de récupération de linformation
(asynchrone) devra être réécrite (si possible)
sous forme dun connecteur. - Tendance actuelle des produits utilisant LDAP
permettre lécriture dune requête LDAP sans
imposer dObject Class (ex SYMPA).
19DIFFERENTS TYPES DE CONNECTEURS AGALAN
- Des connecteurs gestionnaires des informations
- Connecteur APOGEE, HARPEGE, G2I(IUFM)
- Connecteur EDITEUR-GESTIONNAIRE
- Des connecteurs exploitants ces informations
- Connecteur serveur Unix, serveur 2000 Active
Directory - Connecteur serveur Web
20DEVELOPPEMENT DES CONNECTEURS
- Langages Java,Php4,Perl5 pour les développements
effectués par le groupe de travail, ce qui assure
portabilité dun même code sur plusieurs
établissements. - Pour les connecteurs dits en lecture seule
sur lannuaire on utilisera Perl ou PHP. - Pour les connecteurs dits en lecture/écriture
sur lannuaire on utilisera impérativement Java
car accès via serveur RMI (technologie uniquement
Java).
21LISTE DES CONNECTEURS
- Connecteur Alimentation annuaire-bootstrap Apogée
- Connecteur APOGEE-AGALAN temps réel
- Connecteur changement de mot de passe
- Connecteur Editeur (administration et
utilisateur) - Connecteur authentification unix
- Connecteur authentification Active Directory
- Connecteur Apache
- Connecteur SAMBA
- Connecteur IMAP Boite à lettres
- Connecteur PORTAIL (ENCORA)
- Connecteur HARPEGE
22ARCHITECTURE DEVELOPPEMENT
- Linterrogation de lannuaire par les connecteurs
dexploitation seffectue en protocole LDAP. - La mise à jour des informations (par les
connecteurs gestionnaires) est centralisée sur un
serveur RMI (Remote Invocation Method) qui assure
la cohérence, laspect transaction, les traces
système...
23LES INFORMATIONS Connecteurs
- Nom du connecteur (DN)
- Machine (machines offrant le service-multivalué)
- Groupes gestionnaire (groupes de machine et de
personnes groupes gérant le service-multivalué) - Groupes utilisateur (groupes dutilisateurs
bénéficiant du service-multivalué) - Type de connecteur (identification du service au
niveau AGALAN validé par groupe AGALAN) - Paramètres (Paramètres spécifiques de chacun des
services multivalué- nom spécifiquevaleur
24ARCHITECTURE DES CONNECTEURS
Script dinitialisation Bootstrap 0 Apogée
Personnes groupes
SGBD APOGEE
Impression carte étudiant Apogée
Connecteur /etc/passwd
SSL
carte étudiant
LDAP ujf.agalan.org
LDAP agalan.org
TABLE LOCALE
Connecteur Active Directory 2000
REPLICATS
SSL
CLAIR
Serveur RMI
Trigger Inscription Apogée au fil de leau
CLAIR
SSL
Connecteur IMAP
SSL
Connecteur Changement de mot de passe
CLAIR
SSL
SSL
Connecteur Apogée Cohérence personnes et Groupes
API
Connecteur Sympa Liste mails
Connecteur Editeur
Connecteur Restitution login et password à
partir des nom, prénom, INE, date de naissance
25CONNECTEUR ALIMENTATION ANNUAIREBOOTSTRAP-APOGEE
26OBJECTIFS
- Flux d alimentation
- Alimentation de l annuaire avec annuaires
officiels (Apogée, Harpège, G2I) - mais alimentation nécessaire en amont ou en
parallèle des annuaires officiels. - Création d un connecteur générique utilisant le
format de données AGALAN, pour remplir
l annuaire à partir de différentes sources
d informations (officiels ou non), et permettant
le chargement initial de l annuaire AGALAN.
27SPECIFICATIONS
- Chargement initial dans l annuaire des étudiants
déjà inscrits (minitel, internet, report année
précédente). - Création du login et du mot de passe lors de la
création de la fiche étudiant dans l annuaire
LDAP à partir des informations fournies par
APOGEE. - Vérification de l unicité du login dans
l annuaire. - Création de l adresse mail unique.
- Retour des informations vers APOGEE.
28Connecteur BOOTSTRAP-APOGEE
Fichier texte formaté
Connecteur Bootstrap- Apogée
Annuaire LDAP AGALAN
Fichier texte retour
BD ORACLE APOGEE
29ALGORITHME
- Export d un fichier texte formaté par APOGEE
(format AGALAN). - Dépôt de ce fichier sur un espace commun.
- Lecture de ce fichier par Connecteur
Bootstrap-Apogée. - Création d un login à partir du nom et du
prénom. - Vérification de l unicité de ce login dans
l annuaire. - Si non unicité, calcul d un nouveau login
suivant l algo AGALAN. - Création de l adresse mail.
30ALGORITHME (suite)
- Attribution d un UID et GID (type UNIX).
- Création de la fiche étudiant suivant le DIT
AGALAN. - Export d un fichier contenant les logins, mots
de passe et adresses mail ainsi créés pour retour
vers APOGEE, pour communication de ces
informations aux étudiants (via la carte
d étudiant).
31JOINTURE ENTREE PERSONNE
- Pour tester lexistence dune personne dans
lannuaire il faut pouvoir lidentifier - (NOM,PRENOM,INE)
- (NOM,PRENOM,DATE DE NAISSANCE)
- Si jointure OK on ne rajoute pas dentrée mais
mise à jour si nécessaire des différents champs,
en particulier date de validation, date
dexpiration et statut. - Document Connecteur AGALAN APOGEE sur
http//www.agalan.org
32TRAITEMENT BATCH
- Ce connecteur permet aussi de vérifier la
cohérence de lannuaire en fonction des
changements des informations des personnes sur
Apogée. - Définir une fréquence de synchronisation
- Extractions des informations des personnes ayant
été modifiés dans Apogée et mise à jour dans
lannuaire. - Synchronisation complète.
33GESTION DES GROUPES
- La gestion des groupes (chargement-extraction) se
fait à travers un connecteur aux spécifications
identiques mais gérant le format pivot des
groupes. - Pour la synchronisation des groupes entre APOGEE
et lannuaire il y a destruction/création des
groupes APOGEE (donc institutionnels) dans
lannuaire avec mise à jour date de validation
(traitement batch).
34CONNECTEUR APOGEE-ANNUAIRE LDAPTEMPS REEL
35SPECIFICATIONS
- Création du login au moment de linscription de
létudiant. - Le login apparaît sur la carte détudiant
- Transaction Apogée-annuaire AGALAN pendant
lédition de la carte. - Time out paramétrable de fin de transaction 30
et 60s - Connecteur développé en JAVA en utilisant les
Java Stored Procedures (JSP) pour intégrer des
fonctions Java dans les triggers. - Version Oracle 8i uniquement, Apogée 2.8 ou 3.0
36(No Transcript)
37ALGORITHME
- Déclenchement du trigger dans lédition de la
carte détudiants (Oracle report). - Récupération du nom , prénom ,date de naissance,
INE de létudiant. - A partir du nom, prénom, INE, date de naissance
de létudiant ,recherche dans les différentes
tables APOGEE des informations (si manquante dans
lédition) - FicheEtudiantlt-Nom, Prenom, INE, Composante, Nom
patronymique, Diplôme/étape, Centre de gestion,
NEtudiant - Appel classe java MAJEtudiantApogeeLDAP dans le
trigger, avec FicheEtudiant date expiration en
paramètres.
38ALGORITHME (suite)
- Test jointure sur (nom, prenom, INE)
- Si correspondance -gt lentrée existe déjà
-gtmodification de lentrée (MAJ champs date,
statut, composantes,groupes gestionnaires) et on
renvoie le login - Si non correspondance
- TestJointure (nom, prenom, date de naissance)
alors entrée provisoire à valider, mise à jour
des champs de lentrée (date, groupes
gestionnaires) et on renvoie le login. - SINON
- on ajoute lentrée de la personne dans
lannuaire avec les infos passées en paramètres,
calcul du login. Mise à jour des groupes
gestionnaires en fonction de la composante.
Retour dans le trigger et écriture du login sur
la carte détudiant.
39SECURITE ORACLE 8I et JAVA
- JVM Aurora basé sur java 1.2
- Sécurité modèle java 1.2 avec contrôle daccès
aux ressources et aux objets - Les classes java sont chargées (commande
loadjava, idem classpath) dans un schéma de la
base. - Security policy définit dans une table sécurisée.
- Mise à jour de la table policy à travers les
procédures DBMS_JAVA. - Rôle JAVA_ADMIN pour modifier cette table
- Installation de Jserver par initijvm.sql
40CONNECTEUR CHANGEMENT MOT DE PASSE ET RESTITUTION
DINFORMATIONS
41SPECIFICATIONS
- Connecteur permettant à lutilisateur de
récupérer les informations de son entrée dans
lannuaire et dy changer certains attributs
(pour linstant changement de mot de passe
uniquement). - A lorigine deux connecteurs distincts
- Un connecteur pour le changement de mot de passe.
- Un connecteur récupération du login en fonction
du nom, prénom, INE, date de naissance. - Convergence de ces 2 connecteurs vers un seul
pour permettre à lutilisateur de gérer son
compte en une seule interface.
42TECHNOLOGIES et LANGAGES UTILISES
- Connecteur écrit en Java avec la technologie des
servlets qui permet dutiliser une interface
standard (Web) pour modifier des informations
dans lannuaire via le serveur RMI. - Les servlets Java permettent dincorporer la
logique applicative dans le processus
requête/réponse HTTP. - Modèle de programmation 3-tiers avec serveur
applicatif permettant de mettre en uvre une
logique métier. - Serveur dapplications AGALAN Serveur RMI
servlets
43ARCHITECTURE
44CLIENT WEB
https//parana.ujf-grenoble.fr
45OUTILS UTILISES
- Conteneur web (moteur de servlets)
- JakartaTomcat (http//jakarta.apache.org)
- Version utilisée
- 4.1.18 pour Linux et Solaris
- Serveur web
- Tomcat intègre un serveur web minimal.
- Apache httpd 1.3.27 (http//www.apache.org) si on
a besoin de certaines fonctionnalités (ex
nécessaire pour PHP et SSL) - Langage Java JDK 1.4.1 (http//java.sun.com)
46MISE EN UVRE DU CONNECTEUR
- Mise en place de Apache si ce dernier est retenu
comme serveur httpd. - Installation de Tomcat.
- Si utilisation de Apache mise en place de la
librairie mod_jk.so pour faire linterface entre
le serveur Apache et Tomcat. - Configuration de Tomcat.
- Configuration de Apache (httpd.conf).
- Mise en place du code des servlets.
47SECURITE
- Utilisation de https http SSL
- SSL Secure Socket Layer
- Pour applications en mode client-serveur sur TCP
- Authentification des extrémités, confidentialité
et intégrité des échanges - Utilisation de certificats et de clés de session
- Flot de données découpé en paquets signés et
chiffrés - Utilisation courante seul le serveur possède un
certificat - Serveur Web sécurisé
- Authentification du serveur
- Chiffrement des échanges
Source http//www.urec.fr/igc/Doc/Certificats_Gre
noble_fichiers/frame.htm
48CONFIGURATION APACHE SECURISE
- Pre-requis
- OpenSSL (Open Source toolkit pour SSL/TLS)
- Apache httpd
- Génération du module SSL mod_ssl pour apache
(mode DSO) http//www.modssl.org - Mod_ssl.so
- Génération dun certificat (make certificate)
- Configuration dapache
- Port 443
- Versions
- httpd apache 1.3.27
- openSSL 0.9.6h
- Mod_ssl 2.8.12
49CONNECTEUR EDITEUR
50OBJECTIFS
- Réalisation dun outil permettant la création et
la gestion des personnes, des groupes, des
machines dans lannuaire. - Cet outil se déclinera en 2 versions
- Une version administration recouvrant lensemble
des possibilités pour la gestion des entrées de
lannuaire. Ce module dadministration sera
utilisé par les responsables informatiques des
différentes composantes de létablissement. - Une version client qui permettra à certains types
dutilisateurs de consulter, de créer ou de
modifier des entrées de lannuaire (en
particulier pour la gestion des groupes
collaboratifs). Cet outil aura des droits limités
sur lannuaire.
51SPECIFICATIONS
- Gestion des entrées Personne
- Gestion des entrées groupes
- Gestion des entrées machines et connecteurs
- Gestion des entrées provisoires
- Gestion des logs
52CONNECTEUR EDITEURVERSION ADMINISTRATION
53ASPECT FONCTIONNEL
- Mettre en place une organisation pour la gestion
de lannuaire. - Délégation des droits.
- Certains droits devront être centralisés (groupes)
54GESTION DES ENTREES PERSONNES
- Visualisation de toutes les informations sur les
entrées Personne pour le groupe gestionnaire de
ces entrées. - Statut, modifications autorisées
- Officiel -gt provisoire, suspendue
- Suspendue -gt provisoire, obsolète
- Provisoire -gt suspendue, obsolète
55ATTRIBUTS MODIFIABLES
- Si le statut de lentrée est provisoire tous
les attributs sont modifiables directement sauf
les attributs à contrainte particulière (unicité,
ou autre). Ces derniers seront modifiables indir
ectement au sens regénérables par
léditeur/Serveur LDAP. - Si le statut de lentrée est officiel tous les
attributs ne provenant pas dun annuaire officiel
sont modifiables directement sauf les attributs à
contrainte particulière (unicité, ou autre). Ces
derniers seront modifiables indirectement au
sens regénérables par léditeur/Serveur LDAP. - Si le statut de lentrée est obsolète Le seul
attribut modifiable est celui de la date
dexpiration. - Si le statut de lentrée est suspendue tous les
attributs sont modifiables directement sauf les
attributs à contrainte particulière (unicité, ou
autre). Ces derniers seront modifiables indirect
ement au sens regénérables par
léditeur/Serveur LDAP.
56GESTION DES ENTREES GROUPES
- Si le groupe est de type institutionnel les
seuls attributs modifiables sont statut, type,
date expiration, commentaires. - Si le groupe est de type collaboratif Edition
directe complète sauf pour lattribut GID
(contrainte dunicité/ algorithme de validation)
et common name. - Remarques Si groupe de groupes (DN de personnes
ou de groupes) - Edition totale
57GESTION DES ENTREES MACHINES
- Tout est modifiable. Le DN est le nom DNS
qualifié complet, vérification de la validité du
nom DNS par algorithme de validation. - Si modification du nom de machine attention à la
mise à jour des attributs référençant cette
entrée. - Nom machine et DN doivent être modifiés ensemble.
58GESTION DES ENTREES CONNECTEUR
- Type de connecteur identification du type de
connecteur au niveau AGALAN. Il devra appartenir
à un référentiel, préalablement créé par le
groupe AGALAN, contenant lensemble des types de
connecteur. - Modification du nom de connecteur implique la
modification du DN correspondant. - Tout est modifiable par les administrateurs
informatiques. (groupes gestionnaires)
59IMPLEMENTATION
- Choix du langage Java pour implémenter léditeur
version administration - Accès au serveur RMI pour les mises à jour dans
lannuaire. - Java permet de réaliser facilement des interfaces
graphiques (SWING).
60INTERFACE
61CONNECTEUR EDITEURVERSION UTILISATEUR
62OBJECTIFS
- Permettre aux utilisateurs autorisés de créer des
groupes. - Autorisations gérées par le serveur RMI
- Lutilisateur peut créer n groupes (n limité) sur
lequel il a tous les droits. - L utilisateur peut rentrer les entrées LDAP
(personnes et groupes) qu il veut.
63IMPLEMENTATION
- Utilisation de linterface standard web.
- Technologie des servlets pour accéder à
lannuaire LDAP via un serveur RMI. - Accès au même conteneur Web et même serveur Web
que le connecteur de changement de mot de passe
et restitution de linformation.
64CONNECTEUR AUTHENTIFICATION UNIX
65SPECIFICATIONS
- Idée générale développer un connecteur
générique permettant de récupérer les bases
d'authentification pour les différents serveurs
Unix (Solaris, HP-UX, linux) à partir des groupes
autorisés à se connecter sur ces machines - passwd
- shadow
- group
- Aliases (peut être généré par le service
méssagerie) - OS supporté
- Solaris
- HP UX
- Linux
66ARCHITECTURE
67ARCHITECTURE LOGICIELLE
- Architecture en 3 modules -Permet de minimiser
les développements en fonction des différentes
architectures-Permet de séparer les différentes
phases de construction des bases
d'authentifications. - Modules
- 1 module de récupération de l'info (indépendant
OS) -gt FetchLDAP - 1 module de construction de l'info (indépendant
OS) -gt BuildSystem - 1 module d'exécution (OS dépendant) -gt
BuildSystemOS
68MODULE DE RECUPERATION DE LINFORMATION
- architecture
- choix pour les dossiers partagées (share)
- Liste des groupes à inclure
- choix du shell
- choix du cryptage (MD5 - Triple DES)
- exécution d'un script pour "customiser" un home
en passant toutes les infos qui sont dans
l'annuaire. -
69FetchLDAP(1)
- Récupère les informations nécessaires à la
création de comptes depuis lannuaire LDAP. - Nécessite 4 fichiers de config
- Employeetype.config
- Permet de définir quels employeetype doivent
être intégrés (E,I,P,R). - Meta-groupes.config
- Permet de définir les groupes de groupe à
inclure. - Groupes.config
- Permet de définir les groupes simples à
inclure. - Universite.config
- Permet de définir quelle(s) université(s) à
inclure.
70FetchLDAP(2)
- A cela, il faut ajouter tous les fichiers
systèmes nécessaires - Dans /etc/AGALAN/ORG
- PASSWD.ORG (copie des comptes de base passwd)
- SHADOW.ORG (copie des comptes de base shadow)
- GROUP.ORG (copie des groupes de base)
- ALIASES.ORG (copie des aliases de base)
- AUTH.ORG (copie du dossier auth de base) HP-UX
71FetchLDAP(3)
- FetchLDAP ne récupère que les infos nécessaires à
son bon fonctionnement - Il est capable de récupérer 20000 comptes et 2000
groupes - En moins de 4 minutes, sur un E250
- En moins de 8 minutes sur une Ultra1-140
- Il ne nécessite que peu de mémoire
72BuildSystem
- OS dependant
- Génère les fichiers et scripts spécifiques à
chaque OS - Naffecte pas lOS (i.e. ne modifie rien)
- Actuellement, disponible pour
- SOLARIS
- HP-UX
- LINUX
73BuildSystem SOLARIS
- Génère les fichiers suivants (/etc/AGALAN/Backup)
- /etc/passwd
- /etc/shadow
- /etc/group (modifié via ConstructGroup.pl, afin
de parer à la limite de 1024 caractères par
ligne) - /etc/aliases
- LocalFileSystem.sh
- Script sh auto généré permettant la
création/déplacement/destruction des homes, des
shares, la fixation des droits Unix
74BuildSystem HP-UX
- Reprend la même mécanique que le BuildSystem de
Solaris, mais - /etc/shadow nexiste pas sur HP-UX, il est donc à
modifier via ConstructAuthFiles, pour générer les
fichiers /tcb/files/auth) - HP-UX ne semble pas tenir compte des problèmes de
longueur dans /etc/group
75BuildSystem LINUX
- Identique en tout point à BuildSystem pour
Solaris - Toutefois, vérifier la crypto dans le shadow, il
semble que certains systèmes ne supportent pas le
crypt 3DES de Perl, mais veulent du HashMD5
76LANGAGES UTILISES
- Perl 5.8
- Librairie Perl-Ldap 0.27
77CONNECTEUR DEXPLOITATIONACTIVE DIRECTORY
Connecteur écrit par Eric Payan et David Jouve
Université Lyon1
78OBJECTIFS
- Permettre à un contrôleur de domaine Windows 2000
de récupérer dans Active Directory, pour la
création de comptes, les entrées personnes de
lannuaire AGALAN. - Gestion asynchrone.
- Création des comptes dans AD et création des
homes dir sur un serveur de fichier du même
domaine.
79ARCHITECTURE
ADSI
Contrôleur de domaineA.D.
PC hébergeantle connecteur
LDAP
CIFS
AGALAN
DomaineWindows 2000
Serveur de fichiersCIFS
80PRE-REQUIS
- Un domaine Windows 2000 avec Active Directory
- Une machine membre du domaine sur laquelle
installer les scripts - Sur cette machine
- Active perl (5.6) Perl standard sous Windows,
avec interface ADSI incluse. - Librairie perl Perl-Ldap pour laccès LDAP.
- Librairie perl perms qui permet de manipuler
les permissions sur les fichiers Windows. - Librairie crypt quand password sera crypté.
- Un compte (type robot ou machine) avec des
autorisations en lecture dans AGALAN - Un compte avec des privilèges suffisants pour
créer des comptes dans lActive Directory
81ARCHITECTURE DE DEVELOPPEMENT
- 3 parties
- Sélection et récupération de linformation dans
AGALAN -gt un fichier de conf - Transformation de linformation (Programme
Perl) -gt programme Perl - Ecriture de linformation dans le domaine Windows
2000 - Création des entrées dans lannuaire Active
Directory - Création des homes dirs et attribution des
droits - -gt un fichier de conf
82LECTURE DANS LANNUAIRE AGALAN
- Paramètres (fichier de configuration)
- Identification du serveur LDAP
- Identification de l'utilisateur (effectuant les
lectures dans AGALAN) - ou de base pour lensemble des recherches
- Liste des ou à récupérer (récupération
complète) - Liste des groupes à récupérer (DN des groupes)
83TRANSFORMATION DE LINFORMATION
- Problématique
- Les noms des attributs sont différents dun
annuaire à lautre - On peut vouloir modifier linformation venant
dun autre établissement (Ex préfixage par le
nom de létablissement du login) - Ecriture des règles
- En perl !
- On doit générer le tableau associatif dattribut
ecrire à partir dun tableau associatif
dattribut lu - ecrire et u tableaux associatifs à 3 dimensions
( DN de la personne,attribut,boolen multivalué) - Une (petite pour linstant !) boite à outil
- decrypte_aglnPassword décryptage du mot de
passe
84TRANSFORMATION DE LINFORMATIONSCRIPT
- Ex
- le nouveau dn compsé par le nom un
espace le prénom un espace le numéro
détudiant lou de base - newdn"cn".ludn"sn"0."
".ludn"givenName"0." ".ludn"aglnOrgan
izationUid"0.",ouTEST,oucrip-sciences,dcuniv
-lyon1,dcfr" - Les nouveaux attributs
- ecrirenewdn"samAccountName"0"ujf-".lu
dn"uid"0 - ecrirenewdn"sn"0ludn"sn"0
- ecrirenewdn"givenName"0ludn"givenNa
me"0 - ecrirenewdn"displayName"0ludn"sn"
0." ".ludn"givenName"0."
".ludn"aglnOrganizationUid"0 - ecrirenewdn"description"0"Creation
connecteur AGALAN V0.1" - ecrirenewdn"profilePath"0"\\\\univ-lyon1
\\enseignement\\profiles\\".ecrirenewdn"samAc
countName"0 - ecrirenewdn"homeDrive"0"w"
- ecrirenewdn"homedirectory"0"\\\\univ-lyo
n1\\enseignement\\home\\ujf\\".ecrirenewdn"sa
mAccountName"0 - ecrirenewdn"userAccountControl"016
-
- ecrirenewdn"password"0decrypte_aglnPassw
ord("ujf",ludn"aglnPassword"0)
85ECRITURE DE LINFORMATIONDANS LE DOMAINE WINDOWS
2000
- Fichier de configuration très simple !
- Le nom dun des contrôleurs de domaine w2k
- Le script connecteur sera mis dans les tâches
planifiées de lutilisateur devant créer les
comptes. - Ordre didée des performances
- 4000 personnes à lheure avec conf classique
(bi-pro) et serveur de fichier distinct du
contrôleur de domaine.
86CONNECTEUR APACHE
87OBJECTIFS
- Permettre dautoriser les clients http en
fonction des personnes référencées dans
lannuaire AGALAN et mis dans des groupes.
88IMPLEMENTATION
- Mode synchrone module auth_ldap
- Permet dintégrer la sémantique des groupes
AGALAN en permettant de sauthentifier avec un DN
plutôt quun login - require group cngroupe,ougroupes,ouujf,dcagala
n,dcorg - AuthLDAPGroupAttributeIsDN yes
- Mode asynchrone génération avec un script Perl
depuis lannuaire LDAP vers la base
dauthentification dapache (.htaccess-gt
directive AuthUserFile-gtfichier au format
htpasswd)
89CONNECTEUR SAMBA
90SPECIFICATIONS
- SAMBA en PDC
- environnement HP-UX, Linux, SOLARIS
- connecteur en perl
- Récupération des groupes/étudiants
- lancement de la commande smbpasswd avec option de
création ou mise à jour
91CONNECTEUR IMAP
92SPECIFICATIONS
- 2 types de connecteurs en exploitation
synchrone et asynchrone. - Synchrone Authentification directement sur
lannuaire LDAP AGALAN , bind pour
lauthentification, configuration de Cyrus avec
des scripts pour la création et destruction des
boites. - Asynchrone sur Cyrus pas de prise en comptes de
lauthentification de l OS, génération de la
base (sasldb) dauthentification à partir dun
script externe (pour récupérer les comptes de
lannuaire) en utilisant la librairie sasl
(Simple Authentication and Security Layer). - Pour imap de Washington, utilise la base de
comptes de lOS -gt connecteur unix
93CONNECTEUR PORTAILPROJET ENCORA
94OBJECTIFS
- AGALAN est un des sous-projets du projet régional
de portail numérique (ENCORA). - Lobjectif est de fournir un point dentrée
unique et authentifié pour lensemble des acteurs
impliqués dans la formation enseignement
supérieur au sein de lAcadémie de Grenoble et
de Lyon. - Connecteur à définir.
95ARCHITECTURE
96CONNECTEUR HARPEGE
97CONNECTEUR HARPEGE
- En cours de spécification.
- Même principe que le connecteur alimentation
Apogée. - Utilisation des scripts existants.
98QUESTIONS