
目前,我們在環境中使用 ec2 實例。
為了避免憑證暴露給原始程式碼,我們使用 IAM 角色來委派對使用者、應用程式或服務的存取權限。
但是,我們的環境中也有幾個本地實例。他們也可以像 EC2 一樣使用 IAM 角色嗎?
我知道CodeDeploy支援使用IAM角色註冊本地實例,但透過這種方式,它是程式碼部署代理程式來管理IAM角色以取得憑證。
所以,我的問題是:
CodeDeploy 部署的本機實例上的應用程式如何取得憑證?例如從S3取得物件...
我是否也可以像在 EC2 上一樣在本機電腦和應用程式上使用 IAM 來取得憑證?
答案1
您本身無法執行 IAM 角色,但您可以將完全相同的策略附加到用戶,然後為該用戶產生一組存取金鑰。從那裡,向 AWS CLI 或其他工具提供金鑰,它們將具有相同的權限。
強烈建議將要使用的金鑰的策略的 IP 範圍列入白名單,這樣如果它們被破壞(程式碼洩漏/公共 git 提交/等),它們就不能在堆疊之外使用。
答案2
IAM 服務角色僅適用於 IAM 服務!
可選擇根據長期 IAM 使用者存取/秘密金鑰取得臨時憑證。典型的用途是在代理應用程式中,該應用程式代表公司網路內的分散式應用程式取得臨時安全憑證。
https://docs.aws.amazon.com/cli/latest/reference/sts/get-federation-token.html
它的有效期最長為 36 小時。您可以自動產生信用,然後將其相應地分發到本機系統中。