summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas NOEL <tnoel@entrouvert.com>2015-02-19 14:50:31 (GMT)
committerThomas NOEL <tnoel@entrouvert.com>2015-02-19 14:50:31 (GMT)
commit964b84527c2196b2822afdc3cb8d4bd711670da8 (patch)
treeb9a6085ad2bce2482c604bd5e64dbad9bd0595b8
parentb9910a9fa57b12b0176c4ab9ddb407f00035cad0 (diff)
downloadgi-psl-964b84527c2196b2822afdc3cb8d4bd711670da8.zip
gi-psl-964b84527c2196b2822afdc3cb8d4bd711670da8.tar.gz
gi-psl-964b84527c2196b2822afdc3cb8d4bd711670da8.tar.bz2
architecture
-rw-r--r--documentation/Makefile17
-rw-r--r--documentation/architecture.md124
-rw-r--r--documentation/images/dat.pngbin0 -> 109092 bytes
-rw-r--r--documentation/index.html.build32
4 files changed, 168 insertions, 5 deletions
diff --git a/documentation/Makefile b/documentation/Makefile
index 4c39f25..6ba976e 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -1,18 +1,21 @@
PANDOC=pandoc
PANDOCFLAGS=--standalone --smart --toc -c pandoc.css
SRCS=$(wildcard *.md)
+IMAGES=$(wildcard images/*.png)
PDFS=$(SRCS:%.md=%.pdf)
HTMLS=$(SRCS:%.md=%.html)
TEXS=$(SRCS:%.md=%.tex)
-ALL=$(PDFS) $(HTMLS)
-
+ALL=$(PDFS) $(HTMLS) index.html
all: $(ALL)
-%.pdf: %.md
+index.html: $(SRCS) index.html.build
+ echo $(IMAGES)
+ sh ./index.html.build > index.html
+
+%.pdf: %.md $(IMAGES)
$(PANDOC) $(PANDOCFLAGS) --latex-engine=xelatex --variable lang=french $< -o $@
-tex: $(TEXS)
%.tex: %.md
$(PANDOC) $(PANDOCFLAGS) --latex-engine=xelatex --variable lang=french $< -o $@
@@ -25,6 +28,10 @@ tex: $(TEXS)
.PHONY:
+tex: $(TEXS)
+
clean:
- rm -f $(PDFS) $(HTMLS) $(TEXS) $(SRCS:%.md=%.aux) $(SRCS:%.md=%.log) $(SRCS:%.md=%.out) $(SRCS:%.md=%.toc)
+ rm -f index.html $(PDFS) $(HTMLS) $(TEXS) $(SRCS:%.md=%.aux) $(SRCS:%.md=%.log) $(SRCS:%.md=%.out) $(SRCS:%.md=%.toc)
+publish: $(ALL)
+ rsync -av * doc.entrouvert.org:/var/vhosts/doc.entrouvert.org/web/supann/
diff --git a/documentation/architecture.md b/documentation/architecture.md
new file mode 100644
index 0000000..29e1f7a
--- /dev/null
+++ b/documentation/architecture.md
@@ -0,0 +1,124 @@
+% Gestion d'identités PSL -- Architecture technique
+% Entr'ouvert SCOP -- http://www.entrouvert.com
+
+Principes
+=========
+
+La solution SUPANN proposée ici comporte trois composants:
+
+* un serveur LDAP compatible SUPANN 2009 : `slapd` du projet OpenLDAP
+ accompagné d'outils d'aide à la configuration et à la gestion des données
+ SUPANN 2009.
+* un logiciel de gestion des données LDAP via le web : LdapSaisie,
+ pré-configuré pour se connecter à un annuaire SUPANN 2009
+* un fournisseur d'identité SAML 2.0 : Authentic2, pré-configuré pour
+ se connecter à un annuaire SUPANN 2009 et s'intégrer à une fédération
+ de type Renater.
+
+L'ensemble est prévu pour fonctionner sur une architecture Debian GNU/Linux 7
+(Wheezy).
+
+La solution utilise un maximum de composants fournis par le projet Debian,
+permettant de profiter de l'assurance qualité de ce dernier. Les développements
+propres à la solution visent à rendre l'ensemble des outils utilisés
+compatibles avec la norme SUPANN 2009 d'une part et avec la fédération Renater
+d'autre part.
+
+Multi-annuaire, méta-annuaire
+-----------------------------
+
+La solution est capable de gérer plusieurs bases (branches) de façon
+rigoureusement distinctes dans l'annuaire LDAP. Cela permet d'héberger
+plusieurs annuaires SUPANN sur une seule instance.
+
+Le serveur LDAP peut également être un méta-annuaire, celui-ci disposant alors
+de plusieurs branches chacune synchronisée avec un annuaire cible distant.
+
+
+Matériels et infrastructure requis
+=================================
+
+Chaque composant est destiné à être installé sur une machine dédiée.
+
+L'installation sur *machine virtuelle* est préconisée. Tous les composants
+fonctionnent sur n'importe quelle machine virtuelle compatible Debian 7
+(VMware, VirtualBox, kvm, etc).
+
+Configuration réseau commune
+----------------------------
+
+* Les machines doivent avoir accès à Internet, au moins DNS et HTTP, pour télécharger les paquets logiciels de la solution puis leur mise à jour;
+* Les machines doivent disposer d'entrées DNS, par exemple `ldap.example.net`, `ldapsaisie.example.net`, `authentic.example.net`
+* L'installation est plus simple sur un réseau piloté par *DHCP*.
+
+Serveur LDAP
+------------
+
+Caractéristiques minimales :
+
+* Processeur : Intel ou AMD64, *64 bits* (architecture nommée «amd64» pour Linux) 2 GHz monocoeur
+* Mémoire vive: 2 Go
+* Disque : 10 Go
+
+Réseau :
+
+* En entrée : accès LDAP (389/tcp)
+* En sortie : DNS, web (pour mises à jour)
+
+Note : il est possible d'instancier plusieurs serveurs LDAP qui opérerons en
+mode « _master-master_ ». Idéalement, aucun des serveurs n'étant prépondérant
+par rapport aux autres, ils doivent tous avoir la même configuration
+matérielle.
+
+Serveur interface de gestion du LDAP
+------------------------------------
+
+Caractéristiques minimales :
+
+* Processeur : Intel ou AMD64, *64 bits* (architecture nommée «amd64» pour Linux) 2 GHz monocoeur
+* Mémoire vive: 2 Go
+* Disque : 5 Go
+
+Réseau :
+
+* En entrée : accès HTTPS (443/tcp)
+* En sortie : LDAP vers le(s) serveur(s) LDAP de la solution, DNS, web (pour mises à jour)
+
+
+Serveur IdP
+-----------
+
+Caractéristiques minimales :
+
+* Processeur : Intel ou AMD64, *64 bits* (architecture nommée «amd64» pour Linux) 2 GHz monocoeur
+* Mémoire vive: 2 Go
+* Disque : 5 Go
+
+Réseau :
+
+* En entrée : accès HTTPS (443/tcp)
+* En sortie : LDAP vers le(s) serveur(s) LDAP, DNS, web HTTP et HTTPS (**chargement des métadonnées de fédération** et mises à jour logicielles)
+
+Schéma d'archicture technique
+=============================
+
+\ ![images/dat.png](images/dat.png)
+
+
+Documentations liées
+====================
+
+Documentation spécifique à certaines briques utilisées dans le cadre de ce projet:
+
+* Spécifications SUPANN : [https://services.renater.fr/documentation/supann/](https://services.renater.fr/documentation/supann/)
+* LdapSaisie (en français) : [http://ldapsaisie.easter-eggs.org/doc/all-in-one/LdapSaisie.html](http://ldapsaisie.easter-eggs.org/doc/all-in-one/LdapSaisie.html)
+* Authentic2 : [http://authentic2.readthedocs.org/en/stable/](http://authentic2.readthedocs.org/en/stable/)
+* OpenLDAP 2.4 : [http://www.openldap.org/doc/admin24/](http://www.openldap.org/doc/admin24/)
+
+-----
+
+Historique du document
+======================
+
+> 20150217 tnoel -- première version
+
diff --git a/documentation/images/dat.png b/documentation/images/dat.png
new file mode 100644
index 0000000..c748540
--- /dev/null
+++ b/documentation/images/dat.png
Binary files differ
diff --git a/documentation/index.html.build b/documentation/index.html.build
new file mode 100644
index 0000000..4c4467e
--- /dev/null
+++ b/documentation/index.html.build
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+cat << EOT
+<!DOCTYPE html>
+<html lang="fr">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Documentation</title>
+<link rel="stylesheet" type="text/css" media="all" href="http://www.entrouvert.com/static/eo/css/eo.css">
+<link rel="stylesheet" type="text/css" media="all" href="/skin/eo.css">
+</head>
+<body>
+<h1 id="logo">
+<a href="/"><img src="http://www.entrouvert.com/static/eo/img/logo.png" alt="Entr'ouvert"></a> SUPANN</h1>
+<dl class="doc-index">
+EOT
+
+for MD in architecture.md installation-base.md installation-ldap.md exploitation-ldap.md
+do
+ F=`basename $MD .md`
+ TITLE=`head -1 $F.md | sed 's/.*-- //'`
+cat << EOT
+<dt><a href="$F.html">$TITLE</a>
+ [<a href="$F.pdf">PDF</a>]</dt>
+<dd><p></p></dd>
+EOT
+done
+
+cat << EOT
+</body>
+</html>
+EOT