2

我在 AWS 中配置了一个 API Gateway 端点,并尝试使用其访问策略来保护它。

我知道可以将端点的访问限制为特定的 IP 地址,但是否也可以根据调用 API 的主机来限制访问?AWS 有关于这些访问策略示例的文档,如下所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": [
                "arn:aws:execute-api:region:account-id:api-id/*"
            ]
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": [
               "arn:aws:execute-api:region:account-id:api-id/*"
            ],
            "Condition" : {
                "IpAddress": {
                    "aws:SourceIp": ["192.0.2.0/24", "198.51.100.0/24" ]
                }
            }
        }
    ]
}

例如,我有一个应用程序 www.example.com。我想在访问策略中添加一些内容,只允许 www.example.com 成功向 API 提交请求。

4

2 回答 2

0

你不能只使用那些特定主机或主机可以用来访问 API 的 API KEY 吗?

于 2019-09-09T17:11:26.330 回答
0

我不确定您是否仍在尝试解决此问题,但我认为您无法在 API 网关级别处理 URL 白名单。

以下是 AWS 文档中列出的可能的 API Gateway 资源策略:

https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies-aws-condition-keys.html

于 2019-09-09T15:16:44.980 回答