【问题标题】:AWS: IAM Policy for CodePipeline?AWS:适用于 CodePipeline 的 IAM 政策?
【发布时间】:2018-08-04 16:38:28
【问题描述】:

无论我为我的 CodePipeline 角色提供的 IAM 策略多么开放,我的 CodeBuild 步骤总是失败,并在 DOWNLOAD_SOURCE 阶段拒绝访问。当我从 CodeBuild 手动运行时,构建工作正常。

我已经将此策略授予 CodePipeline 服务角色,但管道仍然失败:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

有没有其他人遇到过类似的问题?我应该在哪里解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    我首先要看的是您的 CodeBuild 服务角色,确保它在策略中具有以下内容:

    {
          "Sid": "S3GetObjectPolicy",
          "Effect": "Allow",
          "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion"
          ],
          "Resource": [
            "*"
          ]
        },
    

    【讨论】:

    • 谢谢!太奇怪了......所以代码构建服务角色必须拥有权限而不是代码管道角色?我手动执行 codebuild 是否有效,因为它们是由我的 AWS 账户而不是 codebuild 服务角色执行的?
    • 当您已经拥有 CodeBuild 项目并将其集成到 CodePipeline 项目时,通常会发生这种情况。 Codebuild 现在不会从 CodeCommit/Github 存储库下载源代码。相反,它将尝试下载在 S3 的代码管道存储桶中创建的源工件。因此,您需要向 CodeBuild 角色提供访问 S3 中的 codepipline 存储桶的权限。
    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2021-11-14
    • 1970-01-01
    相关资源
    最近更新 更多