Amazon web services AWS SageMaker GroundTruth权限问题(无法读取清单)

Amazon web services AWS SageMaker GroundTruth权限问题(无法读取清单),amazon-web-services,amazon-sagemaker,Amazon Web Services,Amazon Sagemaker,我正试图在一个公共工作人员中开展一项简单的“事实真相”标签工作。我将图像上传到S3,开始创建标签作业,使用他们的工具自动生成清单,并明确指定一个角色,该角色肯定对S3 bucket(输入和输出)以及SageMaker具有完全访问权限。然后我创建了工作(标准的其他工作——我只是想清楚我正在做所有这些) 起初,一切看起来都很好。所有的绿灯都亮了,它说正在进行中,图像正确地显示在数据集所在的底部。但是,几分钟后,状态变为Failure,我得到了这样的消息:ClientError:Access Deni

我正试图在一个公共工作人员中开展一项简单的“事实真相”标签工作。我将图像上传到S3,开始创建标签作业,使用他们的工具自动生成清单,并明确指定一个角色,该角色肯定对S3 bucket(输入和输出)以及SageMaker具有完全访问权限。然后我创建了工作(标准的其他工作——我只是想清楚我正在做所有这些)

起初,一切看起来都很好。所有的绿灯都亮了,它说正在进行中,图像正确地显示在数据集所在的底部。但是,几分钟后,状态变为Failure,我得到了这样的消息:
ClientError:Access Denied。无法访问清单文件:arn:aws:sagemaker:us-east-1::标记作业/在失败原因中使用roleArn:null

我还得到下面的错误(以前有图像,但现在没有):

指定的键/manifests/output/output.manifest不在S3存储桶中


我很困惑有几个原因。首先,这是一项非常简单的工作。我只是想做一个我能想到的最基本的边界框例子。因此,这应该是一条经过充分测试的道路。其次,我显式地指定了一个角色arn,所以我不知道为什么它在错误消息中说它为null。这是亚马逊的小故障还是我做错了什么?

角色必须包括SageMakerFullAccess和对S3存储桶的访问,所以看起来您已经涵盖了这一点:)

请检查:

  • 创建标签作业的用户具有Cognito权限:
  • 清单存在并且位于正确的S3位置
  • 铲斗与SageMaker位于同一区域
  • 该存储桶没有任何限制访问的存储桶策略
如果这仍然不能解决问题,我建议打开一张带有标签工作id的支持票,等等


Julien(AWS)

当我尝试写入一个与以前成功使用的存储桶不同的存储桶时,我遇到了相同的问题


显然,IAM角色ARN只能为特定bucket分配权限

我建议参考CloudWatch日志并查找
CloudWatch>>CloudWatch日志>>日志组>>/aws/sagemaker/LabelingJobs
组。我在另一篇帖子上打了所有的分数,但是我的预处理Lambda函数在我的区域中有错误的id,错误在日志中很明显。

有一个错误,控制台有时会说类似于
401 ValidationException的话:指定的键s3prefix/smgt out/yourjobname/manifests/output/output.manifest不在S3 bucket yourbucket中。请求ID:a08f656a-ee9a-4c9b-b412-eb609d8ce194
但这不是实际问题。由于某些原因,控制台显示错误的错误消息。如果您使用API(或AWS CLI)来描述类似于

aws sagemaker describe-labeling-job --labeling-job-name yourjobname

您将看到实际问题。在我的例子中,定义UI指令的一个S3文件丢失了。

谢谢Julien。我怎样才能知道SageMaker在哪个地区?我不知道如何检查这个,而且我不能在不支付支持费用的情况下打开支持票证。。。但我检查了所有其他内容……如果您使用的是控制台,区域名称位于右上角:)您可以使用:curl-I bucket_name.s3.amazonaws.com检查存储桶位置。如果这不是你的问题,那么请将详细信息发布到。很多支持人员阅读了这些论坛。好的,谢谢。我最终只是从头开始重新创建了这些桶,并赋予它们相同的权限,这很有效。。。我最初并没有创建桶,所以可能那里有个问题。