亚马逊无服务器真的没有服务器吗?存储API密钥的位置

时间:2018-03-21 10:42:51

标签: rest amazon-web-services serverless

我是这个亚马逊无服务器架构的新手。

我创建了一个静态网站并托管在netlify上。网站上没有身份验证,因此一切都可公开访问(无登录/密码)。当用户单击按钮时,我调用lambda函数从S3存储桶下载文件。 这一切都很好。

但是,现在,请帮助我理解,如果这种架构是无服务器的,那就是' ,我在哪里存储api键来调用lambda函数? 我的意思是,我绝对不会在客户端存储api密钥,因为任何人都可以访问api密钥然后失败api密钥的目的。

我不想让lambda函数公开访问,因为任何人都可以使用浏览器开发工具获取地址来调用lambda函数并创建一个小程序来调用lambda函数一百万次,而且我会为此付出代价......

在经典应用程序中,我们曾经将密钥存储在服务器端,因此任何人都无法访问它们。我应该购买服务器只存储我的api密钥吗?那么,无服务器,真的没有服务器!

请分享您的想法

1 个答案:

答案 0 :(得分:1)

您似乎正在寻找API Gateway - 这将允许您为Lambda函数创建一个可通过Web访问的端点,您可以使用自定义授权程序保护该端点(例如,要求有效的JWT到由授权用户传递。

您还可以使用API​​网关代理集成将路径参数或查询字符串参数等内容从Web请求传递到Lambda函数。