gpt4 book ai didi

php - 如何保护容器即服务(caas)中的源代码和数据库结构?

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:29 25 4
gpt4 key购买 nike

容器即服务 (caas) 是我们周围经常听到的一个话题。但我在互联网上没有找到关于这个模型的一些困惑。

实际上,我们向客户提供的服务包含敏感数据(财务文件等)。因此,我们的一些客户犹豫是否与我们分享数据。

因此,他们需要 Docker 容器形式的解决方案。因此,在这种情况下,所有数据和我们的应用程序都将托管在他们自己的服务器中。我们将无法访问他们的数据。我们将按月向他们收费。

简而言之,我们需要将所有应用程序(源代码和数据库)作为黑盒交付到 Docker 容器中。因此,客户端只能通过网络与 docker 容器交互,但无法进入 docker 容器查看我们的源代码和数据库结构。

这就是为什么我对如何保护我们的源代码和数据库结构感到困惑。(源代码在 PHP 中,数据库是 PGSQL)

其次,我们如何将 Docker 容器的代码与更新的代码同步?

对此问题的任何帮助将不胜感激。

最佳答案

How can we secure our source code

使用未经简单反编译的编译语言(C++、Go)。如果您使用在容器中包含源代码的解释语言(Javascript、Python、Ruby),一旦客户端拥有图像的副本,他们就可以轻松运行它或以其他方式打开它并查看您的源代码。

and DB structure

除了保护数据库和应用程序代码之外,没有特定的方法可以做到这一点。任何可以连接到数据库的人都可以非常轻松地查询架构。

How can we sync that Docker container's code with updated code?

向客户发送一个新镜像,让他们删除现有容器并创建一个新容器。

这很重要,需要一些预先设计。当您执行此操作时,容器本地文件系统中的任何内容都将丢失,这意味着您永远不会在容器的本地文件系统中存储无法轻松重新创建的任何内容。您已经有一个数据库,因此计划将大部分实际数据保存在那里。如果生成日志,要么在进程的标准输出上生成它们(以便核心 Docker 日志系统可以收集它们),要么使用主机绑定(bind)安装目录将它们放在可以轻松查看的位置。

这也是 Kubernetes 等集群管理器使用的机制。您可以告诉 Kubernetes 部署 Controller 您想要镜像 me/abc:123 的 3 个副本。如果您随后告诉它您想要 me/abc:246 的 3 个副本,它将使用新镜像启动新容器,然后删除旧容器。

相反的是,您根本不需要考虑“同步代码”或以其他方式登录到容器,并且 docker ps 应该能够立即告诉您客户端正在运行的系统版本(通过特定的镜像标签)。

关于php - 如何保护容器即服务(caas)中的源代码和数据库结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54340497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com