保护 Google App Engine 上的源代码/IP

Protect source code / IP on Google App Engine

我有一个场景,客户想要在他自己的 Google 云租户上托管我在 App Engine 上编写的应用程序。 鉴于客户当然是其租户的管理员,即使似乎不再支持/弃用 appcfg.py download_app,仍然可以通过 Cloud Debugger 或直接访问 Cloud Storage Buckets 下载源代码。

所以问题是 a) 有没有办法防止这种情况(我想没有,如果客户有管理员访问权限就没有)或 b) 有解决这个问题的任何建议/最佳实践方法吗?

我认为您无法完全阻止这种情况的发生。我相信你能做的最好的事情就是删除简单下载的路径。

  1. 当您运行 gcloud app deploy 使用默认设置时,您的源代码将转到staging.<appid>.appspot.com。这些文件将默认保留 15 天,然后才会被删除,除非您更改设置。

  2. 您可以从该暂存存储桶(或您用于暂存的任何存储桶)中删除内容。这将阻止管理员使用 gsutil cp 命令下载文件。

  3. 即使您不从暂存存储桶中删除文件,那里的文件也会列出它们的编码文件名,因此 运行ning gsutil cp 命令仍然需要稍后查找找出相应的人类可读文件名以及文件夹路径,因为文件不是使用您上传的目录结构存储的。除非您使用工具,否则这是一项乏味的工作。此 blog article from us 提供了此场景的详细说明(项目符号 1 - 3)和用于从暂存存储桶自动下载的工具。

  4. 即使您已从暂存存储桶中删除了文件,此人仍然可以转到 ``` 管理控制台 > 版本 > 查看源代码并查看上传的源代码。要下载,他们必须手动打开每个文件,复制内容并保存。这是很多工作。