【发布时间】:2021-11-16 07:22:40
【问题描述】:
尝试部署到开发站点的应用引擎,并希望在 app.yaml 中简单地包含 GCP 凭据。
是否有可能包含凭据而不是链接到另一个文件?
env_variables:
...
GOOGLE_APPLICATION_CREDENTIALS: './credentials/service-account.dev.json'
我尝试了很多方法,但似乎次佳选择是设置 Secret Manager 以避免这种情况。
【问题讨论】:
-
1) 您根本不需要指定服务帐户。使用分配给 App Engine 的服务帐号。然后,您的代码可以使用 ADC 从元数据中获取凭据。 cloud.google.com/appengine/docs/standard/python/service-account 2) 从不,我再说一遍,永远不要在 app.yaml 中嵌入凭据 3) Google Cloud SDK 客户端内置了对 ADC 的自动支持。 4)您不需要设置 Secret Manager 来存储服务帐户凭据(鸡和蛋,您需要凭据才能访问 Secret Manager)。一旦您拥有初始凭据,Secret Manager 就是一个很好的机密产品。
-
嘿约翰,谢谢你,是的,我已经阅读了该页面以及这一页面:cloud.google.com/appengine/docs/standard/python/… 所以我应该专注于更改我的默认 AE 服务的
permissions?我找不到这方面的任何说明。 -
通常,您会考虑角色。角色将权限捆绑在一起。分配给 App Engine 的服务帐户与其他任何服务帐户一样。使用 CLI 或 Google Cloud GUI 编辑角色分配。我提供的链接详细介绍了如何更改服务帐户权限。此链接还通过附加页面解释了默认服务帐户是什么。 cloud.google.com/iam/docs/service-accounts#default
标签: google-app-engine google-cloud-platform yaml google-cloud-storage