我有一个AWS Codebuild作业,当我以root用户身份手动初始化时,它可以正常工作。

我有一条代码流水线,应在代码提交合并到主代码时启动构建作业。它会触发作业并开始构建,但是在尝试下载源代码时会失败。

我已经将完整的S3/codebuild/codecommit策略附加到了管道中,但是仍然会拒绝访问。

我缺少哪些权限?

最佳答案

当您已经有一个CodeBuild项目并将其集成到CodePipeline项目中时,通常会发生这种情况。现在,Codebuild无法从CodeCommit/Github存储库中下载源代码。相反,它将尝试下载在S3的代码管道存储区中创建的源工件。 因此,您需要为CodeBuild角色提供权限,以访问S3中的代码行存储桶。

您可以通过修改 Codebuild角色的附加策略(或附加新策略)来执行此操作,以访问以下操作

s3:ListObjects
s3:GetObject
s3:ListBucket

为您的Codepipeline存储桶及其对象
"arn:aws:s3:::codepipeline-bucket",
"arn:aws:s3:::codepipeline-bucket/*"

或者,您可以选择为该存储桶及其对象添加所有操作。您可以释放所做的更改,并且可以使用。 Lmk,如果没有。

关于amazon-web-services - 从Codepipeline启动时,AWS Codebuild无法下载源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48429044/

10-11 06:52