Isolation des projets

Un projet est un produit au sein de votre espace de travail : un site, une boutique, une app. Son contenu, ses utilisateurs, ses fichiers, ses clés API, ses secrets et ses domaines de connexion lui sont propres, et rien n'est partagé entre deux projets.

Une clé, un projet

Une clé API est créée dans un projet et ne sert que ce projet. La base de données refuse de stocker une clé publique ou secrète sans projet. Quand une requête arrive, le projet est lu dans l'enregistrement propre de la clé, jamais dans un en-tête, et une requête qui nomme un projet différent de celui de sa clé est refusée.

Un domaine d'API personnalisé ne change rien à cela. La clé sélectionne toujours le projet, et une clé présentée sur un domaine qui appartient à un autre projet est rejetée.

Membres de l'équipe limités à un projet

Un rôle accordé sur un projet ne compte que pour les lignes de ce projet. Un client qui a deux sites reçoit un octroi sur chacun, et rien de ce qu'il détient sur l'un n'atteint l'autre. La même personne peut être administratrice d'un projet et n'avoir aucun accès au suivant.

Les règles de ligne

Chaque table limitée à un projet porte l'id du projet à côté de celui de l'espace de travail, et sa politique exige que les deux correspondent à la session de l'appelant. Pour le contenu, les utilisateurs et les fichiers, la politique décide ensuite quelles lignes l'appelant peut voir. Pour la configuration, comme les hooks, les planifications et les domaines, la base de données garantit le confinement, et la permission de les modifier est vérifiée à l'arrivée de la requête.

Staging et production

Fóir n'a ni mode test ni second type de clé. Un environnement de staging est un second projet, avec ses propres données et ses propres clés, et un seul fichier de config peut déclarer les deux et les maintenir alignés.

Lire le détail

Le guide de l'authentification explique chaque type de clé, ce qu'elle peut détenir et comment une requête est rattachée à son projet.