Sécurité au niveau des lignes (row-level security)
La sécurité au niveau des lignes, row-level security en anglais, est une fonction de base de données qui décide, ligne par ligne, quelles fiches un compte donné peut lire ou modifier, afin que la base elle-même, et pas seulement l’application, tienne les données d’un client à l’écart de celles d’un autre.
Pourquoi elle compte dans un logiciel partagé
Dans un logiciel utilisé par de nombreux hôtels à la fois, une même table contient des lignes appartenant à tous. Sans sécurité au niveau des lignes, la séparation repose sur chaque requête écrite par l’application, et un seul filtre oublié montre les clients d’un hôtel à un autre. Avec elle, la base applique la règle d’elle-même à chaque requête, et une requête qui oublie le filtre ne renvoie toujours rien de ce qu’elle ne devrait pas.
Ce qu’il faut demander à un fournisseur
La séparation est-elle imposée par la base de données ou seulement par le code de l’application ? Quelles tables couvre-t-elle ? Qui, chez le fournisseur, peut travailler sur plusieurs clients, et ses modifications sont-elles enregistrées ?
Où Wizorks la montre
Wizorks sépare les fiches de chaque hôtel par une sécurité au niveau des lignes imposée par la base de données elle-même : aucun hôtel ne voit les données d’un autre. L’équipe d’exploitation de Wizorks et nos tâches planifiées travaillent sur l’ensemble des hôtels, et les modifications faites par notre équipe sont consignées dans notre propre journal d’activité.