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 認可など) に関する機密な変数を管理できる。 |
| 暗号化キー | 変数の暗号化方法を設定する。 | |
| 変数やファイル | 変数やファイルをキーバリュー型で設定する。 | 選択したシークレットタイプによって、設定できる変数が異なる。 |