You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VPC内Lambda函数的VPC端点策略配置问题求助

VPC端点私有访问的条件配置方案

针对你无法通过aws:sourceVpc限制VPC端点访问,且不能显式指定Lambda角色的情况,可以试试以下几个条件:

1. 基于私有IP范围限制(aws:sourcePrivateIp)

Lambda在VPC内运行时,会从所在子网分配私有IP。你可以直接指定VPC或子网的CIDR段,只允许来自该范围内的请求访问VPC端点。这种方式不需要关联Lambda角色,只要请求源IP在指定范围内就允许。

示例策略(以Secrets Manager为例):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "secretsmanager:GetSecretValue",
      "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:your-secret-*",
      "Condition": {
        "IpAddress": {
          "aws:sourcePrivateIp": ["10.0.0.0/16", "10.1.0.0/16"]
        }
      }
    }
  ]
}

注:替换成你实际的VPC/子网CIDR、资源ARN和操作权限。

2. 基于VPC端点ID限制(aws:sourceVpcEndpointId)

如果你的Lambda是通过特定的VPC端点发起请求,可以直接指定该端点的ID,仅允许通过此端点的请求访问对应服务。每个AWS服务的VPC端点是独立的,所以需要针对Secrets Manager、S3分别配置对应的端点ID。

示例策略(以S3为例):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::your-bucket/*",
      "Condition": {
        "StringEquals": {
          "aws:sourceVpcEndpointId": "vpce-0123456789abcdef0"
        }
      }
    }
  ]
}

注:vpce-xxxx替换成你实际的S3 VPC端点ID。

3. 基于AWS组织身份限制(可选)

如果你的账号属于AWS组织,可以用aws:PrincipalOrgID或aws:PrincipalOrgPaths条件,限制仅组织内的主体访问VPC端点。可以和前面的IP/端点ID条件组合,进一步缩小访问范围。

示例组合条件:

"Condition": {
  "IpAddress": {
    "aws:sourcePrivateIp": "10.0.0.0/16"
  },
  "StringEquals": {
    "aws:PrincipalOrgID": "o-xxxxxxxxxx"
  }
}

另外,如果你之前用aws:sourceVpc失效,可能是VPC ID配置错误,建议核对一下VPC的ID是否正确。不过既然你已经尝试过,上面的几个方案应该能满足你的需求,不需要开放完全允许的策略。

内容的提问来源于stack exchange,提问作者dingo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:22:45