Aller au contenu

Droits et groupes

Les droits s’accordent à des groupes, jamais à des personnes une par une. Un niveau posé sur un projet, une base ou une table descend sur tout ce qui est dessous, y compris ce qui sera créé plus tard.

NiveauPermet
Aucun accèsrien : la ressource est invisible
Lecturevoir les lignes, les commenter, se faire des vues personnelles, consulter la structure et les tableaux de bord, poser et enregistrer ses propres questions, écrire du SQL en lecture seule et enregistrer ses requêtes personnelles
Éditionet créer, modifier, supprimer des lignes
Gestionet changer la structure, créer les vues partagées et les tableaux de bord, partager un tableau de bord par un lien, partager des questions et des requêtes, créer des vues SQL, les automatisations, les intégrations et les jetons ; son SQL a toute la base, écritures comprises

Les droits s’additionnent : une personne reçoit le niveau le plus élevé que lui donne l’un de ses groupes. Donner moins à une table qu’à sa base la rend « granulaire ».

Deux groupes existent toujours : Administrateurs, qui gèrent tout, et Tous les utilisateurs, dont chaque compte fait partie — ce qu’on lui accorde, tout le monde l’a.

Sous la grille des niveaux, Champs masque une colonne à un groupe, ou la rend non modifiable pour lui. L’écran montre aussi ce qu’une personne donnée voit réellement, et par quel groupe.

Un champ masqué est absent partout : de la grille, des vues, de l’API, du MCP, de l’historique, du SQL écrit dans l’interface et des vues SQL. Filtrer ou trier sur lui répond comme pour un champ qui n’existe pas.

À côté de Champs, Lignes ne montre à un groupe que certaines lignes d’une table : celles que retient un filtre, écrit comme celui d’une vue. @moi désigne la personne connectée :

  • commercial eq @moi — chaque commercial ne voit que ses clients ;
  • region in ["nord", "est"] — une équipe ne voit que ses régions ;
  • _created_by eq @moi — chacun ne voit que ce qu’il a créé.

Les droits s’additionnent : une personne voit les lignes de tous ses groupes, et un groupe sans règle les voit toutes. Qui gère la structure de la table — le niveau Gestion — voit toujours tout. L’écran dit combien de lignes voit une personne donnée, et par quel groupe.

Une ligne hors de sa règle n’existe pas pour la personne : ni dans les vues, les tableaux de bord, la recherche, l’API, le MCP ou l’historique, ni pour être modifiée, supprimée ou liée. Une ligne qu’elle crée doit faire partie des siennes ; en modifiant une ligne, elle peut en revanche la faire sortir de son périmètre — une tâche confiée à un collègue. Les réponses aux formulaires partagés arrivent toujours.

Dans l’interface, le SQL suit les mêmes droits, appliqués par PostgreSQL lui-même : sans le niveau Gestion, une requête s’exécute en lecture seule, sur un rôle propre à la personne, où une table fermée n’existe pas, un champ masqué est refusé et seules ses lignes sont lues, que la table soit nommée seule ou avec son schéma. Une vue SQL se lit avec les droits de qui la lit, et partager une requête ne partage que son texte.

Un accès psql direct à la base, lui, n’est pas gouverné par basedb : il lit tout, champs masqués compris. Les restrictions protègent les surfaces du produit — interface, API, MCP —, jamais contre quelqu’un qui détient un accès SQL à la base ; ces accès se règlent par des GRANT PostgreSQL, posés par l’exploitant. Une table qui porte une règle de lignes a la sécurité par ligne de PostgreSQL activée : un rôle créé pour un outil tiers n’y voit aucune ligne, sauf s’il a l’attribut BYPASSRLS ou sa propre politique.

  • Un compte se crée avec un mot de passe temporaire, montré une fois et à changer à la première connexion.
  • La connexion se fait par mot de passe ou par un fournisseur OpenID Connect déclaré par l’exploitant.
  • Les actions d’administration demandent une session élevée : un mot de passe retapé dans les cinq dernières minutes.
  • Les sessions se révoquent ; révoquer une session invalide aussitôt ses jetons d’accès.

Paramètres, dans le menu du profil en bas à gauche, ne concerne que vous :

OngletCe qu’on y fait
Profille nom affiché ; l’adresse de connexion ; les fournisseurs d’identité liés au compte, à lier ou délier
Sécuritéchanger le mot de passe ; les sessions ouvertes, à fermer une à une ou toutes
Apparencela langue de l’interface ; le thème ; l’ordre des dates — 25/09/2026 ou 2026-09-25 — et le premier jour de la semaine des calendriers
Notificationsles natures de notification dont vous ne voulez plus
Jetonsles jetons d’intégration que vous avez créés, sur toutes vos bases, leur dernier usage, et leur révocation

basedb parle vingt langues : français, anglais, allemand, espagnol, italien, portugais (Brésil), néerlandais, polonais, tchèque, suédois, danois, norvégien, finnois, roumain, hongrois, turc, ukrainien, japonais, chinois simplifié et coréen. Par défaut, l’interface prend la langue de votre navigateur ; Langue, dans Apparence, en fixe une autre. Les nombres et les dates suivent la langue choisie.

Un lien peut aussi demander une langue : ?lang=de au bout d’une adresse de basedb montre en allemand l’écran de connexion, un formulaire, une vue ou un tableau de bord partagés. C’est ainsi que le site mène à la démo dans la langue de la page. Une fois connecté, basedb suit votre compte : la langue choisie dans Apparence, sinon celle du navigateur.

Le thème reste propre au navigateur ; la langue, l’ordre des dates et le premier jour de la semaine vous suivent d’un poste à l’autre. Changer d’adresse ou lier un fournisseur demande une session élevée ; un compte sans mot de passe, qui se connecte par un fournisseur, garde l’adresse de ce fournisseur.

Toutes les surfaces — interface, API, MCP, formulaires et vues partagés, automatisations — passent par le même point de décision des droits, dans le noyau. Il n’existe pas de route privée de l’interface : ce que l’écran n’affiche pas, c’est que l’API ne l’a pas renvoyé.

L’inverse vaut aussi : l’écran ne propose pas ce qui serait refusé. Sans le niveau Gestion, l’écran Structure se consulte sans bouton ni crayon, et l’import ne propose pas de créer une table ; sans le droit de créer ou de supprimer des lignes, la grille n’offre ni ligne d’ajout ni « Supprimer ».

basedb est un logiciel libre d’Eodia, studio de logiciel IA-natif.