コンテンツにスキップ

AWS Secrets Manager

はじめに

本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。


01. AWS Secrets Manager とは

変数やファイルをキーバリュー型で永続化する。

永続化されている間は暗号化されており、復号したうえで、変数やファイルとして対象の AWS リソースに出力する。

Kubernetes のシークレットの概念が取り入れられている。


02. セットアップ (コンソールの場合)

2-02. セットアップ (Terraform の場合)

resource "aws_secretsmanager_secret" "foo" {
  name       = "foo-secret"
  kms_key_id = aws_kms_key.foo.arn
}

resource "aws_secretsmanager_secret_version" "foo" {
  secret_id     = aws_secretsmanager_secret.foo.id
  secret_string = jsonencode({
    username = "foo"
    password = var.foo_password
  })
}

設定項目

設定項目 補足
シークレットタイプ 機密な変数やファイルを出力する対象の AWS リソースを設定する。 2022/09/09 時点では、ベーシック認証 (RDS、DocumentDB、Red など) 、それ以外の認証/認可 (API キー認証、OAuth 認可など) に関する機密な変数を管理できる。
暗号化キー 変数の暗号化方法を設定する。
変数やファイル 変数やファイルをキーバリュー型で設定する。 選択したシークレットタイプによって、設定できる変数が異なる。