我正在编写一个连接到 DynamoDB 的无服务器应用程序。
目前我正在从 json 文件中读取访问密钥 ID 和安全访问密钥。
我将使用 Jenkins 进行 CI 并且需要一种方法来保护这些密钥。
我要做的是将密钥设置为环境变量并在应用程序中读取它们。但问题是我不知道每次启动 lambda 函数时如何设置环境变量。
我读过有一种方法可以在 serverless.yml 文件中配置它,但不知道如何。
如何做到这一点?
问问题
570 次
2 回答
3
不要使用环境变量。使用附加到您的 lambda 函数的 IAM 角色。AWS Lambda 代表您担任该角色,并在您的函数运行时将凭证设置为环境变量。您甚至不需要自己阅读这些变量。所有 AWS 开发工具包都会自动读取这些环境变量。
于 2018-08-30T12:47:08.597 回答
1
有一个很好的无服务器安全指南,除其他主题外,它也涵盖了这一主题。它类似于 OWASP 前 10 名:
通常,最佳实践是使用 AWS Secrets Manager 和 SSM 参数存储。
于 2018-09-14T17:39:52.483 回答