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

VPC内Lambda无法跨账号删除S3对象问题求助

问题诊断与解决

核心问题:权限配置中的资源ARN不匹配

你的VPC网关终端节点策略和Lambda角色策略里,指定的资源ARN都是arn:aws:s3:::bucket-name-a/*,但从目标S3桶的策略可以看到,实际要操作的桶是bucket-name,ARN为arn:aws:s3:::bucket-name/*。VPC网关终端节点策略会拦截所有不符合规则的请求,当策略里的资源和实际目标桶不匹配时,请求会被静默拒绝——这就是为什么Lambda执行无报错,但对象没被删除的原因;而改成全权限策略后,终端节点不再过滤请求,此时Lambda角色和桶策略的权限组合生效,删除操作就能成功。

修正步骤

  1. 修改VPC网关终端节点策略
    将资源ARN替换为目标桶的正确值:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::1111111:role/lambdaRoleA"
            },
            "Action": "s3:DeleteObject",
            "Resource": "arn:aws:s3:::bucket-name/*"
        }
    ]
}
  1. 修正Lambda角色策略
    同样把资源ARN改成目标桶的:
{
    "Action": "s3:DeleteObject",
    "Effect": "Allow",
    "Resource": "arn:aws:s3:::bucket-name/*"
}

额外验证

确保三个权限组件的规则完全对齐:

  • Lambda执行角色:明确允许对目标桶执行DeleteObject
  • VPC网关终端节点策略:允许该角色通过终端节点访问目标桶
  • 目标S3桶策略:授权该角色对桶内对象执行DeleteObject

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:42:04