模型流水线评估步骤失败,请求添加S3访问权限政策指导
模型流水线S3访问权限修复:自定义政策与角色附加指南
针对你遇到的ClientError: Cannot access S3 key: bucket//evaluation.json错误,核心问题是流水线角色缺少目标S3存储桶的访问权限,以下是具体的解决方案:
所需IAM自定义政策内容
创建以下自定义IAM政策,允许流水线角色读取目标存储桶的所有对象及桶级列表权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket", "arn:aws:s3:::bucket/*" ] } ] }
注意:将代码中的
bucket替换为你的实际存储桶名称。
给流水线角色附加政策的操作步骤
方法1:AWS控制台操作
- 打开IAM控制台,进入「角色」页面
- 在搜索框输入你的流水线角色名称,找到对应角色并进入详情页
- 切换到「权限」标签页,点击「添加权限」→「创建内联政策」
- 在政策编辑器中选择「JSON」模式,粘贴上述自定义政策代码,替换存储桶名称
- 点击「下一步」,为政策命名(例如
Pipeline-S3-Evaluation-Access),然后点击「创建政策」 - 返回角色权限页,确认新政策已成功附加
方法2:AWS CLI操作
- 提前将上述JSON政策内容保存为
s3-access-policy.json文件,替换其中的存储桶名称 - 创建自定义政策:
aws iam create-policy \ --policy-name Pipeline-S3-Evaluation-Access \ --policy-document file://s3-access-policy.json
- 将政策附加到流水线角色:
aws iam attach-role-policy \ --role-name YOUR_PIPELINE_ROLE_NAME \ --policy-arn arn:aws:iam::YOUR_ACCOUNT_ID:policy/Pipeline-S3-Evaluation-Access
替换
YOUR_PIPELINE_ROLE_NAME为流水线角色的实际名称,YOUR_ACCOUNT_ID为你的AWS账号ID。
内容的提问来源于stack exchange,提问作者Shtx
相关产品推荐
相关产品推荐

