В ответ на общий вопрос «является ли разделение баз данных законной мерой безопасности», изоляция действительно является известным и полезным инструментом для обеспечения безопасности. Перевесит ли его преимущества его недостатки (как правило, дополнительную сложность), очень сильно зависит от ситуации, и я не знаю ответа в случае вашей системы.
Предположим, например, что кто-то хотел построить аналитическое приложение поверх ваших данных. Было бы очень полезно, чтобы данные картографирования полностью не отображались. Если приложение аналитики нарушено, информация о сопоставлении не подвергается риску.
Отвечая на некоторые комментарии ниже, даже в конкретном случае вашей системы, это не предрешено, что «нарушение системы» означает нарушение всех баз данных одновременно. Предположим, что злоумышленник использует уязвимость SQL-инъекции в вашем приложении. Если данные сопоставления являются отдельными и защищенными (скажем, дополнительные элементы управления кодом, который обращается к сопоставлениям), то изоляция может быть разницей между раскрытием неассоциированных и связанных данных.
Не утверждая, что это хороший дизайн для вашей системы. Просто пытаюсь объяснить различные виды обоснования, которое может пойти в этом.
Я использую ту же стратегию изоляции в аналогичной ситуации. «Базы данных» в моем случае - это хранилища конфигурации. Вся конфигурация preprod идет в одном репо, а производственная конфигурация идет в отдельном репо. Все разработчики имеют доступ к предварительному репо, но только инженеры по выпуску имеют доступ к репо. Смысл в том, что мне нужна глубокая защита: хотя я, безусловно, мог бы реализовать контроль доступа к отдельным папкам репо, я бы предпочел сделать рабочую конфигурацию просто недоступной по сети для всех неавторизованных сотрудников.