首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins Packer AWS凭据验证

Jenkins Packer AWS凭据验证
EN

Stack Overflow用户
提问于 2016-04-01 15:50:27
回答 1查看 1.7K关注 0票数 0

好的,这是一个场景。

我在AWS中有一个Jenkins奴隶,我在其中附加了一个角色,允许它创建EC2资源。我通过Packer github问题列表找到了这个角色。这是角色

我的封隔器项目试图建立在奴隶的基础上。当构建开始时,它将失败:

[1;31 31mBuild‘amazon’错误: NoCredentialProviders:链中没有有效的提供者。不赞成。有关详细消息传递,请参见aws.Config.CredentialsChainVerboseErrors[0m ] ==>有些构建没有成功完成,并且有错误:->amazon: NoCredentialProviders:没有有效的提供程序。不赞成。有关详细消息传递,请参见aws.Config.CredentialsChainVerboseErrors

如果我运行aws配置并输入真正的凭据,这显然是有效的,但我试图避免这种情况。我已经证实,实例具有适当的附加角色。我还验证了我可以通过命令行正确地切换到这个角色。

我似乎缺少的是,在与实例和packer关联的角色中,指定角色时使用:'iam_instance_profile‘--为什么这会继续失败。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-01 21:08:14

因此,在Castaglia提供了大量帮助之后,我才得以使其发挥作用。我所创造的角色似乎出了问题。我删除了它,并用相同的名称和相同的策略重新创建了它。从那以后一切都很顺利。

请注意,我相信封隔器指令有错误。它们列出了该角色所需的以下内容:

代码语言:javascript
复制
{
"Statement": [{
  "Effect": "Allow",
  "Action" : [
    "ec2:AttachVolume",
    "ec2:CreateVolume",
    "ec2:DeleteVolume",
    "ec2:CreateKeypair",
    "ec2:DeleteKeypair",
    "ec2:DescribeSubnets",
    "ec2:CreateSecurityGroup",
    "ec2:DeleteSecurityGroup",
    "ec2:AuthorizeSecurityGroupIngress",
    "ec2:CreateImage",
    "ec2:CopyImage",
    "ec2:RunInstances",
    "ec2:TerminateInstances",
    "ec2:StopInstances",
    "ec2:DescribeVolumes",
    "ec2:DetachVolume",
    "ec2:DescribeInstances",
    "ec2:CreateSnapshot",
    "ec2:DeleteSnapshot",
    "ec2:DescribeSnapshots",
    "ec2:DescribeImages",
    "ec2:RegisterImage",
    "ec2:CreateTags",
    "ec2:ModifyImageAttribute"
  ],
  "Resource" : "*"
}]
}

但我相信你还需要一块:

代码语言:javascript
复制
{
    "Sid": "PackerIAMPassRole",
    "Effect": "Allow",
    "Action": "iam:PassRole",
    "Resource": [
        "*"
    ]
}

这样做可以让我承担起我所需要的角色并建立起我所需要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36360607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档