Projet

Général

Profil

Development #71506

api/rbac : faire que l’endpoint de synchronisation s’adapte aux permissions par OU de l’appelant

Ajouté par Paul Marillonnet il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
21 novembre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

C’est #71463 qu’on va faire étape par étape, endpoint par endpoint en jugeant de la nécessité pour chacun des endpoints qui obéissent encore à des permission globales et non pas par OU.
Ici ça me paraît nécessaire, l’endpoint doit pouvoir être appelable avec une permission 'custom_user.search_user' locale à une OU, sans pour autant faire de l’endpoint un oracle donnant des infos de validité des comptes d’autres OU pour lesquelles l’appelant n’a pas les permissions adéquates.


Fichiers


Demandes liées

Lié à Authentic 2 - Development #71463: api/rbac : au lieu d’une vérification booléenne sur une permission globale, filtrer automatiquement les querysets en fonction des permissions équivalentes par OU détenues par l’appelantNouveau18 novembre 2022

Actions
Lié à Authentic 2 - Development #71823: idp_oidc : faire que l’accès des clients OIDC à l’API se configure dans le BO via les écrans de configuration des clients d’APIRejeté29 novembre 2022

Actions

Révisions associées

Révision d542d33a (diff)
Ajouté par Paul Marillonnet il y a plus d'un an

api: make sync endpoint adapt to permissions by OU (#71506)

Historique

#1

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Lié à Development #71463: api/rbac : au lieu d’une vérification booléenne sur une permission globale, filtrer automatiquement les querysets en fonction des permissions équivalentes par OU détenues par l’appelant ajouté
#2

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Paul Marillonnet

J’ai un patche sous le coude, mais des ajouts récents à l’endpoint de synchro dans #67901 (WS keepalive) requièrent sans doute que des changements soient apportés ici, je regarde.

#3

Mis à jour par Paul Marillonnet il y a plus d'un an

Je n’aborde pas la partie client OIDC qui doit faire l’objet d’un ticket à part (qui d’ailleurs doit déjà exister dans la série de tickets sur le travail synchro initiée par #62710), car pour l’instant :

class OIDCUser:
    # […]
    def has_perm(self, *args, **kwargs):
        return True

    def has_perm_any(self, *args, **kwargs):
        return True

    def has_ou_perm(self, *args, **kwargs):
        return True

    def filter_by_perm(self, perms, queryset):
        return queryset

#4

Mis à jour par Paul Marillonnet il y a plus d'un an

Paul Marillonnet a écrit :

Je n’aborde pas la partie client OIDC qui doit faire l’objet d’un ticket à part (qui d’ailleurs doit déjà exister dans la série de tickets sur le travail synchro initiée par #62710), car pour l’instant :
[...]

Finalement pour la partie OIDC ce sera plutôt quelque chose de l’ordre du plan évoqué #71823-4, i.e. ne pas dupliquer la gestion des accès à l’API dans deux endroits différents du manage.
Ce patch ci reste cependant bon pour relecture.

#5

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Lié à Development #71823: idp_oidc : faire que l’accès des clients OIDC à l’API se configure dans le BO via les écrans de configuration des clients d’API ajouté
#6

Mis à jour par Benjamin Dauvergne il y a plus d'un an

C'est rouge, à rebaser.

#7

Mis à jour par Paul Marillonnet il y a plus d'un an

Benjamin Dauvergne a écrit :

C'est rouge, à rebaser.

Au temps pour moi, c’est en faisant un premier rebasage de ce commit que j’ai vu #72162, j’ai oublié de rebaser à nouveau une fois le bugfix passé. C’est chose faite, mes excuses.

#8

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée
#9

Mis à jour par Paul Marillonnet il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit d542d33af8c17c7077038ac3a9894e2ef153fd3a
Author: Paul Marillonnet <pmarillonnet@entrouvert.com>
Date:   Fri Nov 18 11:26:49 2022 +0100

    api: make sync endpoint adapt to permissions by OU (#71506)
#10

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#11

Mis à jour par Transition automatique il y a environ un an

Automatic expiration

Formats disponibles : Atom PDF