我有一个要限制访问的 API Gateway api 设置。我在 AWS Route 53 中有一个子域设置,它指向我的应用程序所在的 CloudFront 分配。此应用程序向 API 发出 POST 请求。
我已经考虑根据示例“AWS API 白名单”为我的 api 添加资源策略,但我似乎无法正确获取语法,我经常遇到错误。
我还尝试创建一个 IAM 用户并使用 AWS_IAM auth 锁定 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:/*/*/*"
]
}
]
}
这将返回以下错误:
Invalid policy document. Please check the policy syntax and ensure that Principals are valid.