Windows

將敏感憑證放入 AWS 實例的 userdata 屬性

  • August 1, 2019

我將敏感憑據注入使用者數據,但不確定這是否安全。

我正在使用 userdata 屬性執行一個腳本,該腳本在實例上線時將其加入域

並像這樣傳遞信譽:

$ADUser = 'me'
$ADPassword = 'Pass'
$ADPassword  = $ADPassword | ConvertTo-SecureString -AsPlainText -Force
$ADCred = New-Object System.Management.Automation.PSCredential -ArgumentList $ADUser, $ADPassword

Add-Computer -Credential $ADCred -DomainName mydom.local -NewName testing
Restart-Computer -force

我正在使用New-EC2Instancecmdlet 啟動它並將此腳本作為使用者數據傳遞

我的憑據是否會出現在 aws 日誌的錯誤輸出中?或者別的地方?在將憑據注入 PS 命令之前,它們是安全的,我擔心它在 AWS 中的位置。

不要將憑據和其他敏感數據放在使用者數據腳本中。

AWS 文件強調:

重要的

儘管您只能從實例本身訪問實例元數據和使用者數據,但這些數據不受加密方法的保護。任何可以訪問該實例的人都可以查看其元數據。因此,您應該採取適當的預防措施來保護敏感數據(例如長期存在的加密密鑰)。您不應將敏感數據(例如密碼)儲存為使用者數據。

來源:http ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

相反,為 EC2 實例創建一個 IAM 角色並授予它執行需要執行的內容的權限。然後將 IAM 角色分配給 EC2 實例。

引用自:https://serverfault.com/questions/812381