我是这个亚马逊无服务器架构的新手。
我创建了一个静态网站并托管在netlify上。网站上没有身份验证,因此一切都可公开访问(无登录/密码)。当用户单击按钮时,我调用lambda函数从S3存储桶下载文件。 这一切都很好。
但是,现在,请帮助我理解,如果这种架构是无服务器的,那就是' ,我在哪里存储api键来调用lambda函数? 我的意思是,我绝对不会在客户端存储api密钥,因为任何人都可以访问api密钥然后失败api密钥的目的。
我不想让lambda函数公开访问,因为任何人都可以使用浏览器开发工具获取地址来调用lambda函数并创建一个小程序来调用lambda函数一百万次,而且我会为此付出代价......
在经典应用程序中,我们曾经将密钥存储在服务器端,因此任何人都无法访问它们。我应该购买服务器只存储我的api密钥吗?那么,无服务器,真的没有服务器!
请分享您的想法
答案 0 :(得分:1)
您似乎正在寻找API Gateway - 这将允许您为Lambda函数创建一个可通过Web访问的端点,您可以使用自定义授权程序保护该端点(例如,要求有效的JWT到由授权用户传递。
您还可以使用API网关代理集成将路径参数或查询字符串参数等内容从Web请求传递到Lambda函数。