使用 AWS_IAM 的 AWS API 网关方法身份验证

时间:2021-01-28 08:31:09

标签: amazon-web-services api aws-api-gateway amazon-iam

我已经创建了一个 API 网关并添加了 AWS_IAM 以进行授权。我已经启动了一个附加了以下角色的 EC2 实例,

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "execute-api:Invoke"
            ],
            "Resource": [
                "arn:aws:execute-api:ap-south-1:123456789123:abcd12345/*/*/myresource"
            ]
        }
    ]
}

当我尝试对 API 网关端点执行 CURL 时,请求失败并显示 403 和消息“缺少身份验证令牌”。

在 API Gateway 中是否不能使用具有 IAM 授权的角色?

1 个答案:

答案 0 :(得分:0)

这是可能的,但常规 curl 不会使用 AWS 凭证创建签名请求。您需要签订此类签名并使用该签名调用您的 API 端点。

如果您使用 python,则可以在您的实例上使用 aws-requests-auth 执行此操作。