zappa:在哪里放置 aws 密钥和访问密钥?
zappa: where to put aws secret & access keys?
我正在尝试使用 zappa 在 aws lambda 和 api 网关中启动我的烧瓶应用程序。 flask 脚本需要一个单独的 aws 秘密和访问密钥(S3 和 dynamoDB 需要),与我用于执行 zappa 的不同。
我意识到我不能把它放在zappa_settings.json
,因为它们会被屏蔽。
那我应该把它们放在哪里呢?
如果您使用 Lambda 函数,最好不要在代码中使用 AWS 秘密和访问密钥。您应该修改 Lambda 函数的执行角色并添加访问 S3 和 DynamoDB 所需的权限。
但是如果您选择不使用 Lambda 函数的执行角色,您有很多选择来存储您的 AWS 秘密和访问密钥:
- 将它们存储在 Lambda 函数的环境变量中。 (不推荐)
- 将它们作为安全字符串存储在 AWS SSM Parameter Store 中。
- 将它们存储在 AWS Secrets Manager 中。
但我建议您修改 Lambda 函数的执行角色,并在您的案例 S3 和 DynamoDB 中添加访问任何 AWS 服务所需的权限。
我正在尝试使用 zappa 在 aws lambda 和 api 网关中启动我的烧瓶应用程序。 flask 脚本需要一个单独的 aws 秘密和访问密钥(S3 和 dynamoDB 需要),与我用于执行 zappa 的不同。
我意识到我不能把它放在zappa_settings.json
,因为它们会被屏蔽。
那我应该把它们放在哪里呢?
如果您使用 Lambda 函数,最好不要在代码中使用 AWS 秘密和访问密钥。您应该修改 Lambda 函数的执行角色并添加访问 S3 和 DynamoDB 所需的权限。
但是如果您选择不使用 Lambda 函数的执行角色,您有很多选择来存储您的 AWS 秘密和访问密钥:
- 将它们存储在 Lambda 函数的环境变量中。 (不推荐)
- 将它们作为安全字符串存储在 AWS SSM Parameter Store 中。
- 将它们存储在 AWS Secrets Manager 中。
但我建议您修改 Lambda 函数的执行角色,并在您的案例 S3 和 DynamoDB 中添加访问任何 AWS 服务所需的权限。