Devenir admin

Problème

  1. Les administrateurs peuvent accéder involontairement à des parties confidentielles du forum.
  2. Ces accès non désirés ne sont pas enregistrés.
  3. Les administrateurs peuvent manquer une mauvaise configuration car leurs superpouvoirs leur cachent l’expérience normale.

Description de la fonctionnalité

Dans la même veine que la fonctionnalité Impersonating a user, un utilisateur ayant des privilèges d’administrateur devrait pouvoir devenir administrateur pour effectuer des tâches administratives uniquement lorsque cela est nécessaire.

Contrairement à la fonctionnalité d’usurpation d’identité, cette fonctionnalité ne devrait pas nécessiter de déconnexion pour retrouver les privilèges d’utilisateur normaux.

Cette fonctionnalité permettrait :

  1. aux administrateurs de naviguer sur le site en tant qu’utilisateur normal, partageant l’expérience quotidienne des autres utilisateurs ;
  2. d’empêcher les administrateurs d’accéder involontairement à des espaces privés du forum ;
  3. de sécuriser l’accès non autorisé à ces espaces privés avec un enregistrement réel de l’accès administrateur.

Le premier point est utile car l’expérience d’administrateur est très différente de l’expérience utilisateur, et les administrateurs peuvent ne pas être en mesure de comprendre les problèmes des utilisateurs (par exemple, liés à des autorisations incorrectes définies sur des catégories ou des groupes, etc.).

Le deuxième point peut être critique dans les cas où un groupe nécessite la confidentialité : cliquer sur un lien pourrait amener l’administrateur à outrepasser involontairement et à violer la confidentialité.

Le troisième point permettrait aux administrateurs d’être tenus responsables des accès non autorisés à des parties confidentielles du forum, alors qu’ils ne le sont actuellement pas du tout.

Comment cela pourrait-il fonctionner ?

  • L’escalade de privilèges ne devrait être disponible que pour les comptes d’administrateur réels ;
  • Le mode “Administrateur” pourrait être considéré comme un niveau de confiance supplémentaire (par exemple, niveau 5 [^l5]) ;
  • Revenir au mode “normal” reviendrait simplement à repasser au niveau de confiance (TL) précédent ;

Au lieu de donner une toute nouvelle “perspective d’administrateur”, le mode Administrateur pourrait ajouter une couche supplémentaire d’interface utilisateur :

  • mettre en surbrillance les liens qui ne fonctionnent que parce que vous êtes administrateur ;
  • mettre en surbrillance les catégories auxquelles vous n’avez accès que parce que vous êtes administrateur ;
  • mettre en surbrillance les appartenances à des groupes que vous pouvez voir parce que vous êtes administrateur (par exemple, si vous êtes membre du groupe avec un accès limité aux membres du groupe, la mise en surbrillance ne s’appliquerait pas) ;
  • mettre en surbrillance les informations que seuls les administrateurs peuvent voir.

[^l5] : Une référence au film de Chris Marker Level 5 dans lequel un programmeur informatique tente de terminer le jeu vidéo de son défunt mari sur la bataille d’Okinawa pour surmonter son deuil.

3 « J'aime »

Je pense que c’est similaire à

3 « J'aime »

Je vois comment c’est similaire, pourtant il y a des problèmes dans l’autre discussion qui se rapportent au problème ici :

Sauf que, lorsque vous êtes administrateur, vous n’avez aucun moyen de savoir qu’un lien vers une conversation confidentielle à laquelle vous n’auriez normalement pas accès est en fait hors limites. Ce n’est qu’un seul cas (qui nous est arrivé hier et m’a incité à créer ce sujet) où la non-séparation entre administrateur et participant peut être problématique.

De plus, je constate que l’équipe de Discourse a l’habitude d’être entièrement composée d’administrateurs, ce qui crée un superpouvoir horizontal, et n’aide pas, en tant que culture, à différencier l’usage normal de l’usage privilégié. Toutes les communautés ne sont pas horizontales, parfois les personnes techniques qui ont des privilèges d’administrateur ne devraient pas être considérées comme dignes de confiance pour tout sur le forum, et ce n’est pas un cas extrême : il est intégré dans les systèmes informatiques depuis le début que root peut tout voir et tout faire. Le privilège s’accompagne certainement de responsabilité, mais parfois la bienveillance ne suffit pas, surtout quand on ne peut pas distinguer ce qui est acceptable de ce qui est hors limites.

Bien que la solution “utiliser un autre profil de navigateur” pour gérer un compte normal et un compte d’administrateur ne soit pas très pratique, surtout alors que nous avons tous l’habitude d’avoir les outils à portée de main. Lancer un nouveau navigateur chaque fois qu’une fonctionnalité d’administrateur est nécessaire peut être très ennuyeux (tout le monde n’aime pas ni ne peut se permettre d’avoir des ressources inactives utilisées sur sa machine). Cela n’empêche pas non plus la situation du regard indiscret privilégié de BOFH (Bastard Operator From Hell) de se produire.

Les temps changent. Ici, nous avons un administrateur qui a accidentellement accédé à des informations confidentielles qui ont affecté la vie d’autres personnes, et il n’était pas censé le faire. C’est une violation de la vie privée. C’est un problème de sécurité.

Je comprends la complexité potentielle, mais le problème principal demeure et devrait probablement être résolu d’une manière ou d’une autre. À mon avis, il serait utile de réexaminer la question maintenant que la base de code a mûri, et d’évaluer si l’approche proposée serait réalisable.

Oui ! Avoir des avertissements et des garde-fous concernant ce genre de problèmes (d’intrusion) serait utile.


Sur les plugins existants :

Je préférerais une séparation vraiment nette entre participant et administrateur en utilisant la métaphore classique et bien connue de sudo, pour toutes les raisons énoncées ci-dessus.

1 « J'aime »

Je suis d’accord que le mécanisme sudo - sous Windows, la boîte de dialogue Contrôle de compte d’utilisateur - est un bon moyen pour un compte d’avoir le potentiel d’agir en tant qu’administrateur, mais sans en avoir toujours la capacité.

Sur l’un de mes forums, l’approche que j’utilise est d’avoir une connexion administrateur, mais j’utilise généralement « Impersonate User » pour me connecter en tant que compte normal en permanence. Lorsque j’ai besoin d’agir en tant qu’administrateur, je me déconnecte et me reconnecte. Cela implique deux comptes.

Un avantage de deux comptes est que lorsque je publie ou commente avec mon compte normal, je n’apparais pas comme une personne puissante et importante. (Parfois, commenter en tant qu’administrateur sera interprété comme une déclaration officielle ou une action de police. Cela dépend de la culture et des attentes du lecteur.)

1 « J'aime »

Puisque cette fonctionnalité, si elle finit par être implémentée (n’oubliez pas de voter pour elle !), prendra du temps avant de se concrétiser, nous envisageons d’utiliser deux comptes. Cela signifie : convertir les comptes existants en comptes normaux. Voici ce que cela devrait impliquer (j’essaierai de modifier ce post, ou d’en faire un wiki afin de maintenir une documentation à jour couvrant les mises en garde)…

:warning: non testé pour le moment : tout cela est théorique, sorti de mon chapeau.

Conversion d’un compte administrateur Discourse existant en compte utilisateur normal

Puisque nous ne voulons pas perdre l’historique et « l’expérience du forum » du compte d’origine, nous devons procéder avec prudence avant de supprimer les privilèges d’administrateur.

Étant donné l’utilisateur moi avec l’e-mail moi-original@email.example.

Premier cas : compte admin dans DISCOURSE_DEVELOPER_EMAILS

Si l’e-mail du compte admin fait partie de DISCOURSE_DEVELOPER_EMAILS, il ne peut pas être rétrogradé en compte normal.

  1. Créez un nouveau compte qui deviendra admin, par exemple, moi2 avec l’e-mail moi-original+admin@email.example.
  2. Depuis moi, accordez les privilèges d’administration au nouveau compte moi2.
  3. Modifiez app.yml (ou web_only.yml si vous utilisez la configuration à double conteneur) pour remplacer moi-original@email.example par moi-original+admin@email.example et reconstruisez le conteneur.
  4. Depuis moi2, rétrogradez le compte d’origine moi.

Vous avez maintenant un compte utilisateur normal avec toute votre expérience (moi) et un nouveau compte réservé à l’administration (moi2) : allez à « Après-coup ».

Deuxième cas : compte admin promu à partir d’un utilisateur normal

C’est plus simple, car vous pouvez rétrograder cet utilisateur sans avoir à reconstruire le conteneur.

  1. Créez un nouveau compte qui deviendra admin, par exemple, moi2 avec l’e-mail moi-original+admin@email.example.
  2. Depuis moi, accordez les privilèges d’administration au nouveau compte moi2.
  3. Depuis moi2, rétrogradez le compte d’origine moi.

Vous avez maintenant un compte utilisateur normal avec toute votre expérience (moi) et un nouveau compte réservé à l’administration (moi2) : allez à « Après-coup ».

Après-coup

Auparavant, vous aviez un seul compte utilisateur avec des privilèges d’administrateur : vous receviez des notifications pour les mises à niveau système, examiniez les drapeaux, et pouviez accéder à toutes les zones, y compris celles que vous n’êtes pas censé voir (par exemple, les messages privés des utilisateurs s’ils ne sont pas chiffrés) ou les catégories réservées à des groupes dont vous ne faites pas partie. Tout cela a disparu ! Désormais, vous devez vous connecter régulièrement à votre compte admin pour faire tout ce que vous aviez l’habitude de faire depuis votre compte utilisateur/admin unique (ce qui est une autre raison pour laquelle la fonctionnalité proposée est utile). Vous devez prendre cette discipline pour ouvrir les deux comptes en même temps si vous souhaitez des notifications d’administration en direct (par exemple, en utilisant un onglet privé dans Firefox, ou l’équivalent pour d’autres navigateurs web).

Mises en garde

Vous ne devriez pas utiliser votre compte admin pour autre chose que l’administration.

Ne naviguez pas dans les discussions lorsque vous êtes admin ! Ce temps est perdu pour la progression de votre propre niveau de confiance, et vous ne savez jamais quand vous pourriez cliquer sur un lien qui vous est interdit en tant que personne.

Si vous lisez quelque chose en étant connecté à votre compte admin qui vous amène à réagir, soit basculez vers votre onglet utilisateur normal et naviguez vers l’URL d’origine, soit, si votre utilisateur normal n’a pas accès à cette section : oubliez-la immédiatement (sauf, bien sûr, si vous devriez réagir avec votre casquette d’admin).

Vous devriez configurer votre compte admin pour qu’il ait une apparence différente

Changez votre avatar pour vous assurer de ne jamais confondre votre compte admin et votre compte utilisateur normal. Rendez votre profil invisible. Changez votre image de fond ou votre thème, votre nom pour inclure « ADMIN » ou quelque chose comme « CE COMPTE NE PUBLIE PAS », etc. Assurez-vous simplement que vous n’avez pas envie d’être tenté de publier avec votre compte admin, jamais.

Vous devriez configurer votre compte admin pour filtrer les notifications

À FAIRE : détailler cette section

Vous devriez configurer votre compte admin pour désactiver toutes les notifications par e-mail (sauf si vous voulez recevoir de telles notifications, par exemple pour éviter d’avoir à garder un onglet admin ouvert en permanence) ET vous devez être capable de distinguer clairement celles qui vous sont destinées en tant que personne, ou pour votre rôle d’admin.

Vous voudrez probablement être notifié sur votre bureau pour attraper les drapeaux et les messages importants.

Que faire avec la catégorie staff et les chuchotements ?

Oui, vous tombez sur un problème encore plus compliqué avec l’utilisation de deux comptes séparés pour la participation en tant qu’admin et en tant qu’utilisateur normal. Parfois, vous devez interagir sur le forum en tant qu’admin. C’est probablement inévitable. Essayez de ne pas devenir schizophrène, et essayez de minimiser vos interventions staff autant que possible. Veuillez rapporter vos tactiques pour gérer ce problème ardu, et motivez toute l’équipe d’administration de Discourse à implémenter cette fonctionnalité. :wink:

Avantages de la solution à deux comptes

  1. Séparation nette entre la participation et l’administration (en quelque sorte)
  2. Vous ne pouvez pas faire d’erreurs depuis votre compte normal
  3. Toutes vos actions d’administration sont correctement enregistrées
  4. En tant qu’utilisateur, vous expérimentez le forum comme n’importe quel autre utilisateur, vous pouvez donc facilement attraper les problèmes de permission
  5. Si vous publiez par inadvertance en tant qu’ admin alors que vous aviez l’intention de publier en tant que vous-même, vous pouvez changer la propriété à votre autre compte (mais cela va un peu à l’encontre de l’idée d’avoir deux comptes).

Donc, les administrateurs seront des utilisateurs normaux ou des TL4, mais pourront activer le « mode administrateur » pour utiliser les fonctionnalités spéciales d’administration ?
Si oui, qu’est-ce qui empêche les administrateurs de le laisser toujours activé ?

2 « J'aime »

C’est une note intéressante. Y a-t-il un moyen de réduire l’écart - permettre à un groupe de contrôler la diffusion des notifications, sans le contenu ? « Il y a des messages signalés » « Il y a un message en attente » « Votre installation est obsolète »

1 « J'aime »

Voici une idée : le rôle d’administrateur ne peut pas publier dans une catégorie ou un fil public, ne peut pas aimer un message.

2 « J'aime »

Cela signifie également que le compte pourrait être ignoré comme un utilisateur normal. Nous ne recevrions les mises à jour nécessaires de l’administrateur que si nous voulions les ignorer.
Vraiment génial :+1:t2:

1 « J'aime »