AWS EC2インスタンスのcloud-initユーザーデータの起動時にパスワードを隠す

AWS EC2インスタンスのcloud-initユーザーデータの起動時にパスワードを隠す

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スクリプトに保持されていないことを指摘するためでした。

関連情報