我正在尝试使用 zappa 在 aws lambda 和 api 网关中启动我的 Flask 应用程序。 Flask 脚本需要一个单独的 aws key 和访问 key (S3 和 dynamoDB 需要),与我用于执行 zappa 的 key 不同。
我意识到我不能将其放入 zappa_settings.json
中,因为它们会被阻止。
那我应该把它们放在哪里?
最佳答案
如果您使用 Lambda 函数,最佳实践是不要在代码内使用 AWS key 和访问 key 。您应该修改 Lambda 函数的执行角色并添加访问 S3 和 DynamoDB 所需的权限。
但是,如果您选择不使用 Lambda 函数的执行角色,您有多种选择来存储您的 AWS key 和访问 key :
- 将它们存储在 Lambda 函数的环境变量中。 (不推荐)
- 将它们作为安全字符串存储在 AWS SSM Parameter Store 中。
- 将它们存储在 AWS Secrets Manager 中。
但我建议您修改 Lambda 函数的执行角色,并添加访问您的案例 S3 和 DynamoDB 中的任何 AWS 服务所需的权限。
关于zappa:在哪里放置 aws secret 和访问 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64940495/