Amazon web services 如何在Fargate上的AWS ECS环境中存储GOOGLE_应用程序_凭据?

Amazon web services 如何在Fargate上的AWS ECS环境中存储GOOGLE_应用程序_凭据?,amazon-web-services,environment-variables,amazon-ecs,google-authentication,firebase-admin,Amazon Web Services,Environment Variables,Amazon Ecs,Google Authentication,Firebase Admin,我们有一个API应用程序,使用Firebase Admin向设备发送消息。 前面,我们使用环境变量指定服务帐户密钥,如GOOGLE\u APPLICATION\u CREDENTIALS=“path\u to\u file.json”。 但现在,由于我们正在Fargate上转向AWS弹性容器服务,我无法确定如何将此文件放入AWS ECS的容器中 非常感谢您的建议 感谢甚至比使用有自己的环境变量更好,您可以利用AWS参数存储,这是一种安全的方式来管理AWS环境中的机密(其中机密在传输和静止时都被加

我们有一个API应用程序,使用Firebase Admin向设备发送消息。 前面,我们使用环境变量指定服务帐户密钥,如GOOGLE\u APPLICATION\u CREDENTIALS=“path\u to\u file.json”。 但现在,由于我们正在Fargate上转向AWS弹性容器服务,我无法确定如何将此文件放入AWS ECS的容器中

非常感谢您的建议


感谢

甚至比使用有自己的环境变量更好,您可以利用AWS参数存储,这是一种安全的方式来管理AWS环境中的机密(其中机密在传输和静止时都被加密)

您需要为Amazon ECS创建IAM角色,以便代码能够访问参数存储


您可能想查看这篇文章:

我建议改为使用专门为存储机密而构建的AWS Secrets Manager。看看他的博客:


通过将服务密钥存储为JSON字符串化环境变量解决了这个问题&使用
admin.credential.cert()
而不是defaultAppCredentials。
请参阅:

您是否建议将整个json作为一个秘密值?我们已经将AWS Secrets Manager用于其他环境变量,但正如上所建议的,GOOGLE_应用程序_凭据需要是一个文件路径。在映像已经生成之后,我应该如何放置新文件?只要您将其保持在Secrets Manager配额内,那么这样做就不会有问题。()通过将服务密钥存储为环境变量解决了这个问题&使用admin.credential.cert()而不是defaultAppCredentials。参考: