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

AWS EventBridge规则调用API Gateway报403:NO_PERMISSIONS错误排查

EventBridge调用Regional API Gateway返回403权限错误的排查方案

问题背景

  • 已部署Regional类型的API Gateway,通过IAM凭证可从外部应用正常调用,测试验证有效
  • 配置EventBridge固定速率规则(每2分钟触发),目标指向API的api-id/prod/*/healthCheck,ARN格式为arn:aws:execute-api:region:account:api-id/prod/*/healthCheck,临时给EventBridge服务角色赋予管理员权限
  • 所有调用失败,DLQ显示返回403权限错误,已排除私有端点限制问题

具体排查与修复步骤

  1. 修正EventBridge目标的ARN格式
    EventBridge调用API Gateway时,目标ARN必须指定具体的HTTP方法,不能使用通配符*。正确的ARN格式为:

    arn:aws:execute-api:<region>:<account-id>:<api-id>/<stage>/<http-method>/<resource-path>
    

    例如你的healthCheck是GET接口,ARN应调整为:

    arn:aws:execute-api:region:account:api-id/prod/GET/healthCheck
    
  2. 检查API Gateway资源策略
    即使给了管理员权限,API Gateway自身的资源策略可能会限制访问。需添加允许EventBridge服务调用的规则:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "events.amazonaws.com"
          },
          "Action": "execute-api:Invoke",
          "Resource": "arn:aws:execute-api:<region>:<account-id>:<api-id>/prod/GET/healthCheck"
        }
      ]
    }
    

    替换匹配你环境的region、account-id、api-id和HTTP方法。

  3. 验证EventBridge服务角色的信任关系
    确认服务角色的信任策略允许EventBridge扮演该角色:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "events.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  4. 核对IAM权限的资源范围
    管理员权限虽宽泛,但需确保execute-api:Invoke权限的资源范围覆盖目标API的具体路径,避免因资源匹配不精确导致的隐含拒绝。

  5. 查看CloudWatch日志定位细节
    手动触发EventBridge规则后,在CloudWatch的EventBridge日志组中查看调用的请求参数、签名信息和返回详情,能精准定位是路径不匹配、签名错误还是权限策略的问题。


内容的提问来源于stack exchange,提问作者A Simple Programmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:22:58