AWS EC2 インスタンスは、cloud-init
起動時に新しいユーザーを作成し、新しいユーザーのパスワードを設定します。 Terraformは、Amazon Linux 2を実行する新しいEC2インスタンスの作成をトリガーするために使用されます。パスワードはTerraform変数を介してインスタンスに送信され、その値はUSERDATA
で実行されているbashスクリプトに挿入されますcloud-init
。
問題は、cloud-init
ログファイル(/var/log/cloud-init-output.log
)が永続ログにパスワード値を出力していることです。
cloud-initログファイルにパスワードが保持されないようにするには、次のコードでどの特定の構文を変更する必要がありますか?
この安全でないログエントリを生成するbashファイルのコード行はcloud-init
userdata
現在、次のように書かれています。
echo "${var.vm_username}":"${var.vm_pwd}" | chpasswd
メモ: ログからパスワードを非表示にする方法のみを検討したい場合(コマンドが次の場合)、Terraform要素を無視できます。
echo myusername:mypassword | chpasswd
OPでTerraformに言及した唯一の理由は、パスワードがcloud-init
userdata
スクリプトに保持されていないことを指摘するためでした。