簡體   English   中英

Jenkins Packer AWS憑證驗證

[英]Jenkins Packer AWS credentials validation

確定這是方案。

我在AWS中有一個Jenkins從站,並且已附加了一個角色,該角色允許它創建EC2資源。 我通過Packer github問題列表找到了這個角色。 這是角色

我有我的Packer項目嘗試在從屬服務器上構建。 當構建開始時,它失敗並顯示:

[1; 31mBuild'amazon-ebs'錯誤:NoCredentialProviders:鏈中沒有有效的提供者。 不推薦使用。 有關詳細消息傳遞,請參見aws.Config.CredentialsChainVerboseErrors [0m

==>一些構建未成功完成,並出現錯誤:-> amazon-ebs:NoCredentialProviders:鏈中沒有有效的提供者。 不推薦使用。 有關詳細消息傳遞,請參見aws.Config.CredentialsChainVerboseErrors

如果我運行aws configure並輸入真實的憑據,這顯然是可行的,但是我正試圖避免這種情況。 我已驗證該實例具有適當的角色。 我還驗證了可以通過命令行正確切換到該角色。

我似乎缺少的是與實例和打包程序相關聯的角色,並使用以下命令指定角色:'iam_instance_profile'為什么此操作繼續失敗。

有什么想法嗎?

因此,在Castaglia的大量幫助下,我得以使它生效。 我創建的角色似乎有問題。 我刪除了它,並使用相同的名稱和相同的策略重新創建了它。 之后,它工作正常。

請注意,我相信Packer指令有錯誤。 他們列出了以下所有角色所需的信息:

{
"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" : "*"
}]
}

但我相信您還需要一件:

{
    "Sid": "PackerIAMPassRole",
    "Effect": "Allow",
    "Action": "iam:PassRole",
    "Resource": [
        "*"
    ]
}

這樣做使我可以承擔角色並建立自己需要的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM