Authentification externe et modération de compte

12 views
Skip to first unread message

François Van Der Biest

unread,
Jul 19, 2023, 4:28:41 AM7/19/23
to georchestra-dev
Bonjour,

Pour les besoins de la Métropole de Lille (MEL), nous travaillons sur l'intégration de geOrchestra avec des fournisseurs d'identité externes (MEL, France Connect, Google ...). 
Cela pose question, et c'est l'objet de ce message.

Petit rappel avant tout : geOrchestra a 2 modes de fonctionnement, selon le positionnement de la variable "moderatedSignup", que l'on trouve dans le dossier de configuration ("datadir") : : https://github.com/georchestra/datadir/blob/5695c77c7475dc18fe9b260a67f084d00107bb1b/console/console.properties#L103-L113

Si moderatedSignup = true (ce qui est la valeur par défaut), tout nouveau compte sur la plateforme doit faire l'objet d'une modération par un administrateur. C'est bien souvent à cette occasion que les droits sont distribués, sous la forme de rôles ajoutés à l'utilisateur.

Si moderatedSignup = false, tout compte créé sur la plateforme est immédiatement valide, et muni du rôle USER. Un email de notification est envoyé à l'administrateur, ce qui permet éventuellement de distribuer des droits a posteriori.

La connexion à des fournisseurs d'identité (IdP) externes (qui suppose la création d'un compte local "miroir", réceptacle des rôles) est l'occasion d'un questionnement sur ce mode de fonctionnement.
Doit on respecter le fonctionnement hérité de cette variable moderatedSignup y compris avec les IdP ?
Si je tente une reformulation : est-ce souhaitable que, si moderatedSignup = true, les personnes tentant une connexion à la plateforme avec leur compte Google ou France Connect soient arrêtés dans leur usage de la plateforme avec un message les invitant à attendre une validation humaine de leur accès ?

La question ne se pose pas pour la MEL, car c'est une plateforme opendata => tout compte sera validé automatiquement (moderatedSignup=false).

Si je tente une réponse à la question que j'ai posée, j'aurais envie de dire "ça dépend".
On pourrait avoir envie que tous les comptes en provenance d'un IdP soient considérés comme valides par défaut, tandis que les comptes en provenance d'un autre IdP nécessitent modération. Pour autant, je ne sais pas si c'est faisable.

Je suis bien preneur de vos avis sur la question.
Je n'ai pas lancé d'improvement proposal formel pour le moment, car cette question touche à un composant (la "gateway") que nous n'avons pas encore proposé au projet. Il le sera quand on aura validé le bon fonctionnement de toutes les applications avec la gateway.

Merci de vos retours !
F.

Fabrice Phung

unread,
Jul 20, 2023, 3:39:33 AM7/20/23
to georche...@googlegroups.com
Bonjour François, merci pour cette question qui doit être traitée un
jour ou l'autre.

Le raccordement à d'autres fournisseurs d'identité n'est qu'une question
de temps pour toutes les infrastructures. Ca résoud des problèmes pas
surmontables aujourd'hui (accès croisé aux données protégées) mais ça
améliore aussi le parcours utilisateur.

Si celui-ci bénéficie d'une authentification unique, alors il va
s'attendre à trouver le même comportement d'un service authentifié à
l'autre. La modération n'étant pas la règle générale sur les services
numériques ouverts aux publics, je pense qu'il faut penser
moderatedSignup=false par défaut, si l'on considère geOrchestra comme
étant un service numérique ouvrable aux publics (ce pour quoi il a été
conçu au départ).

Ce d'autant plus que geOrchestra sait proposer des parcours utilisateurs
variés. C'est le parcours le plus simple qui va fixer les règles de
modération.

Je ne sais pas pourquoi : on constate que les gens créent des comptes
même si ce n'est pas nécessaire pour accéder à une ressource. Peut-être
par réflexe ou mimétisme, ou parce que la persistance du profil
utilisateur (mes cartes) est pratique.

Cependant, le cas d'une IDG exclusivement privée existe. On souhaite
alors limiter les comptes, ne serait-ce que pour faciliter la gestion
quotidienne, réduire la charge de travail RGPD, ou éviter les comptes fake.

Ce pb de comptes fake est en fait celui des fournisseurs
d'authentification, pas celui de l'IDG. Si on fait confiance à un
fournisseur, alors on fait rentrer toute sa base de compte. Si j'ai une
identité FranceConnect, je m'attends à pouvoir accéder à un service qui
propose FranceConnect.

=> pour moi, et du point de vue utilisateur, une IDG acceptant un
fournisseur d'authentification accepte tous ses utilisateurs
(éventuellement filtrés par un rôle fourni par ce fournisseur). Le choix
est de faire confiance à tel ou tel fournisseur, et pas à tel ou tel
utilisateur.

=> en fait tu poses la question du consensus sur les fournisseurs
d'authentification. En France, autant on peut arriver à un consensus sur
France Connect, autant ce consensus ne sera pas atteignable avec google
& co. Dans un scénario où l'interdépendance entre IDG croît, les
authentifications google & co ne sont pas satisfaisantes car elles ne
sont pas acceptées par toutes les fonctions de l'IDG.

=> je comprends la modération lorsqu'elle régule la consommation de
ressources - par exemple la création de VM. Ce n'est pas le cas avec
geOrchestra, du moins pas avec un profil utilisateur simple. Donc le
"ménage" est plutôt affaire de règles à postériori, appliquées de façon
manuelle ou automatique.

Evidemment ceci est la position d'une IDG externe et plutôt opendata.



Le 19/07/2023 à 10:28, François Van Der Biest a écrit :
> Bonjour,
>
> Pour les besoins de la Métropole de Lille (MEL), nous travaillons sur
> l'intégration de geOrchestra avec des fournisseurs d'identité externes
> (MEL, France Connect, Google ...).
> Cela pose question, et c'est l'objet de ce message.
>
> Petit rappel avant tout : geOrchestra a 2 modes de fonctionnement,
> selon le positionnement de la variable "moderatedSignup", que l'on
> trouve dans le dossier de configuration ("datadir") : :
> https://github.com/georchestra/datadir/blob/5695c77c7475dc18fe9b260a67f084d00107bb1b/console/console.properties#L103-L113
>
> Si moderatedSignup = true (ce qui est la valeur par défaut), tout
> nouveau compte sur la plateforme doit faire l'objet d'une modération
> par un administrateur. C'est bien souvent à cette occasion que les
> droits sont distribués, sous la forme de rôles ajoutés à l'utilisateur.
>
> Si moderatedSignup = false, tout compte créé sur la plateforme est
> immédiatement valide, et muni du rôle USER. Un email de notification
> est envoyé à l'administrateur, ce qui permet éventuellement de
> distribuer des droits a posteriori.
>
> La connexion à des fournisseurs d'identité (IdP) externes (qui suppose
> la création d'un compte local "miroir", réceptacle des rôles) est
> l'occasion d'un questionnement sur ce mode de fonctionnement.
> *Doit on respecter le fonctionnement hérité de cette variable
> moderatedSignup y compris avec les IdP ?*
> Si je tente une reformulation : est-ce souhaitable que, si
> moderatedSignup = true, les personnes tentant une connexion à la
> plateforme avec leur compte Google ou France Connect soient arrêtés
> dans leur usage de la plateforme avec un message les invitant à
> attendre une validation humaine de leur accès ?
>
> La question ne se pose pas pour la MEL, car c'est une plateforme
> opendata => tout compte sera validé automatiquement
> (moderatedSignup=false).
>
> Si je tente une réponse à la question que j'ai posée, j'aurais envie
> de dire "ça dépend".
> On pourrait avoir envie que tous les comptes en provenance d'un IdP
> soient considérés comme valides par défaut, tandis que les comptes en
> provenance d'un autre IdP nécessitent modération. Pour autant, je ne
> sais pas si c'est faisable.
>
> Je suis bien preneur de vos avis sur la question.
> Je n'ai pas lancé d'improvement proposal formel pour le moment, car
> cette question touche à un composant (la "gateway") que nous n'avons
> pas encore proposé au projet. Il le sera quand on aura validé le bon
> fonctionnement de toutes les applications avec la gateway.
>
> Merci de vos retours !
> F.
> --
> --
> projet: http://www.georchestra.org/
>
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "georchestra-dev".
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> georchestra-d...@googlegroups.com.
> Cette discussion peut être lue sur le Web à l'adresse
> https://groups.google.com/d/msgid/georchestra-dev/CA%2BGZgzRCMkNbBV%3D2ABj2Yd7asNtqGdLBpWEuo%3DSqtCT%3DUZ%3Ddgw%40mail.gmail.com
> <https://groups.google.com/d/msgid/georchestra-dev/CA%2BGZgzRCMkNbBV%3D2ABj2Yd7asNtqGdLBpWEuo%3DSqtCT%3DUZ%3Ddgw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

Landry Breuil

unread,
Jul 20, 2023, 5:04:08 AM7/20/23
to georche...@googlegroups.com
Sur le fond, 100% d'accord avec ce que dit fabrice, et pourtant nous
utilisons la modération des comptes.

de manière plus concrète et prosaïque, il faut se poser la question en
ces termes (et ça en fonction des spécificités de chaque IDG):
"si j'ai un compte avec uniquement le rôle USER, qu'est-ce que je peux
faire sur l'IDG ?"

ce qui me vient en tete pour un georchestra 'bare' (testé rapidement sur
demo.georchestra.org en testuser):
- accéder a sa page de compte
- modifier ses informations personnelles (écrit dans le ldap)
- supprimer son compte (écrit dans le ldap)
- accéder au datafeeder ? (oui selon
https://github.com/georchestra/datadir/blob/master/security-proxy/security-mappings.xml#L32
?)
- créer des cartes dans mapstore (écrit dans la bdd)
- accéder aux cartes mapstore restreintes au rôle USER
- faire des demandes de reset de mdp (écrit dans la bdd)
- faire des fiches de MD ? (a priori non, mais suite a la question de
loic, je ne sais toujours pas si par défaut un utilisateur est éditeur
dans son organisme..)
- et j'en oublie.. pour nous au craig p.ex, l'accès a nextcloud est
restreint a un rôle DRIVE.

et c'est a ce stade qu'on peut faire le choix:
- si il y'a accès a 'trop de choses', alors restreindre ces accès a des
(nouveaux?) rôles (via security-mappings.xml?) avant d'ouvrir les vannes
- et si on est parano par défaut et qu'on accepte de rendre le parcours
utilisateur 'compliqué' (ou tout simplement ne pas afficher la
possibilité d'utiliser un IdP), rester sur de la modération

--
Landry Breuil
Reply all
Reply to author
Forward
0 new messages