问题描述
我们有一个使用Firebase Admin将消息发送到设备的API应用。 之前,我们曾经使用环境变量(例如GOOGLE_APPLICATION_CREDENTIALS =“ path_to_file.json”)来指定服务帐户密钥。 但是现在,由于我们要转移到Fargate上的AWS Elastic Container Service,我无法弄清楚如何将该文件放入AWS ECS的容器中。
任何建议都值得赞赏。
谢谢
解决方法
我建议使用专门为存储机密而构建的AWS Secrets Manager。看看他的博客文章:
,比使用具有自己的downsides的环境变量更好,您可以利用AWS Parameter Store,这是一种安全的方法来管理AWS环境中的机密(机密在传输和静态时都被加密)。
您需要为Amazon ECS创建一个IAM角色,以便您的代码可以访问参数存储。
,通过将服务密钥存储为JSON字符串化环境变量并使用admin.credential.cert()
而不是defaultAppCredentials解决了该问题。
请参阅:https://firebase.google.com/docs/reference/admin/node/admin.credential#cert