About 6mn to read

Être SuperAdmin n'est pas obligatoire pour les Web Services. Et ce, depuis 2020. Pour le vérifier, vous pouvez vous référer à cette pull request de George Wilson Pull request 29649

Mais alors comment faire pour bien configurer notre site Joomla préféré?
Nous pourrions plutôt suivre ces 5 étapes pour donner le moins de permissions et privilèges que possible. Seulement le stricte minimum requis. D'où le "Principe du Moindre Privilège" très connu et l'un des principes fondamentaux de la cybersécurité défensive "Blue Team". 




1. Créer un groupe utilisateur Joomla appelé Web Service
2. Assignez un utilisateur specifique à ce groupe, par exemple api-lecture-seule-001
3. Configurez le plugin  jeton utilisateur et ajouter le groupe utilisateur  Web Service.
4. Configurez le groupe utilisateur Web Service pour qu'il ait la permission API Login
5. Pour les permissions supplémentaires, et pour mimer un système  RBAC (Contrôle d'Accès Basé sur les Rôles) nativement avec Joomla, vous pourriez associer un groupe specifique à un ensemble de permissions mutuellement exclusives. (Ceci a été expliqué de façon très détaillée et clairement dans la conférence de Randy CAREY à la JWC 16 Joomla World Conference 2016 qui est toujours d'actualité aujourd'hui, vu que, pour le moment le système de permissions du noyau de Joomla n'a pas trop changé depuis. Joomla World Conference 2016 - Randy Carey talk - RBAC with Joomla)
 
Dans notre exemple, ce serait l'utilisateur api-lecture-seule-001 dans le  groupe  Web Service et  le groupe Registered afin de pouvoir ce connecter en Frontend et obtenir son  Jeton API Joomla dans son profil utllisateur.

Pour  le moment, on ne peut pas créer ce jeton de façon complèment automatisée et programmable directement via un point d'API, par exemple POST /api/v2/auth/token ou en mode console, avec un commande qui serait rajoutée au noyau de Joomla, par exemple user:auth:token pour demander un jeton ephémère aux permissions fines.


VIDEO

Vidéo sur la chaine YouTube Api Adept avec Mr Alexandre J-S William ELISÉ qui présente API Joomla! SANS être Super Admin : Principe du moindre privilège

  • À propos de l'auteur:

    Salut! C'est Alex,

    Développeur Joomla depuis 2009, plus précisément les Web Services à partir de 2017,

    d'abord dans Joomla! 3 avec jBackend et aussi com_api

    Plus récemment utiliser les Web Services natifs du noyau de Joomla!.

    J'aime les livres papier, les projets innovants et la cybersécurité défensive "Blue Team".

    Vous pouvez: