如何在Google App Engine的app.yaml中引入外部Secrets配置文件?
Google App Engine 分离敏感配置到独立文件
Google App Engine 支持通过 includes 字段引入外部配置文件,完全可以实现将敏感信息从 app.yaml 分离到不纳入版本控制的 secrets.yaml 中,具体配置如下:
1. 调整 app.yaml 配置
将 includes 作为顶级配置项(不能嵌套在 env_variables 内),指定要引入的 secrets 文件:
env_variables: INSTANCE_CONNECTION_NAME: example-database-name includes: - secrets.yaml
2. 编写 secrets.yaml 文件
在同目录下创建 secrets.yaml,格式要和 app.yaml 一致,补充敏感环境变量:
env_variables: DB_USER: root DB_PASS: foobar DB_NAME: example_name
部署时,GAE 会自动合并两个文件的 env_variables 字段,最终环境变量会包含两部分的内容。
3. 确保 secrets.yaml 不被提交到仓库
在项目根目录的 .gitignore 文件中添加一行:
secrets.yaml
这样该文件就不会被纳入 Git 版本控制,避免敏感信息泄露。
注意事项
includes字段支持标准环境和灵活环境,主流运行时版本均兼容- 若
secrets.yaml在子目录,需填写相对路径(比如config/secrets.yaml) - 部署时确保
secrets.yaml和app.yaml在本地部署目录中存在
内容的提问来源于stack exchange,提问作者user1753782
相关产品推荐
相关产品推荐

