Windows
將敏感憑證放入 AWS 實例的 userdata 屬性
我將敏感憑據注入使用者數據,但不確定這是否安全。
我正在使用 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-EC2Instance
cmdlet 啟動它並將此腳本作為使用者數據傳遞我的憑據是否會出現在 aws 日誌的錯誤輸出中?或者別的地方?在將憑據注入 PS 命令之前,它們是安全的,我擔心它在 AWS 中的位置。
不要將憑據和其他敏感數據放在使用者數據腳本中。
AWS 文件強調:
重要的
儘管您只能從實例本身訪問實例元數據和使用者數據,但這些數據不受加密方法的保護。任何可以訪問該實例的人都可以查看其元數據。因此,您應該採取適當的預防措施來保護敏感數據(例如長期存在的加密密鑰)。您不應將敏感數據(例如密碼)儲存為使用者數據。
來源:http ://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
相反,為 EC2 實例創建一個 IAM 角色並授予它執行需要執行的內容的權限。然後將 IAM 角色分配給 EC2 實例。