AWS Secrets Manager とは?機密情報管理と自動ローテーション

AWS Secrets Manager は DB 認証情報・API キー・OAuth トークン等の機密情報を中央管理するサービス。自動ローテーション機能で RDS / Aurora のパスワードを定期的に自動更新でき、コードへのハードコーディングを排除できる。Paramet...

機密情報(DB パスワード・API キー等)を管理し、自動ローテーションを提供するサービス。


1. 概要(端的に)

AWS Secrets Manager は DB 認証情報・API キー・OAuth トークン等の機密情報を中央管理するサービス。自動ローテーション機能で RDS / Aurora のパスワードを定期的に自動更新でき、コードへのハードコーディングを排除できる。Parameter Store の上位機能版。


2. 何ができるか

  • 機密情報の保管:JSON / 文字列で任意の値
  • 暗号化保管:KMS で自動暗号化
  • 自動ローテーション:RDS / Aurora パスワードを定期更新
  • クロスリージョンレプリ:複数リージョンで利用可
  • VPC Endpoint:プライベート接続
  • IAM ベースアクセス制御

3. 特徴

観点特徴
追加料金シークレット $0.40/月 + API $0.05/1 万
暗号化KMS で自動
自動ローテLambda 関数経由
対応 DBRDS(MySQL/Postgres/MariaDB/Oracle/SQL Server)/ Aurora / DocumentDB

vs Parameter Store

観点Secrets ManagerParameter Store
料金有料($0.40/月)無料(標準)
自動ローテ×
クロスリージョン×
用途DB パスワード・本番機密設定値・非機密値

4. 仕組み

Secrets Manager は 暗号化されたシークレット保管 + ローテーション Lambda の組合せ。

動作の流れ

  1. シークレット作成(KMS で自動暗号化)
  2. アプリが API で取得(IAM 認証)
  3. 自動ローテ:定期的に Lambda 起動
  4. Lambda が DB パスワード変更 + Secrets Manager 更新
  5. アプリは常に最新シークレットを取得

ローテーション仕組み

旧パスワード(current)
  ↓ ローテ実行
1. 新パスワード生成
2. DB に新パスワード適用
3. 新パスワードを Secrets Manager に保存
4. アプリは取得時に新パスワード使用

5. ユースケース

ユースケース 1:RDS パスワード管理

ハードコーディング撤廃、自動ローテで運用負荷ゼロ。

ユースケース 2:API キー管理

サードパーティ API(Stripe・SendGrid 等)のキー管理。

ユースケース 3:マルチリージョン本番

レプリ機能で全リージョンに同一シークレット配信。

ユースケース 4:Lambda の環境変数代替

Lambda コードからオンデマンドで取得 → 暗号化済み環境変数より安全。


6. 関連用語


7. 関連サイト

AWS 公式


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFシークレット管理の概念
SAADB パスワード自動ローテ設計
DVAアプリからの API 利用
SOA運用・監査