我正在使用 Node/Express/Angular/Mongo 构建一个 Web 应用程序,这是我第一次处理云服务器。Rackspace 建议我划分我的服务。为了在客户面前听起来不像个新手,我求助于 StackOverflow 的朋友 :)
这到底是什么意思?关于如何组织 Mongo 和 Node 的代码和实例以“划分”的常见做法?
我对该主题的简短阅读使我相信这意味着保护措施,因此用户 A 不能妨碍性能或嗅探用户 B 的敏感信息。
我正在使用 Node/Express/Angular/Mongo 构建一个 Web 应用程序,这是我第一次处理云服务器。Rackspace 建议我划分我的服务。为了在客户面前听起来不像个新手,我求助于 StackOverflow 的朋友 :)
这到底是什么意思?关于如何组织 Mongo 和 Node 的代码和实例以“划分”的常见做法?
我对该主题的简短阅读使我相信这意味着保护措施,因此用户 A 不能妨碍性能或嗅探用户 B 的敏感信息。
它本质上是确保您正在处理的信息仅显示给“需要查看它”的人 - 仅在必须设置对象时才在对象中设置属性。确保一切都在需要知道的基础上,并且您不会向缓存层、日志、用户会话等各个地方发送比您需要的更多的数据。
划分有意义的一个很好的例子是一个页面,它执行类似的操作SELECT * FROM user WHERE id=123
并将其存储为$_SESSION['USER'][123]
用户只想查看他上传的照片或其他内容的页面。在云计算中,信息泄露的风险更高,因此必须采取更多措施来保护敏感信息。
Wiki实际上有一个很好的例子:
在涉及信息安全的问题上,无论是公共部门还是私营部门,划分是限制为执行某些任务而需要了解信息的个人或其他实体访问信息。该概念起源于在军事和情报应用中处理机密信息。划分的基础是这样一种想法,即如果更少的人知道任务或任务的细节,那么这些信息可能被泄露或落入反对派手中的风险或可能性就会降低。因此,组织内部存在不同程度的许可。然而,即使某人拥有最高权限,某些“分隔”信息,由指代特定类型秘密信息的代码字识别,即使整体安全许可较低,也可能仍仅限于某些运营商。以这种方式标记的信息被称为是代码字分类的。一个著名的例子是 Ultra secret,其中文档被标记为“Top Secret Ultra”:“Top Secret”标记了它的安全级别,而“Ultra”关键字进一步将其读者群限制为仅允许阅读“Ultra”文档的人。1
服务的划分只是将这个概念带入应用程序的移动部分。如果太多零件在一个地方移动,那么如果这些零件中的任何一个发生故障,就会增加风险。您的服务器人员可能会建议您在一台服务器上使用电子邮件,在另一台服务器上使用数据库,在另一台服务器上使用缓存等。他们赚更多的钱,并且如果这些服务器中的任何一台出现故障,您的应用程序就会“更安全”。