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

SageMaker创建标注作业时无法访问S3的问题求助

问题排查与解决方案

1. 校验IAM角色核心权限

需确认角色包含以下针对目标桶的权限:

  • s3:ListBucket:用于浏览S3桶内文件
  • s3:GetObject:用于读取标注所需的.jsonl文件
    权限策略的资源范围必须覆盖桶本身和桶内对象,示例:
"Resource": [
  "arn:aws:s3:::cvat.mouseover.ai",
  "arn:aws:s3:::cvat.mouseover.ai/*"
]

同时检查是否存在显式拒绝策略(IAM权限边界或桶策略中的Deny语句),这类策略会优先覆盖允许权限。

2. 确认角色信任关系

确保IAM角色的信任策略允许SageMaker服务扮演该角色,信任策略需包含:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {"Service": "sagemaker.amazonaws.com"},
      "Action": "sts:AssumeRole"
    }
  ]
}

3. 检查S3桶策略

即使IAM角色自身有权限,桶策略也可能阻止访问:

  • 移除桶策略中针对该角色的Deny语句
  • 若桶为私有,添加允许该角色访问的策略,示例:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::你的AWS账号ID:role/你的SageMaker角色名"},
      "Action": ["s3:GetObject", "s3:ListBucket"],
      "Resource": [
        "arn:aws:s3:::cvat.mouseover.ai",
        "arn:aws:s3:::cvat.mouseover.ai/*"
      ]
    }
  ]
}

4. 排查VPC网络配置

若SageMaker部署在VPC内:

  • 确认已创建S3网关端点,且VPC路由表已将S3流量指向该端点
  • 检查安全组和网络ACL是否允许S3方向的流量(出站或端点流量)
  • 若使用NAT网关,验证网关状态正常,可访问S3服务

5. 验证路径与桶可用性

  • 确认输入的S3路径格式正确:s3://cvat.mouseover.ai/目标文件.jsonl,无拼写错误
  • 通过AWS CLI测试权限:先执行aws sts assume-role --role-arn 你的角色ARN --role-session-name test获取临时凭证,再用该凭证执行aws s3 ls s3://cvat.mouseover.ai和aws s3 cp s3://cvat.mouseover.ai/目标文件.jsonl ./,验证是否能正常操作

6. CORS配置说明

CORS仅影响浏览器端跨域访问,SageMaker标注作业后台访问S3不依赖CORS,因此该配置对当前问题无直接作用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:20:29