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

如何限制AWS Lambda仅允许Bitbucket Webhook访问?

限制AWS Lambda仅接受Bitbucket Webhook调用的两种解决方案

一、为Lambda Function URL配置访问限制

Lambda Function URL可通过资源策略+请求签名验证实现精准访问控制,步骤如下:

  1. 添加Function URL资源策略
    给目标Lambda函数绑定资源策略,先通过Bitbucket官方出口IP范围做基础限制:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": "*",
          "Action": "lambda:InvokeFunctionUrl",
          "Resource": "arn:aws:lambda:REGION:ACCOUNT_ID:function:FUNCTION_NAME",
          "Condition": {
            "StringLike": {
              "aws:SourceIp": [
                "18.205.93.0/24",
                "18.234.32.0/24",
                "13.52.5.0/24",
                "13.53.144.0/24"
              ]
            }
          }
        }
      ]
    }
    

    注:上述IP为Bitbucket公开的Webhook出口IP段,可根据官方最新信息更新。

  2. 在Lambda代码中验证Bitbucket签名
    仅靠IP限制存在风险,必须验证请求签名确保来源真实:

    • 从Bitbucket Webhook设置中获取专属Secret
    • 在Lambda代码里,提取请求头X-Hub-Signature-256,用HMAC-SHA256算法对请求体和Secret加密,对比加密结果与请求头签名是否一致,不一致则直接返回403拒绝请求。

二、修复API Gateway资源策略问题

你之前依赖aws:Referer的配置无效,核心原因是Bitbucket Webhook请求不会携带符合规则的Referer头。正确配置方式如下:

  1. 更新API Gateway资源策略
    替换为基于Bitbucket出口IP的限制,同时确保Resource路径覆盖完整调用路径:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": "*",
          "Action": "execute-api:Invoke",
          "Resource": "GATEWAY_API_ARN/*/*/*",
          "Condition": {
            "StringLike": {
              "aws:SourceIp": [
                "18.205.93.0/24",
                "18.234.32.0/24",
                "13.52.5.0/24",
                "13.53.144.0/24"
              ]
            }
          }
        }
      ]
    }
    

    注意:Resource字段需包含API Gateway的完整路径通配符(如/*/*/*),仅写ARN前缀会导致权限范围不匹配。

  2. 添加签名验证逻辑
    在API Gateway集成的Lambda代码中,加入和Function URL一致的Bitbucket签名验证步骤,彻底杜绝非法请求。

排查建议:可先临时移除资源策略,测试Bitbucket Webhook能否正常调用,确认基础连通性后再逐步添加限制,排除API Gateway阶段部署、Lambda权限配置等其他潜在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:43:12