如何在 Fargate 上的 AWS ECS 环境中存储 GOOGLE_APPLICATION_CREDENTIALS?
How to store GOOGLE_APPLICATION_CREDENTIALS in an AWS ECS environment on Fargate?
我们有一个 API 应用程序使用 Firebase Admin 向设备发送消息。
早些时候,我们曾经使用 GOOGLE_APPLICATION_CREDENTIALS="path_to_file.json" 等环境变量来指定服务帐户密钥。
但是现在,由于我们正在转移到 Fargate 上的 AWS Elastic Container Service,我无法弄清楚如何将这个文件放入 AWS ECS 的容器中。
非常感谢任何建议。
谢谢
甚至比使用拥有自己 downsides 的环境变量更好,您可以利用 AWS Parameter Store,这是一种在 AWS 环境中管理机密的安全方式(其中机密在传输和静止时都被加密) ).
您需要为 Amazon ECS 创建一个 IAM 角色,您的代码才能访问 Parameter Store。
我建议改为 purpose-built 用于存储机密的 AWS Secrets Manager。看看他的博客 post:
通过将服务密钥存储为 JSON 字符串化环境变量并使用 admin.credential.cert()
而不是 defaultAppCredentials 解决了这个问题。
参考:https://firebase.google.com/docs/reference/admin/node/admin.credential#cert
我们有一个 API 应用程序使用 Firebase Admin 向设备发送消息。 早些时候,我们曾经使用 GOOGLE_APPLICATION_CREDENTIALS="path_to_file.json" 等环境变量来指定服务帐户密钥。 但是现在,由于我们正在转移到 Fargate 上的 AWS Elastic Container Service,我无法弄清楚如何将这个文件放入 AWS ECS 的容器中。
非常感谢任何建议。
谢谢
甚至比使用拥有自己 downsides 的环境变量更好,您可以利用 AWS Parameter Store,这是一种在 AWS 环境中管理机密的安全方式(其中机密在传输和静止时都被加密) ).
您需要为 Amazon ECS 创建一个 IAM 角色,您的代码才能访问 Parameter Store。
我建议改为 purpose-built 用于存储机密的 AWS Secrets Manager。看看他的博客 post:
通过将服务密钥存储为 JSON 字符串化环境变量并使用 admin.credential.cert()
而不是 defaultAppCredentials 解决了这个问题。
参考:https://firebase.google.com/docs/reference/admin/node/admin.credential#cert