aws-lambda - 如何仅将我的 AWS lamda 锁定到我的 echo 设备
问题描述
我正在尝试编写一个新的回声(Alexa)技能,其中有一个 AWS lamda 调用来进行处理。但是我希望 lamda 只能被我的回声设备访问。其他设备即使知道 arn 也应该无法访问 lamda。
要设置哪些参数来实现这一点?
解决方案
据我所知,deviceId
当你禁用和重新启用你的技能时,你的意志会改变。
每项技能都有一个独特之处applicationId
,您将在您的技能的每个请求中收到它。在继续进行任何处理之前,您可以在您的 Lambda 代码中验证此 ID。
"application": {
"applicationId": "amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxxxxxx"
},
您的 Echo 设备不会直接访问 Lambda 函数,而是您的技能会触发您的 Lambda 函数并将在其请求中包含一个deviceId
和。applicationId
如果有人获得了您的 ARN,即使他们制作了另一种技能,他们也不会通过您applicationId
在 Lambda 中的检查。
推荐阅读
- css - Styling a form with flexbox -- labels overflowing nested flexbox divs
- bootstrap-4 - 更改悬停在导航栏品牌 img 上的颜色
- c# - 如何使此代码更实用或更“漂亮”
- c++ - C ++中的算术溢出添加2个DWORD
- xml - 从 CSV Laravel-Excel 导出到 XML
- python - 禁止 (403) CSRF 验证失败。请求中止。登录页面不工作
- sql - 在 SQL 中对 3 列进行分组时连接第 4 列
- javascript - 更新路线中的位置状态不会反映在父组件上
- bootstrap-4 - 试图让无效反馈在引导程序中工作
- linux - 如何为 http 到 https 配置自签名到 localhost?