SAML
Authentification | Utilisateurs | Mot-de-passe |
✔ | ✔ | |
Présentation
LL::NG peut utiliser SAML2 pour obtenir l'identité et d'autres attributs definis dans le profil utilisateur défini chez son fournisseur d'identité (IDP). Dans ce cas, LL::NG agit comme un fournisseur de service SAML2 (SP).
Plusieurs IDPs peuvent être autorisés, dans ce cas l'utilisateur peut choisir l'IDP qu'il souhaite. Il est possible de pré-selectionner l'IDP par une règle de résolution.
Pour chaque IDP, il faut configurer les attributs à collecter. Certains peuvent être obligatoires, et s'ils ne sont pas retournés par l'IDP, la session n'est pas ouverte.
LL::NG can also act as
SAML IDP, that allows one to interconnect two
LL::NG systems.
Configuration
Service SAML
Authentification et base d'utilisateurs
Dans Paramètres généraux
> Modules d'authentification
, choisir :
Module d'authentification :
SAML
Module utilisateurs :
SAML
Enregistrer LemonLDAP::NG dans le fournisseur d'identité partenaire
Après avoir configuré le service SAML Service, exporter les metadatas vers le fournisseur d'identité partenaire.
Elles sont disponibles à l'URL EntityID, par défaut : http://auth.example.com/saml/metadata.
Enregistrer le fournisseur d'identité partenaire dans LemonLDAP::NG
Dans le Manager, selectionner le noeud Fournisseurs d'identité SAML
et cliquer sur Ajouter un IdP SAML
: Le nom d'IDP est demandé, entrer-le et cliquer sur OK.
Il faut enregistrer les métadatas de l'IDP ici. Ceci peut être fait soit en téléchargeant le fichier, soit en l'obtenant par l'URL de métadatas de l'IDP (à condition d'avoir un lien réseau entre le serveur et l'IDP):
On peut aussi éditer la métadonnée directement dans le champ textarea
Attributs exportés
Pour chaque attribut, on peut indiquer :
Nom de clef : nom de la clef dans la session LemonLDAP::NG (par exemple “uid” équivaut à $uid dans les règles d'accès)
Obligatoire : si activé, les sessions ne seront ouvertes que si l'attribut est fourni par l'IDP.
Nom: Nom de l'attribut
SAML.
Nom alternatif: optionnel, nom alternatif de l'attribut
SAML.
Format (optionnel) : format de l'attribut
SAML.
Options
Options générales
Règle de résolution : règle à appliquer pour pré-sélectionner cet IDP. You have access to all environment variable
(like user IP address) and all session keys.
For example, to preselect this IDP for users coming from 129.168.0.0/16 network and member of “admin” group:
$ENV{REMOTE_ADDR} =~ /^192\.168/ and $groups =~ /\badmin\b/
Requête d'authentification
Format du NameID : force le format du NameID (email, persistent, transient, etc.). Si aucune valeur n'est indiquée, le premier format de NameID activé dans les métadatas sera utilisé.
Authentification forcée : positionne le drapeau ForceAuthn dans la requête d'authentification
Authentification passive : positionne le drapeau IsPassive dans la requête d'authentification
Authentification proxy autorisée : autorise qu'une réponse d'authentification soit issue d'un autre IDP que celui enregistré (proxy IDP). En interdisant ceci, on risque d'interdire aussi les authentification directe des IDP car la restriction est indiquée dans la requête d'authentification.
Authentification depuis le fournisseur autorisée : autorise l'utilisateur à se connecter directement depuis un lien de l'IDP. Dans ce cas, l'authentification n'est pas une réponse à une requête d'authentification ce qui diminue les capacités de contrôle.
Contexte d'authentification demandé : ce contexte est déclaré dans la requête d'authentification. À la réception de la requête, le contexte d'authentification réel est traduit en un niveau d'authentification interne (voir
comment configurer la translation), utilisable pour accorder ou non la création de session.
Allow URL as RelayState: Set to On if the RelayState value sent by IDP is the
URL where the user must be redirected after authentication.
Session
Adaptation de la durée de vie de la session : la durée de vie de la session sera adaptée sur la base de la valeur de SessionNotOnOrAfter
dans les réponses d'authentification. Celà signifie que si l'IDP propose de clore la session au-delà de la durée de vie par défaut dans LemonLDAP::NG, la valeur de _utime sera modifiée afin que la session ne soit effacée qu'au moment indiqué par l'IDP.
Forcer l'UTF-8 : force la conversion UTF-8 des valeurs d'attributs collectées depuis l'IDP.
Store SAML Token: allows one to keep
SAML token (assertion) inside user session. Don't enable it unless you need to replay this token on an application.
Signature
Méthode
Si aucune méthode n'est définie, la méthode par défaut des métadatas de l'IDP sera utilisée.
Sécurité
Mode de chiffrement : fixe le mode de chiffrement pour cet IDP (None, NameID ou Assertion).
Check time conditions: set to Off to disable time conditions checking on authentication responses.
Check audience conditions: set to Off to disable audience conditions checking on authentication responses.