2014-05-08 83 views
1

我正在嘗試使用aws cookbook和iam角色,但是當我嘗試在aws_ebs_volume塊中未包含aws_access_key和aws_secret_access_key時,廚師繼續顯示錯誤:RightAws :: AwsError:AWS訪問鍵是需要在EC2上運行。opscode aws cookbook iam role

我假設當cookbook意味着省略資源參數aws_secret_access_key和aws_access_key時,我只是將它們從塊中刪除。

aws_ebs_volume "userhome_volume" do 
    provider "aws_ebs_volume" 
    volume_id node['myusers']['usershome_ebs_volid'] 
    availability_zone node['myusers']['usershome_ebs_zone'] 
    device node['myusers']['usershome_ebs_dev_id'] 
    action :attach 
end 

有沒有人有與IAM角色aws食譜的例子嗎?

更新:

  1. 我是否還需要定義AWS信條數據包,如果我已經有附加到實例適當的IAM角色?

  2. 當我使用iam角色和aws cookbook時,was_ebs_volume塊是什麼樣子的?

+1

,我能夠從S3下載,而無需使用AWS CLI或Powershell的訪問密鑰,而不是廚師 – jsmickey

+0

它看起來像S3提供者不支持IAM角色,也許EBS供應商也沒有。看到這[問題](https://github.com/opscode-cookbooks/aws/issues/71)。 – Namaste

回答

1

爲了管理AWS組件,您需要提供身份驗證憑據nodein以下兩種方法之一:

  1. 明確憑據傳遞參數給資源
  2. 或讓資源回暖來自分配給實例的IAM角色的憑證

當您提供實例時,應該爲其分配合適的角色"Step 3. Configure Instance Details"(使用控制檯時)。 EC2的設置「IAM角色」會自動爲您部署和輪換AWS憑據,從而無需將您的AWS訪問密鑰存儲在您的應用程序中。在這種配置的實例上,您不再需要在aws_ebs_volume塊中包含aws_access_keyaws_secret_access_key。 下面是關於如何與使用IAM和Amazon EC2的CLI的IAM角色啓動一個實例代碼示例:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html

這裏有一些代碼示例:

http://www.getchef.com/blog/2013/12/19/automating-iam-credentials-with-ruby-and-chef/

當你在實例配置期間分配適當的IAM角色,您的代碼應該不需要aws_access_ke y和aws_secret_access_key

步驟如下:

  1. 這裏描述設置您的S3,廚師服務器和IAM角色: https://securosis.com/blog/using-amazon-iam-roles-to-distribute-security-credentials-for-chef

  2. 執行「刀客戶./」創建client.rb和validation.pem,然後將它們從您的廚師服務器轉移到您的存儲桶中。

  3. 使用您爲Chef和S3存儲桶設置的相應IAM角色啓動新實例。 指定的用戶數據字段或命令行參數自定義雲的init腳本如下所述:

    https://securosis.com/blog/using-cloud-init-and-s3cmd-to-automatically-download-chef-credentials

    您也可以託管腳本文件,並使用包括從中央存儲庫加載。

  4. 執行廚師客戶端。

我在與aws_s3_file同樣的問題
+0

我有一個適當的策略設置爲實例的IAM角色。 我可以登錄這個廚師客戶端並使用「aws s3 ls」和「aws ec2 describe-」,但是,由於上面的錯誤消息,具有ebs_volume塊的廚師配方失敗(這是在awscli安裝後發生的)。我想知道是否有開關(或屬性,我應該特別設置讓aws食譜知道我正在使用iam角色) – user2780203

+0

感謝您提供此信息。如果沒有令牌,鑰匙就無法工作。我擴大了答案,包括對設置的逐步說明。我希望這有幫助。 –

+0

它適合你嗎? –