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

API Gateway DELETE请求遇InvalidSignatureException:IAM认证失败求助

排查IAM认证的DELETE请求失败问题

我帮你梳理几个常见的排查方向,应该能解决你这个DELETE请求IAM认证失败的问题:

1. 补全请求核心配置

从你给出的代码片段来看,首先要确认两个关键配置:

  • 明确设置请求方法:一定要加上httpRequest.method = 'DELETE',默认的AWS.HttpRequest不会自动设置为DELETE,这是很容易遗漏的点。
  • 修正host头部:不要带https://前缀,应该写成bo5o2odxxx.execute-api.ap-south-1.amazonaws.com,带协议前缀会导致签名不匹配,直接被API Gateway拒绝。

2. 确保签名流程完整

你只创建了HttpRequest实例,还需要完成签名和请求发送的完整流程,参考示例代码:

// 先确保已获取当前Cognito用户的有效凭证(比如通过Amplify Auth或者AWS.CognitoIdentityCredentials)
const credentials = await Auth.currentCredentials();

// 初始化请求(注意修正host和method)
const httpRequest = new AWS.HttpRequest(
  "https://bo5o2odxxx.execute-api.ap-south-1.amazonaws.com/wrhprod/" + uri,
  "ap-south-1"
);
httpRequest.method = "DELETE";
httpRequest.headers.host = "bo5o2odxxx.execute-api.ap-south-1.amazonaws.com";

// 完成V4签名
const signer = new AWS.Signers.V4(httpRequest, "execute-api");
signer.addAuthorization(credentials, new Date());

// 发送请求(这里用fetch举例)
try {
  const response = await fetch(httpRequest.endpoint.href, {
    method: httpRequest.method,
    headers: httpRequest.headers,
    // 如果DELETE请求带请求体,一定要在这里和HttpRequest中都设置body,否则签名会不匹配
  });
  // 处理响应逻辑
} catch (err) {
  console.error("请求失败:", err);
}

3. 校验IAM权限策略准确性

  • 确认附加到Cognito用户组的IAM角色,权限策略的资源ARN完全匹配你的DELETE路由,格式要严格对应:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:ap-south-1:你的AWS账号ID:bo5o2odxxx/wrhprod/DELETE/你的资源路径"
    }
  ]
}

注意ARN的结构:arn:aws:execute-api:区域:账号ID:API ID/阶段/HTTP方法/资源路径,任何部分(比如阶段名、资源路径)不匹配都会导致权限被拒。

  • 检查角色是否有权限边界限制,有时候权限边界会覆盖你附加的允许策略,导致权限不足。

4. 查看API Gateway访问日志定位根因

去API Gateway控制台的对应阶段开启访问日志,日志里会明确给出拒绝原因:比如InvalidSignatureException(签名错误)、AccessDeniedException(权限不足),这是最直接的排查依据。

5. 确认Cognito凭证有效性

  • 确保你获取的是当前登录用户的最新有效凭证,过期的accessKey/secretKey/sessionToken会导致签名无效。如果用Amplify,可以用Auth.currentCredentials()实时获取,避免使用缓存的过期凭证。

内容的提问来源于stack exchange,提问作者Gary Vernon Grubb

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:27:51