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

配置由Cognito预令牌生成触发的私有子网Lambda安全组

关于Amazon Cognito调用私有子网Lambda的安全组配置问题

Amazon Cognito对应的CIDR是什么?

Amazon Cognito没有固定的静态CIDR范围,它作为AWS托管服务,使用的IP地址属于AWS全局IP地址池,且会随时间动态调整。虽然AWS会发布各区域的服务IP范围(包含Cognito使用的IP),但直接将这些CIDR全部添加到Lambda安全组的入站规则中并不现实——范围过大,且需要频繁手动更新IP列表,难以维护且存在安全冗余。

高安全性要求下的Lambda安全组配置推荐方案

针对私有子网中Lambda被Cognito预令牌触发器调用的场景,以下是高安全性的配置方案:

  • 使用VPC接口端点实现私有网络访问:在你的VPC中创建针对Lambda服务的接口端点(com.amazonaws.<你的区域>.lambda)。通过这个端点,Cognito可以通过AWS内部私有网络触发Lambda,无需经过公网。此时Lambda的安全组只需允许来自该VPC端点的入站流量(可通过关联端点的安全组来精准控制),彻底隔绝公网暴露风险。
  • 利用AWS服务前缀列表缩小IP范围:如果必须通过公网访问(不推荐),可以使用AWS提供的服务前缀列表(Prefix List)。每个AWS区域都有对应Cognito服务的前缀列表,将其添加到Lambda安全组的入站规则中,前缀列表会由AWS自动更新IP范围,比手动维护CIDR更高效安全。
  • 结合IAM策略强化访问控制:仅靠安全组不够,还需在Lambda的执行角色中添加条件限制,只允许Cognito服务(cognito-idp.amazonaws.com)触发Lambda。示例IAM策略条件:
    "Condition": {
        "StringEquals": {
            "lambda:SourceAccount": "<你的AWS账号ID>",
            "lambda:SourceArn": "<你的Cognito用户池ARN>"
        }
    }
    
  • 禁用不必要的公网访问路径:如果Lambda不需要访问外部公网资源,不要配置NAT网关或公网网关,彻底切断Lambda与公网的连接,仅保留VPC内部和必要的AWS服务端点访问,最大化缩小攻击面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:12:21