Project

General

Profile

Actions

Développement #71506

closed

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

Added by Paul Marillonnet over 3 years ago. Updated over 3 years ago.

Status:
Fermé
Priority:
Normal
Category:
-
Target version:
-
Start date:
21 November 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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.


Files


Related issues 2 (1 open1 closed)

Related to Authentic 2 - Développement #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’appelantNouveauPaul Marillonnet18 November 2022

Actions
Related to Authentic 2 - Développement #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éPaul Marillonnet29 November 2022

Actions
Actions #1

Updated by Paul Marillonnet over 3 years ago

  • Related to Développement #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 added
Actions #2

Updated by Paul Marillonnet over 3 years ago

  • Status changed from Nouveau to En cours
  • Assignee set to 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.

Actions #3

Updated by Paul Marillonnet over 3 years ago

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

Actions #4

Updated by Paul Marillonnet over 3 years ago

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.

Actions #5

Updated by Paul Marillonnet over 3 years ago

  • Related to Développement #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 added
Actions #6

Updated by Benjamin Dauvergne over 3 years ago

C'est rouge, à rebaser.

Actions #7

Updated by Paul Marillonnet over 3 years ago

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.

Actions #8

Updated by Benjamin Dauvergne over 3 years ago

  • Status changed from Solution proposée to Solution validée
Actions #9

Updated by Paul Marillonnet over 3 years ago

  • Status changed from Solution validée to 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)
Actions #10

Updated by Transition automatique over 3 years ago

  • Status changed from Résolu (à déployer) to Solution déployée
Actions #11

Updated by Transition automatique about 3 years ago

Automatic expiration

Actions

Also available in: Atom PDF