У меня есть платформа SaaS, над которой я работаю;написано на PHP и использует базу данных MySQL (с использованием класса PHP PDO).
Приложение уже функционирует, и я решил использовать отдельную базу данных для каждого экземпляра.
Одна из причиндля использования нескольких баз данных необходимо убедиться, что данные клиента отделены (и, как мы надеемся, защищены).Это также позволяет нам легко перенести их экземпляр в локальную версию.
Безопасность - это всегда то, о чем я беспокоюсь.Я хочу убедиться, что эта система настолько безопасна, насколько это возможно, до ее запуска.
В настоящее время мы используем одно имя пользователя и пароль MySQL, которые имеют доступ ко всем базам данных (в этой конкретной ферме MySQL).
Теоретически, если было нарушение безопасности, то злоумышленник мог бы получить доступ к другой базе данных (имя пользователя и пароль не установлены после установления соединения PDO / базы данных, но он мог бы выполнить запрос, такой как «использовать базу данных B»).).
Меня это должно беспокоить?Например, платформа SaaS, которая просто использует разбиение базы данных, уже менее безопасна, так как простая ошибка SQL может раскрыть данные клиента.
Я уже начал изучать использование разных имен пользователей и паролей базы данных, но она добавляет кСложность платформы SaaS и простота - всегда хорошая идея.
Спасибо!
Я решил использовать разные имена пользователей и пароли для каждого экземпляра.
Это еще один уровень безопасности, который не может повредить.