Security 具有高度敏感数据的web应用程序的最佳体系结构

Security 具有高度敏感数据的web应用程序的最佳体系结构,security,architecture,3-tier,Security,Architecture,3 Tier,我必须设计一个包含医疗信息的web应用程序。只有组织的工作人员需要在办公室和外出时访问数据。VPN已经就位。内部部署服务器管理外包给一家对运行web服务器知识有限的公司。尽管如此,客户还是非常担心将任何数据放到云上 构建应用程序(Angular、Python后端、数据库)以保护数据的最佳方式是什么 这些是我以前考虑过的选项: 将所有东西都放在防火墙后面,用户将可以使用VPN登录。赞成:最安全。缺点:他们的主机将不会像云中的东西那样便宜和高效 在云中托管Angular应用程序,并在本地托管Pyth

我必须设计一个包含医疗信息的web应用程序。只有组织的工作人员需要在办公室和外出时访问数据。VPN已经就位。内部部署服务器管理外包给一家对运行web服务器知识有限的公司。尽管如此,客户还是非常担心将任何数据放到云上

构建应用程序(Angular、Python后端、数据库)以保护数据的最佳方式是什么

这些是我以前考虑过的选项:

  • 将所有东西都放在防火墙后面,用户将可以使用VPN登录。赞成:最安全。缺点:他们的主机将不会像云中的东西那样便宜和高效
  • 在云中托管Angular应用程序,并在本地托管Python后端和数据库。Angular应用程序可以使用静态IP,位于后端顶部的防火墙可以过滤所有不来自该IP的流量,从而在用户身份验证的基础上提供安全性。优点:前端更改更容易部署,无需使用VPN即可访问,托管问题更少,数据库密码永远不会到达云端。缺点:对于在这方面经验有限的公司来说,在本地托管后端仍然是一个问题
  • 使用静态IP在云中托管Angular应用程序和Python后端。数据库是本地的,防火墙过滤所有不是来自Python后端的流量。优点:部署更简单,托管更便宜、更可靠。Con:数据库连接的密码位于云中

  • 可以理解的是,尽管AWS、Azure、GCP等标准供应商提供的云基础设施现在已经变得非常安全,但一些公司仍然不愿意将其数据放到云上,或者他们可能受到法律条款的约束,因此无法将其数据放到云上。在这些情况下,一般做法是完全在本地运行,由一个团队管理web服务器。另一种选择是使用docker compose部署本地云解决方案,其中应用程序和数据库的docker映像托管在docker hub的私人帐户或本地的私人docker注册表中。但是,仍然需要有人设置和管理docker compose环境。如果使用这种方法,只要客户准备好迁移到云,这将是一个简单的迁移。希望这有意义。

    谢谢。我对Docker不太熟悉,也从未听说过Docker Hub。当你说部署本地云解决方案时,你的意思是在本地托管docker映像吗?如果它在Docker Hub上,它会再次出现在云中,对吗?