AWS IAM 可以在任何非 EC2 執行個體上使用嗎?

AWS IAM 可以在任何非 EC2 執行個體上使用嗎?

目前,我們在環境中使用 ec2 實例。

為了避免憑證暴露給原始程式碼,我們使用 IAM 角色來委派對使用者、應用程式或服務的存取權限。

但是,我們的環境中也有幾個本地實例。他們也可以像 EC2 一樣使用 IAM 角色嗎?

我知道CodeDeploy支援使用IAM角色註冊本地實例,但透過這種方式,它是程式碼部署代理程式來管理IAM角色以取得憑證。

所以,我的問題是:

  1. CodeDeploy 部署的本機實例上的應用程式如何取得憑證?例如從S3取得物件...

  2. 我是否也可以像在 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 小時。您可以自動產生信用,然後將其相應地分發到本機系統中。

相關內容