[英]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.