AWS API网关策略,仅允许访问特定主机URL

时间:2018-09-18 13:24:19

标签: amazon-web-services authentication aws-api-gateway aws-access-policy

我已经在AWS中配置了API网关终端节点,并正在尝试使用其访问策略保护它的安全。

我知道可以将端点的访问限制为特定的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提交请求。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

您是否可以仅使用那些特定主机或主机可以用来获得对API的访问权限的API密钥?