Google App Engine:如何定义机密系统属性

时间:2019-03-07 05:34:19

标签: spring spring-boot google-app-engine

我正在将SpringBoot应用程序部署到GAE,并希望设置一些系统属性以在我的application.yml文件中使用。其他云提供商(例如Azure或Heroku)允许我为每个应用程序定义系统属性,但是我找不到如何在GAE中执行此操作。我不希望源代码管理中的值包含密码。

我想具体做什么:

  • 在GAE上的某处添加系统属性MONGODB_URI
  • application.yml中引用它,如下所示:MONGODB_URI: ${MONGODB_URI}

对我来说,这似乎是一个非常标准的用例,但我对此一无所获。这些问题与同一件事有关:

我了解我可以创建实体并通过代码中的api访问它们。但是令我困扰的是,我需要为像这样的简单用例进行代码更改,并且应该有可能将一些秘密环境属性传递给容器。

1 个答案:

答案 0 :(得分:0)

您可以通过addind them in the appengine-web.xml将环境变量设置为Java 8 App Engine标准环境。

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

编辑:

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