2016-10-03 49 views
0

我正在尋找一種方法來使用在EC2實例上運行的AWS SDK(Java,可能不相關)來訪問多個AWS賬戶上的AWS資源。EC2實例上多個AWS賬戶的憑證

更確切地說,設想有兩種AWS賬戶:

  • 測試
  • 督促

上有一個EC2實例中運行的督促帳戶創建一個Java應用程序例如AmazonEC2Client的一個實例(來自AWS Java SDK)。我希望能夠從那裏爲testprod帳戶創建客戶端實例。

我能夠使用本地計算機上的配置文件來完成此操作,但還沒有弄清楚如何在EC2實例上執行此操作。

回答

2

你可以通過以下兩種方式之一來完成;

AssumeRole

使用AWS安全令牌服務,以AssumeRole。實際實施將由您決定,但您可以將IAM Role指定給EC2實例,然後使用Java SDK中的AssumeRole功能從生產角色切換到測試(反之亦然)。

型材

這聽起來像你已經想通了如何在本地做,但它可以在EC2(根據使用情況)被複制。也就是說,我會強烈反對,並遵循最佳實踐並使用STS:AssumeRole(上圖)。


實際上,它很可能是最好的(這裏做一些假設,什麼你實際上是試圖做的),有進行生產和檢驗一個單獨的EC2實例,在這種情況下,可以根據需要分配相應的角色。此外,如果我們正在討論更大規模的部署,您可能需要探索Consolidated Billing,這樣可以讓您通過爲每個帳戶(而不是單個計費帳戶)使用單獨的AWS賬戶來完全隔離您的生產和測試環境。要了解更多信息,我建議看看這篇文章:https://blog.codeship.com/separate-aws-production-and-development-accounts/