将敏感凭据放入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启动它,并以userdata的forms传递此脚本

我的credentails能否在aws日志中显示错误输出? 或者别的地方? 在注入PS命令之前,credentails是安全的,我担心它在AWS中的位置。

不要将凭据和其他敏感数据放在用户数据脚本中。

AWS文件强调:

重要

虽然您只能从实例本身访问实例元数据和用户数据,但数据不受encryption方法的保护。 任何可以访问该实例的人都可以查看其元数据。 因此,您应该采取适当的预防措施来保护敏感数据(如长期encryption密钥)。 您不应将敏感数据(如密码)存储为用户数据。

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

相反,为EC2实例创build一个IAMangular色,并为其授予执行需要执行的内容的权限。 然后,当EC2实例启动时,将IAMangular色分配给EC2实例(以后不能分配)。