web-dev-qa-db-ja.com

機密性の高い認証情報を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コマンドレットを使用して起動し、このスクリプトをuserdataとして渡します

私のクレジットはawsログのエラー出力に表示されますか?またはどこか他の? credentailsは、PSコマンドに挿入される前は安全であり、AWSのどこにあるかを懸念しています。

3
red888

ユーザーデータスクリプトに資格情報やその他の機密データを入れないでください。

AWSドキュメントは次のことを強調しています。

重要

インスタンスメタデータとユーザーデータにはインスタンス自体からのみアクセスできますが、データは暗号化方式によって保護されていません。インスタンスにアクセスできる人は誰でもそのメタデータを表示できます。したがって、機密データ(長期間有効な暗号化キーなど)を保護するために適切な予防措置を講じる必要があります。パスワードなどの機密データをユーザーデータとして保存しないでください。

出典: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

代わりに、EC2インスタンスのIAMロールを作成し、実行する必要があるものを実行するためのアクセス許可を付与します。次に、IAMロールをEC2インスタンスに割り当てます。

5
Matt Houser