我有一个API网关API设置,我想限制访问。 我在AWS Route 53中设置了一个子域名,它指向一个CloudFront分发,我的应用程序位于其中。该应用程序会向API发送POST请求。
我尝试根据示例“AWS API白名单”添加资源策略到我的API,但似乎无法正确使用语法,我一直收到错误。
我还尝试创建IAM用户并使用AWS_IAM权限锁定API,但随后需要创建签名请求,这似乎需要更多的工作,而通过资源策略应该更容易些?
以下是我尝试附加到我的API的资源策略示例:
这会返回以下错误:
我尝试根据示例“AWS API白名单”添加资源策略到我的API,但似乎无法正确使用语法,我一直收到错误。
我还尝试创建IAM用户并使用AWS_IAM权限锁定API,但随后需要创建签名请求,这似乎需要更多的工作,而通过资源策略应该更容易些?
以下是我尝试附加到我的API的资源策略示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{CloudFrontID}}"
},
"Action": "execute-api:Invoke",
"Resource": [
"execute-api:/*/*/*"
]
}
]
}
这会返回以下错误:
无效的策略文件。请检查策略语法并确保主体是有效的。