AWS 代码构建UPLOAD_ARTIFACTS - CLIENT_ERROR:上传项目时出错:访问被拒绝:访问被拒绝状



我正在使用 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

有人可以帮忙吗?

我不知道这是否仍然有效,但显然问题不在 s3 方面,这只是一个严重的错误。

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

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

这似乎是 S3 存储桶访问问题。您需要检查以下事项才能使其正常工作:

  1. 您的存储桶位于运行代码构建的同一区域中。
  2. 您的存储桶有一个策略,允许代码构建上传对象。
  3. 您的代码提交,代码构建附加了 IAM 角色(策略(,该角色有权访问 S3 存储桶。

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

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

CodeBuild 项目的 IAM 角色缺少一个或多个用于加密或取消加密加密工件所需的"kms"权限。

最新更新