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

跨账号S3批量复制遇SrcGetObjectNotPermitted错误求解决方案

解决S3批量复制中的SrcGetObjectNotPermitted错误

针对你遇到的S3批量复制作业出现SrcGetObjectNotPermitted错误的问题,可按以下步骤排查解决:

  • 检查源存储桶的存储桶策略
    即使IAM角色已配置s3:GetObjectVersionForReplication权限,源存储桶的桶策略可能存在显式拒绝规则,或未包含允许该角色访问对象的语句。需确保桶策略中没有限制该角色访问出错对象的条件(如IP限制),并添加允许角色执行s3:GetObjectVersionForReplication的授权语句。

  • 验证出错对象的ACL设置
    部分对象可能带有独立的访问控制列表(ACL),导致IAM角色无法读取。检查这些对象的ACL配置,确认源账号的IAM角色拥有读取该对象版本的权限。

  • 确认KMS密钥配置的完整性
    检查KMS密钥的ARN是否完整(你提供的策略中eu-后缺少具体区域,如eu-west-1,实际配置需填写完整区域)。同时确保KMS密钥的密钥策略中,明确允许该IAM角色执行kms:Decrypt、kms:Encrypt和kms:GenerateDataKey操作,且无额外条件限制(如加密上下文匹配要求)。

  • 检查S3批量作业的版本范围
    若出错对象为旧版本,需确认批量作业是否包含了所有对象版本。如果作业仅指定复制最新版本,旧版本对象可能因权限继承问题无法被访问。

  • 验证IAM角色的信任关系
    确保IAM角色的信任策略允许S3批量操作服务(batchoperations.s3.amazonaws.com)扮演该角色,否则即使权限策略正确,服务也无法获取权限执行操作。

  • 手动测试单个对象的访问权限
    使用AWS CLI模拟批量作业的权限,执行以下命令测试读取出错对象版本:

    aws s3api get-object-version --bucket source-bucket --key 出错对象的键 --version-id 对象版本ID /tmp/test-file
    

    若命令执行失败,可根据返回的错误信息进一步定位权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:24:51