无法创建角色 AWSCodePipelineServiceRole

Could not create role AWSCodePipelineServiceRole

我正在尝试将我的静态网站 Github 更改自动部署到我的 s3 存储桶,当我去创建管道时,它抛出了一个 "Could not create role AWSCodePipelineServiceRole" 错误。

我的 github 权限设置正确。存储库名称、存储桶名称和对象密钥正确。

有没有人遇到过这种情况?

问题背后的原因是您的 IAM 用户(您登录的用户)被限制创建具有服务角色名称 'AWSCodePipelineServiceRole' 的角色。

为了向 IAM 用户提供创建服务角色名称为“AWSCodePipeline*”的角色的权限,例如“AWSCodePipelineServiceRole-us-east-1-test”,您需要将以下策略附加到您的 IAM 用户:

{

    "Version": "2012-10-17", 
    "Statement": [
        {    
            "Sid": "VisualEditor0",
            "Effect": "Allow",    
            "Action": "iam:CreateRole",    
            "Resource": "arn:aws:iam::*:role/AWSCodePipeline*"    
        }    
    ]    
}

尝试几件事:

  1. 尝试创建具有不同名称的 IAM 角色(例如 AWSCodePipelineServiceRole2020)。

  2. 给管道起一个不同的名字,角色名保持原样 (自动生成)由管道。

希望对您有所帮助。

我通过以下方式解决了这个问题:

  1. 第 1 步:将我登录的部署用户添加到 Deployers 组,我授予了 IAMFullAccess 政策。

  2. 第 2 步:我按照相同的步骤成功创建了管道 AWS 教程中指示的步骤。

  3. 第三步:创建后,我 反向工程组和附加到它的单个策略 向导创建。它显示了一个非常长的政策,你不能 真的发明。 IAM 部分是:

    “声明”:[ { “行动”: [ “我:通行证” ], “资源”:“*”,

我只是担心我创建的 Deployers 组现在有 IAMFullAccess...

此外,我发现如果您以管理员身份登录,并向 IAM 用户添加权限,该用户可能不会立即享受这些新权限。我决定注销并重新登录以提交它们。也许有更简单的方法,但我找不到。