You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Alexa技能中发送MQTT消息遇权限问题求助

解决Alexa技能Lambda发送MQTT消息的ForbiddenException问题

问题根源

你遇到的ForbiddenException是因为运行Alexa技能的Lambda函数对应的IAM角色没有iot-data:Publish权限,导致无法调用AWS IoT Data服务的Publish接口。另外要注意:Alexa开发者控制台只负责技能的交互配置,Lambda的权限管理要到AWS主控制台操作,这就是你找不到入口的原因。

解决步骤

1. 定位Lambda的执行角色

  • 打开AWS控制台,进入「Lambda」服务,找到你的Alexa技能绑定的Lambda函数
  • 切换到「配置」标签页,点击左侧菜单的「权限」,找到「执行角色」栏的ARN链接,点击跳转到IAM角色详情页

2. 添加IoT发布权限策略

  • 在IAM角色页面,切换到「权限策略」标签,点击「添加权限」→「创建内联策略」
  • 选择「JSON」编辑模式,粘贴以下策略(替换eu-west-1为你的AWS区域,你的AWS账号ID替换成实际账号ID;如果需要更宽松的topic权限,可将esp32/sub改为esp32/*):
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iot-data:Publish",
            "Resource": "arn:aws:iot:eu-west-1:你的AWS账号ID:topic/esp32/sub"
        }
    ]
}
  • 点击「下一步」,给策略命名(比如AlexaIoTPublishPermission),完成保存

3. 验证修复效果

重新触发Alexa技能的相关操作,查看CloudWatch日志,确认ForbiddenException是否消失。

内容的提问来源于stack exchange,提问作者jaster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 07:37:13