2017-11-25 111 views
0

我有一個web應用程序運行在Elastic Bean Stalk。在web應用程序中,我有一個Java Class,它將使用system environment variables中的AWS Access KeyAWS Secret Key或同一Class中的硬編碼密鑰對EC2進行身份驗證。身份驗證創建一個AMI的新實例沒有硬編碼的祕密密鑰

我的問題是,有沒有辦法在EC2中執行某些操作,而無需對密鑰進行硬編碼或從Environment variables獲取密鑰?

我讀了約IAM。我創建了一個IAM User併爲用戶分配了權限。上述密鑰屬於該用戶。

爲什麼我不想硬編碼鍵的原因是因爲它的安全性較低,並且還我覺得有它在Environment variable不太安全以及

回答

0

我不是太肯定「驗證到EC2」,但如果您在EC2實例中運行應用程序,則應使用instance profile訪問AWS服務。您可以參考this如何管理Java的憑證。

0

在IAM中,您將創建一個角色,併爲您的EC2實例分配所需的權限。

然後,您可以將該角色與EC2實例相關聯。任何AWS認知工具或使用AWS開發工具包編寫的應用程序都將使用該角色獲取臨時憑證以完成他們需要執行的操作。

如果你想自己做這個,你需要獲得臨時憑證,按照this。這包括調用本地實例元數據服務:

GET http://169.254.169.254/latest/meta-data/iam/security-credentials/EMR_EC2_DefaultRole 
+0

當您說「AWS aware tools」時,它是否也意味着我的應用程序?如何讓我的應用程序知道IAM? –

相關問題