Google App Engine上的私有npm / git依赖项

时间:2015-01-13 15:12:15

标签: node.js git google-app-engine npm

我使用Google App Engine的新自定义运行时来开发一些应用程序,并且需要提升代码以作为依赖项提取。这些依赖项可以从私有npm存储库或私有git存储库添加。

如何设置我的GAE项目以使用此类私有存储库,而无需将敏感详细信息检入存储库本身? (Git和/或npm并不重要;更喜欢git。)

1 个答案:

答案 0 :(得分:1)

执行此操作的传统方法是在服务器上设置包含信用卡的文件。当您的应用需要信用时,它会读取文件并通过(假设)安全通道将其发送给需要检查它们的人。如果您在纯计算引擎上运行,那么拥有永久磁盘不是问题,但是您必须管理并启动实例以自行负载平衡。

考虑传统的持久性磁盘硬件 - 链接到运行时只是一个特定类的持久性数据存储,您可能会看到我要去的地方:访问您的GCS Bucket / Datastore /通过在项目的服务帐户中使用OAuth或在最后一种情况下使用Cloud SQL unix套接字的数据中心级安全性来保护Cloud SQL(所有这些都是一种持久性数据存储),确保无法访问信用卡除了你在存储之外的任何人。

比较:在传统示例中,包含信用卡的磁盘文件受到以下事实的保护:没有其他计算机可以在没有操作系统明确许可的情况下访问磁盘,操作系统必须故意配置为接受此类连接(然后你将实现某种授权/认证方案,以确保这种连接的安全性)。

OAuth2.0广泛用于Google云平台,可确保与实例的持久存储(无论您选择哪个)相同的连接,同时还提供强大的授权/身份验证方案。对于Cloud SQL,auth系统可以像您的用户名一样简单,并通过安全隧道传递。这个问题只是将信用从您的机器转移到运行时可以访问的地方。

所以,你可以:

......此时you can access the creds, wherever they're stored, from your managed VM