API 网关无权承担 EC2 实例提供的角色

API Gateway does not have permission to assume the provided role for EC2 instance

我正在为部署在 ec2 实例中的 API 使用 AWS API 网关。我已经在 AWS 中使用 IAM 为其创建了角色,并添加了所有权限,如下所示。但是在测试 api 时我收到了这个错误 API Gateway does not have permission to assume the provided role.

信任实体

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

根据评论。

对于 API 网关可以承担的角色,需要使用 apigateway.amazonaws.com 主体:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "apigateway.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}