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

从Sagemaker笔记本实例上传15GB大文件至S3桶时遭遇CreateMultipartUpload AccessDenied错误求助

解决Sagemaker笔记本上传大文件到S3的AccessDenied问题

别着急,你的问题核心其实是Sagemaker笔记本实例是通过IAM角色而非IAM用户来访问AWS服务的——这就是你在IAM控制台看不到用户的原因,笔记本用的是角色身份,不是用户账号。结合你的情况,我给你分步骤梳理解决方案:

第一步:找到你的Sagemaker笔记本实例的执行角色

  1. 打开AWS Sagemaker控制台,定位到你正在使用的笔记本实例
  2. 点击实例进入详情页,切换到「Configuration」标签页
  3. 找到「IAM role ARN」项,复制这个ARN(格式类似arn:aws:iam::XXXX:role/XXX)

方案一:给IAM角色添加S3分片上传权限(推荐,遵循最小权限原则)

因为你上传的是15GB大文件,AWS会自动启用分片上传,所以需要的权限不止PutObject,还要覆盖分片相关的操作:

  1. 打开IAM控制台,进入「Roles」页面,用刚才复制的角色名搜索并进入角色详情
  2. 点击「Add permissions」→「Attach policies」,选择「Create policy」(自定义策略更安全)
  3. 切换到「JSON」标签,粘贴以下策略内容(确保资源里的桶名和你的一致):
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:CreateMultipartUpload",
            "s3:UploadPart",
            "s3:CompleteMultipartUpload",
            "s3:AbortMultipartUpload"
          ],
          "Resource": [
            "arn:aws:s3:::bauer-bucket",
            "arn:aws:s3:::bauer-bucket/*"
          ]
        }
      ]
    }
    
  4. 给策略起个清晰的名字(比如SagemakerBauerBucketUpload),保存后回到角色页面,把这个自定义策略附加到角色上
  5. 重启你的Sagemaker笔记本实例(权限变更有时需要重启才会生效),之后尝试重新上传文件

方案二:调整S3桶策略,允许笔记本角色访问

如果你更倾向于通过桶策略控制访问,可以修改现有桶策略,添加允许你的笔记本角色的规则:

  1. 打开S3控制台,找到bauer-bucket,进入「Permissions」标签页的「Bucket policy」
  2. 把现有策略修改为如下内容,替换掉这里替换成你的笔记本角色ARN为你之前复制的角色ARN:
    {
      "Version": "2012-10-17",
      "Id": "Policy1",
      "Statement": [
        {
          "Sid": "Statement1",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::XXXX:root"
          },
          "Action": "s3:*",
          "Resource": [
            "arn:aws:s3:::bauer-bucket",
            "arn:aws:s3:::bauer-bucket/*"
          ]
        },
        {
          "Sid": "AllowSagemakerRole",
          "Effect": "Allow",
          "Principal": {
            "AWS": "这里替换成你的笔记本角色ARN"
          },
          "Action": [
            "s3:PutObject",
            "s3:CreateMultipartUpload",
            "s3:UploadPart",
            "s3:CompleteMultipartUpload",
            "s3:AbortMultipartUpload"
          ],
          "Resource": [
            "arn:aws:s3:::bauer-bucket",
            "arn:aws:s3:::bauer-bucket/*"
          ]
        }
      ]
    }
    
  3. 保存桶策略后,直接尝试上传文件即可

额外排查点

如果还是不行,可以检查这两个地方:

  • 你的账号是否属于AWS组织?如果是,可能存在**IAM服务控制策略(SCP)**限制了S3访问,需要联系管理员确认
  • 笔记本实例是否使用了VPC?如果VPC里的S3端点附加了限制策略,也会导致访问被拒绝

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 06:03:12