🔖
Terraform(AWS)とParameterStoreで認証情報
Terraformに認証情報を入れたいとき、そのままベタに書くとGit管理下に入り不必要な人まで読めてしまうので隠蔽したい。よくあるとおもいます。AWSの場合はSystems ManagerのParameter Storeを使う方法が比較的簡単です。
長所は簡単、欠点は実際のデータ投入はTerraform使えないのでちょい面倒くさい、ぐらいでしょうか。
パラメータストアに認証情報を入れる
パラメータストアはKey(nameと呼ばれています)にパス名を使うKVSみたいな仕組みになっていて、簡単に暗号化もできます。まずは認証情報をGUIなりCUIなりお好きな方法で入れましょう。nameはパスみたいに区切って使うといいです。
Terraformで認証情報を使う
先程登録したパラメータをdataで呼び出します
data "aws_ssm_parameter" "sample_params" {
name = "/sample/secret"
}
resource "aws_sample" "sample" {
secret = data.aws_ssm_parameter.sample_params.value
...
}
このようにdata.aws_ssm_parameter.'tf_name'.value
で呼べるので、使いたいところに挿入すればおっけーです。
Discussion