端点类型为PRIVATE的Api没有定义资源策略

时间:2019-09-24 16:53:45

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

我正在设置私有AWS API网关,并且我将资源策略配置为允许所有流量,如下所示。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:*",
            "Resource": "arn:aws:execute-api:*:*:*"
        }
    ]
}

我在PrincipalActionResource中应用了通配符,但是,我收到403 Forbidden错误。另外,即使我为私有API配置了资源策略,CloudWatch也会记录错误Api with endpointType PRIVATE has no resource policy defined

我关注了this guide to setup resource policy,但是我做错了吗?或者,错误消息是否还意味着其他内容?

1 个答案:

答案 0 :(得分:1)

您的Cloudwatch日志显示“ Api的终结点类型为PRIVATE且未定义资源策略”这一事实表明,在更改资源策略后,您并未看到您已保存资源策略或没有deployed the API

此外,请注意,策略中的资源是指允许Principal访问的资源(换句话说,将策略应用到的API)。对于我的测试,我做到了这一点,并且在部署API后可以正常工作:


    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": "*",
                "Action": "execute-api:Invoke",
                "Resource": "arn:aws:execute-api:us-west-2:ACCID:APIID/*/*/*"
            }
        ]
    }

注意:您需要相应地设置ACCID和APIID。