首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API网关允许来自VPC端点或源IP的请求?

API网关允许来自VPC端点或源IP的请求?
EN

Stack Overflow用户
提问于 2022-03-29 11:12:01
回答 1查看 293关注 0票数 0

我有一个只能通过VPC端点访问的私有API网关。如果请求是通过

A- VPC端点(例如,位于同一VPC内的Lambda )

B-不是在VPC内部,而是来自一组外部IP地址/CIDR块。

我知道可以通过以下方式实现A:

代码语言:javascript
复制
"Condition": {
      "StringEquals": {
             "aws:SourceVpce": "vpce-xyz"
       }
}

我知道B可以通过以下方式实现:

代码语言:javascript
复制
"Condition": {
       "IpAddress": {
             "aws:SourceIp": [
                    "xx.xx.xx.xx/32"
             ]
       }
}

然而,是否有可能以一种或一种风格同时应用这两种方法?在VPC的入站规则中允许IP地址/CIDR块。Lambda在同一个VPC中可以访问私有API网关。

谢谢

编辑-策略的完整示例:

代码语言:javascript
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:eu-west-1:x:y/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpce": "vpce-123"
                },
                "IpAddress": {
                    "aws:SourceIp": [
                        "1234",
                        "1234"
                    ]
                }
            }
        }
    ]
}
EN

回答 1

Stack Overflow用户

发布于 2022-03-29 11:18:27

是的,这应该是可能的。您需要两个IAM语句来获得OR。因此,基本上第二条语句与第一条完全相同,除了条件。例如:

代码语言:javascript
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:eu-west-1:x:y/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpce": "vpce-123"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:eu-west-1:x:y/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "1234",
                        "1234"
                    ]
                }
            }
        }        
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71660970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档