Мультитенантная архитектура экономит ресурсы и упрощает обновления, но любая ошибка определения клиента способна превратить обычный дефект в серьезную утечку чужих данных.
Выберите изоляцию
Сравните общие таблицы, отдельные схемы и базы по риску, масштабу, стоимости и требованиям клиента. Универсального варианта нет.
Передавайте контекст
Определяйте tenant из доверенного токена, проверяйте его на каждом слое и не принимайте идентификатор из формы без авторизации. Дублируйте защиту.
Ограничьте влияние
Задайте квоты, справедливые очереди, отдельные ключи, аудит и возможность восстановить одного клиента. Шумный сосед не должен мешать.
Автоматизируйте тесты межклиентской утечки для чтения, записи, поиска, экспорта и фоновых задач, а выбранную модель обязательно пересматривайте при появлении регулируемых данных, крупных клиентов или новых требований к восстановлению.
Права стройте по принципу наименьших привилегий. Журнал аудита храните отдельно.