2013-04-04 4 views
3

Я создаю веб-приложение с помощью Node/Express/Angular/Mongo, и это мой первый опыт работы с облачным сервером. Rackspace предположил, что я разделяю свои услуги. Чтобы не казаться полным новичком перед клиентом, я обращаюсь к своим друзьям в StackOverflow :)Что означает «разделение услуг»?

Что именно это означает? Существует ли распространенная практика организации кода и экземпляров Mongo и Node для «отсечения»?

Мое краткое чтение по этому вопросу заставляет меня полагать, что это означает, что защитные меры, так что пользователь А не может помешать производительности или нюхать чувствительную информацию от пользователя B.

ответ

2

Это в основном убедившись, что информацию, которая обрабатывается только показанным людям, которые «должны его видеть», - задание свойств в объектах только тогда, когда они ДОЛЖНЫ быть установлены. Убедившись в том, что все находится на основе потребностей, и вы не отправляете больше данных, чем вам нужно, в разные места, такие как уровень кэша, журналы, сеанс пользователя и т. Д.

Хороший пример того, разделение будет иметь смысл - это страница, которая делает что-то вроде SELECT * FROM user WHERE id=123 и сохраняет это как $_SESSION['USER'][123] на странице, где пользователь просто хочет увидеть его загруженные фотографии или что-то в этом роде. В облачных вычислениях риск утечки информации выше, поэтому необходимо предпринять дополнительные шаги для защиты конфиденциальной информации.

Wiki на самом деле имеет очень хороший пример:

В вопросах, касающихся информационной безопасности, будь то государственные или частные сектора, раздробленность является ограничивающим доступ к информации лицам или другим лицам, которые имеют потребность в знайте это, чтобы выполнить определенные задачи. Концепция возникла при обработке секретной информации в военных и разведывательных приложениях. Основой для компартиментализации была идея о том, что, если меньше людей знают , информация о миссии или задаче, риск или вероятность того, что такая информация может быть скомпрометирована или попадет в руки , уменьшается. Следовательно, существуют различные уровни разминирования в пределах организаций. Тем не менее, даже если у кого-то есть самый высокий клиренс, определенная «разделенная» информация, идентифицированная кодовыми словами , относящаяся к определенным типам секретной информации, может по-прежнему быть , ограниченная определенными операторами, даже с более низкой общей защитой . Информация, отмеченная таким образом, называется кодовое слово. Одним из ярких примеров этого был секрет Ultra, , где были отмечены документы «Совершенно секретно»: «Совершенно секретно» обозначало уровень безопасности, а ключевое слово «Ultra» еще больше ограничило его читателей только теми, которые были очищены, чтобы читать «Ультра "документы. 1

Разделение услуг просто переносит эту концепцию в движущиеся части вашего приложения. Если слишком много частей движутся в одном месте, вы увеличиваете риск, если какая-либо из этих частей потерпит неудачу. Ваш серверный сервер, скорее всего, рекомендует вам иметь электронную почту на одном сервере, db на другом сервере, кеш на другом сервере и т. Д. Они зарабатывают больше денег, а ваше приложение «безопаснее», если любой из этих серверов опустится.