Swaloo Docs
Marchands

Isolation multi-tenant

Comment Swaloo garantit qu'un marchand ne voit que ses propres données.

Isolation multi-tenant

Le module Marchand de Swaloo repose sur une isolation stricte : un marchand ne doit jamais voir les expéditions, profils ou statistiques d'un autre marchand, ni le reste des données de l'organisation. Cette isolation est appliquée à deux niveaux : les permissions sur le profil marchand et les règles de sécurité sur les expéditions.

Permissions sur le profil marchand

L'accès à un profil marchand est arbitré par deux permissions :

PermissionCodeRôle
VoirMERCHANT_VIEWConsulter un profil marchand
ModifierMERCHANT_EDITModifier un profil marchand

Ces permissions sont décidées selon le rôle et l'appartenance à l'organisation :

RôleMERCHANT_VIEWMERCHANT_EDIT
Super administrateurToujoursToujours
Administrateur d'organisationSur les marchands de son organisationSur les marchands de son organisation
DispatcherSur les marchands de son organisationNon
MarchandSur son propre profil uniquementSur son propre profil uniquement

La première barrière est l'appartenance à l'organisation : si l'utilisateur et le marchand n'appartiennent pas à la même organisation, l'accès est refusé d'emblée (sauf super administrateur). Un marchand est ensuite restreint à son propre profil.

Isolation des expéditions

Les règles de sécurité des expéditions garantissent qu'un marchand n'accède qu'à ses propres expéditions. Une expédition est rattachée à un marchand via son champ merchant.

Lorsqu'un utilisateur a le rôle ROLE_MERCHANT, l'accès à une expédition est conditionné à la fois à la présence d'un marchand sur l'expédition et à la permission MERCHANT_VIEW sur ce marchand :

  • Lecture d'une expédition (collection et détail) : autorisée pour un marchand seulement si l'expédition a un marchand et que MERCHANT_VIEW est accordé sur ce marchand.
  • Modification d'une expédition : autorisée pour un marchand seulement si l'expédition a un marchand, que MERCHANT_EDIT est accordé, et que l'expédition n'est pas dans un état terminal.

Comme MERCHANT_VIEW / MERCHANT_EDIT ne sont accordés à un marchand que sur son propre profil, un marchand ne peut consulter ni modifier que les expéditions qui lui sont rattachées. Le filtre de recherche par merchant permet par ailleurs de restreindre les listes d'expéditions à un marchand donné.

Toutes ces opérations exigent également la permission de fonctionnalité FEATURE_MERCHANT. Sans le module activé sur le forfait, l'accès marchand n'est pas disponible, quelles que soient les permissions individuelles.

Voir aussi : Vue d'ensemble du module Marchand | Gérer les marchands

Isolation multi-tenant | Documentation Swaloo