我正在尝试构建我的测试项目,但每次在pre_build中都失败了。我检查了错误日志,它说:
资源容器2017/03/26 19:28:21调用资源操作时出错(AccessDeniedException):User: arn:aws:sts::074181202020:assumed-role/codebuild-Testing-project-service-role/AWSCodeBuild无权执行: ecr:GetAuthorizationToken on
:*
我尝试附加以下策略:
但是它还是给了我同样的错误
任何帮助都将不胜感激!谢谢!
发布于 2017-03-28 00:21:18
您需要向ECR存储库策略添加权限,而不是向CodeBuild服务角色添加权限。此页面包含回购策略的示例:https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html
发布于 2018-09-11 03:24:07
实际上,getAuthorizationToken错误无法在ECR中解决(因为您在那里甚至看不到ecr:getAuthorizationToken )。
您需要转到IAM面板的=> Roles => CodeBuild Role => Grant Policy => AmazonEC2ContainerRegistryReadOnly
这使它能够获得一个令牌
发布于 2019-01-18 04:30:41
当您配置AWS Codebuild时,它会创建service-role并将默认策略附加到此处,以写入日志并将文件放入S3存储桶。为了使CodeBuild底层实例能够访问ECR,您应该将策略附加到该服务-role。
您可以使用托管策略,例如:
AmazonEC2ContainerRegistryFullAccess
有关详细信息,请参阅:
https://stackoverflow.com/questions/43033559
复制相似问题