🔖

Terraform(AWS)とParameterStoreで認証情報

2020/09/17に公開

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