我正在使用无服务器框架,并且正在一次构建所有资源。我在AWS Cloudfront Viewer请求侧具有lambda @ edge函数,该函数需要访问cognito用户池ID。由于我无法将环境变量传递给lambda @ edge函数,因此我别无选择,只能在lambda @ edge函数中对用户池ID进行硬编码,至少可以这样说。但是事情变得更糟,在部署所有内容然后选择用户池ID并将其硬编码到函数中然后重新部署之前,我无法获得用户池ID。有更好的解决方案吗?
答案 0 :(得分:0)
您可以在AWS Parameter Store中外部化敏感信息。
与环境变量的主要区别在于它只能通过API调用使用。另一方面,它确实为您提供了很大的灵活性,可以根据需要在参数存储中更改值,并且保持Lambda函数不变。您还可以使用IAM角色控制对参数存储的访问,从而为您提供额外的安全保护。
您可以选中this tutorial以查看如何从AWS Parameter Store中存储/检索数据。