Nuc*_*eus 4 amazon-ec2 amazon-web-services aws-codepipeline aws-codebuild
我正在尝试构建我的测试项目,但是每次它在pre_build中失败。我检查了错误日志,上面写着:
[容器] 2017/03/26 19:28:21调用GetAuthorizationToken操作时发生错误(AccessDeniedException):用户:arn:aws:sts :: 074181202020:assumed-role / codebuild-Testing-project-service-role / AWSCodeBuild未经授权执行:资源上的ecr:GetAuthorizationToken:*
我尝试附加以下政策:
- IAMSelfManageServiceSpecificCredentials
- IAMF完全访问
- AmazonS3ReadOnlyAccess
- CodeBuildPolicy-Testing-project-1490555003058
- IAMReadOnlyAccess
- AWSCodeBuildAdminAccess
- IAMUserSSHKeys
- AWSCodeCommitFullAccess
- IAMF完全访问
- AmazonS3FullAccess
- 管理员访问
- AWSElasticBeanstalkFullAccess
- AWSCodePipelineFullAccess
- WSCodeBuildAdminAccess
但这仍然给我同样的错误
任何帮助,将不胜感激!谢谢!
实际上,无法在ECR中解决getAuthorizationToken错误(因为您甚至在那儿都看不到ecr:getAuthorizationToken)。
您需要转到IAM面板=>角色=> CodeBuild角色=>授予策略=> AmazonEC2ContainerRegistryReadOnly
这使其能够获得令牌
您需要向 ECR 存储库策略添加权限,而不是向 CodeBuild 服务角色添加权限。此页面包含回购政策示例:https : //docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html
当您配置 AWS Codebuild 时,它会创建服务角色并附加默认策略以写入日志并将文件放入 S3 存储桶。为了使 CodeBuild 底层实例能够访问 ECR,您应该将策略附加到该服务角色。
您可以使用一些托管策略,例如:
AmazonEC2ContainerRegistryFullAccess
了解更多信息:
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |