簡體   English   中英

為Jenkins / Packer配置正確放置AWS憑證

[英]Properly placing AWS credentials for Jenkins/Packer Configuration

我需要讓Packer在AWS中構建映像。 Packer模板將存儲在Github存儲庫中,並使用Jenkins進行部署。

我在哪里指定我的AWS訪問和密鑰? 我不能將它們放在Github中的JSON模板中(那很不好):(

我是否使用Jenkins服務器上的AWS cli配置訪問密鑰,還是可以在Jenkins Packer插件中指定我的訪問密鑰?

最好的選擇是使用具有實例角色的工作程序節點,該角色具有運行Packer的正確權限。 第二個最好的方法是使用Jenkins secrets插件來存儲秘密,並將它們設置為Packer構建作業中的環境變量。

我將使用Jenkins Secrets插件進行調查。 在此期間,我可以在“附加參數”字段下指定密鑰和訪問密鑰,如圖所示。 Packer模板保留在Github中,詹金斯在作業運行時將其提取。 由於安全問題,沒有使用Github Pull插件。

在此輸入圖像描述

正如Rickard回答的那樣,最好使用實例角色。 我們實現的方式是,我們有一個名為“PackerRole”的角色,其中包含由packer使用的必要權限。 在packer.json中,將該角色稱為“ iam_instance_profile”:“ PackerRole”。

現在創建一個名為“JenkinsRole”的單獨角色(Jenkins節點將使用的任何名稱適合您),它具有傳遞“PackerRole”的內聯策略。

{“Sid”:“”,“效果”:“允許”,“動作”:“iam:passrole”,“資源”:“arn:aws:iam :: 1234567:role / PackerEc2Role”}

暫無
暫無

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

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