方法
モジュール random_password
を使う
ほぼ同じ random_string
もある。 random_password
は生成結果を標準出力に出さないため、 random_string
よりセキュア
使い方
resource "random_password" "master_password" { length = 10 special = false }
パラメータ
- length: 文字列長
他はオプション
よく使うのは、 special
(!@#$%&*()-_=+[]{}<>:?
の使用可否 ) くらいか (大体 false
にする )
使いみち
AWS Systems Manager パラメータストアをterraformで定義したいけど、パスワードの値はterraformに持たせたくないので、仮のパスワードをひとまず入れておきたい場合などに使う
resource "random_password" "db_password" { length = 10 special = false } resource "aws_ssm_parameter" "db_password" { name = "/hoge/db/passowrd" type = "SecureString" value = random_password.db_password.result lifecycle { ignore_changes = [value] } }
lifecycle
ignore_changes = [value]
を設定することで、terraform上では、value
は上書きされなくなるterraform apply
実行後、管理コンソールなどから本当のパスワードを手入力する