CodeDeploy 的简单 IAM 问题

Posted

技术标签:

【中文标题】CodeDeploy 的简单 IAM 问题【英文标题】:Simple IAM Issue with CodeDeploy 【发布时间】:2019-05-12 20:23:15 【问题描述】:

我遇到了一个看似微不足道的任务,即让 CodeDeploy 将 Github 代码部署到蓝/绿部署中的 AutoScaling 组。

我有一个管道设置、一个部署组设置和 AutoScaling 组,但在实际部署时失败了:


我去了我的角色,它似乎有足够的政策来完成蓝/绿部署:


是否有我没有考虑的需要附加到此角色的政策?

【问题讨论】:

【参考方案1】:

我在这个链接中找到了答案: https://h2ik.co/2019/02/28/aws-codedeploy-blue-green/

不想承担功劳,@PeskyGnat 中只缺少一条语句:


    "Version": "2012-10-17",
    "Statement": [
        
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole",
                "ec2:CreateTags",
                "ec2:RunInstances"
            ],
            "Resource": "*"
        
    ]

【讨论】:

【参考方案2】:

我也收到了错误:

“IAM 角色不授予您在以下 AWS 服务中执行操作的权限:AmazonAutoScaling。如果您需要帮助,请联系您的 AWS 管理员。如果您是 AWS 管理员,您可以通过创建IAM 政策。”

我想出了克服此错误所需的 2 个权限,我创建了以下策略并将其附加到代码部署角色:


    "Version": "2012-10-17",
    "Statement": [
        
            "Effect": "Allow",
            "Action": [
                "iam:PassRole",
                "ec2:RunInstances",
                "ec2:CreateTags"
            ],
            "Resource": "*"
        
    ]

【讨论】:

我复制粘贴了提供的角色,但仍然有同样的错误。 我和@Defozo 有同样的问题 嘿@Defozo 你可以在这里找到更多细节。出现问题是因为(我假设)您使用启动模板而不是启动配置创建了 ASG:docs.aws.amazon.com/codedeploy/latest/userguide/… 添加了CreateTags,我第一次遇到这个问题时不需要它,也许我遇到的问题略有不同,或者现在需要新的权限?

以上是关于CodeDeploy 的简单 IAM 问题的主要内容,如果未能解决你的问题,请参考以下文章

如何设置AWS CodeDeploy和EC2 CodeDeploy安全环境

CodeDeploy 未部署到新的自动缩放实例

CodeDeploy 在克隆 AutoScalingGroup 时取消设置 LoadBalancer

AWS:帮助在 Codepipeline 中设置 CodeDeploy

如何在每个带有 codedeploy 的代码中更改 AMI 以实现自动缩放?

CodeDeploy 失败“停止:找不到命令”