AWS Codebuild UPLOAD_ARTIFACTS-CLIENT_ERROR:上传工件时出错:AccessDenied:访问被拒绝,状态码:403

时间:2019-09-12 06:20:01

标签: amazon-web-services amazon-s3 aws-codebuild aws-codecommit

我使用的是aws codebuild,我的源代码是“ codecommit”,并尝试将工件上传到S3。但是要低于例外。

UPLOAD_ARTIFACTS - CLIENT_ERROR: Error uploading artifacts: AccessDenied: Access Denied status code: 403, request id: D420E19EA87D4CD4, host id: i4ELejOSIy/9QeIATzgJNd8ZjpkCGu+dzkvQ/juHFSF2g6+2uEMgG+ljwYzcW51Oq60peeEQhmE=

这篇文章之后-https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

似乎是S3存储桶访问问题。您需要检查以下事项才能使它起作用:

  1. 您的存储桶位于您的代码构建正在运行的同一区域。
  2. 您的存储桶具有一项允许代码构建上传对象的策略。
  3. 您的CodeCommit,CodeBuild附加了IAM角色(策略),可以访问S3存储桶。

CodeCommit将代码放入S3存储桶中,Codebuild从那里获取它并为您构建,然后将其放回到S3存储桶中,最后CodeDeploy从那里获取它并进行部署。这是AWS中管道的完整过程。

因此,在整个过程中,您的AWS服务多次与S3进行通信并确保其运行顺畅,请检查存储桶策略,每个服务的IAM角色并确保它们能够获取并放置内容。

答案 1 :(得分:0)

我不知道它是否仍然处于活动状态,但是显然问题不在s3上,这只是一个严重的错误。

代码构建尝试加密工件并将其上传到s3时出现问题。

解决我问题的方法是创建一个KMS密钥,并在加密过程中指定该密钥

答案 2 :(得分:0)

CodeBuild项目的IAM角色缺少用于加密或取消加密加密工件的一个或多个必要的“ kms”权限。