谷歌应用引擎:如何定义秘密系统属性

4
我正在将一个SpringBoot应用部署到GAE,并希望设置一些系统属性,以便在我的application.yml文件中使用。像Azure或Heroku这样的其他云提供商允许我为每个应用程序定义系统属性,但我无法找到如何在GAE中实现此目的。因为这些属性包含密码,所以我不希望将其放在源代码控制中。
我具体想做的事情是:
  • 在GAE的某个位置添加一个系统属性MONGODB_URI
  • application.yml中使用引用,例如:MONGODB_URI: ${MONGODB_URI}
对我来说,这似乎是一个非常标准的用例,但我找不到任何(令人满意的)资料。以下问题涉及相同的问题: 我知道我可以创建实体并通过代码中的API访问它们。但我认为需要为这样一个简单的用例进行代码更改有些麻烦,应该可以传递一些秘密环境属性给容器。
1个回答

0

您可以通过将它们添加到appengine-web.xml来设置Java 8应用引擎标准环境的环境变量。

<env-variables>
  <env-var name="MONGODB_URI" value="MONGODB_URI_VALUE" />
</env-variables>

编辑:

如果您不想在源代码或App Engine配置文件中硬编码密钥,建议的方法是使用Cloud Key Management ServiceCloud Storage将秘密存储在Google Cloud Platform中。


我在问题中应该更清楚地表达,但重点是我不想在源代码控制中保存值(因此需要“秘密”环境变量)。 - enp4yne
感谢澄清,我已经更新了我的答案。 - llompalles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接