Как сделать разграничение хранилищей файлов для разных клиентов в saas приложении?
Как сделать разграничение хранилищей файлов для разных клиентов в saas приложении? Клиент регистрируется на сайте и для него автоматически создается поддомен и отдельная база данных на сервере, на котором будут еще клиенты. Нужно, чтобы для каждого клиента выделялось какое-то место, но чтобы если вдруг взломают другого "соседнего" клиента, они никак не могли получить доступ к другим.
Это делается не так. Не надо рассчитывать что у вас будет один сервер. Используйте серверное шифрование с различными ключами шифрования для каждого клиента. Так, например, работает AWS S3 + AWS KMS. Или вообще используйте их ресурсы. Не мучайтесь
Спасибо за ответ! Я и не рассчитываю, что будет один сервер. Как раз и продумывается система, которую можно будет потом трансформировать на вырост. AWS не подходит по разным причинам. Одна из них — высокая стоимость, вторая — отклик для российского потребителя.
В десятки раз ниже чем это получится у тех кто попробует повторить хотябы близко. Отличный SLA по доступности и хранению, бесплатное шифрование, версионирование, безопасность, монитор и бла-бла-бла. И Lifecycle Policy. Чтобы понимать что это не дорого то Dropbox это обертка для AWS S3.
вторая — отклик для российского потребителя
А вот это совсем смешной аргумент. Сегодня все данные в принципе принято передавать через CDN. В случае AWS есть 2 стандартных подхода: AWS CloudFront, который еще и стоимость трафика ниже сделает, чем напрямую из S3, ну и CloudFlare тоже не забываем. Так или иначе какой-то CDN придется использовать