SJ blog
ドリル一覧

T1-Q15: 数文字の大量Lambda機密値はSecrets ManagerよりParameter Store SecureString

Lambda環境変数の短い機密値を、コスト効率・ローテーション要件・IAM最小権限で切り分ける。

AWS SCS-C03 Parameter Store Secrets Manager Lambda

T1-Q15: 数文字の大量Lambda機密値はSecrets ManagerよりParameter Store SecureString

対象誤答: T1 Q15 PARAMETER STORE VS SECRETS MANAGER

あなたの選択と正答

観点内容
あなたの選択AWS Secrets Manager に環境変数を保存し、実行時にアクセスする。IAM 権限を設定する。
正答AWS Systems Manager Parameter Store に環境変数をSecureStringとして保存し、必要なLambdaだけにアクセスを許可する。
誤答の引力機密情報という単語だけでSecrets Managerに飛んでいる。問題は短い値、数千Lambda、最もコスト効率よく。
判断軸ローテーションやDB認証情報ならSecrets Manager。短い設定値を暗号化して低コストに配るならParameter Store SecureString。

この問題の芯

T1-Q15 は、数千の Lambda 関数の環境変数に短い機密情報がプレーンテキストで入っている問題。あなたは Secrets Manager を選んだ。正答は Parameter Store SecureString。

Secrets Managerが常に正解ではない

Secrets Manager は機密情報管理の本命に見える。ただし試験では「何を管理したいか」と「コスト制約」を見て切る。

要件寄せる先
RDS/Aurora認証情報の自動ローテーションSecrets Manager
APIキーやDBパスワードのローテーションSecrets Manager
短い設定値を暗号化して参照Parameter Store SecureString
数千Lambdaが頻繁に読む、最もコスト効率Parameter Store SecureString

この問題は「数文字程度」「数千Lambda」「最もコスト効率」とかなり露骨に Parameter Store へ寄せている。

実装イメージ

  1. /app/prod/token のような階層名で SecureString を作る
  2. KMSで暗号化する
  3. Lambda実行ロールに対象パラメータだけ ssm:GetParameter と必要な kms:Decrypt を許可する
  4. コード側は起動時またはキャッシュ付きで取得する

次回の秒殺ルール

「機密情報」だけで Secrets Manager に決めない。
「ローテーション」「DB認証情報」なら Secrets Manager。
「短い値」「設定値」「大量Lambda」「コスト効率」なら Parameter Store SecureString。

仕上げの一問一答

  • この問題の主語は何か: Lambda
  • 先に除外する選択肢: 問題文の主語と違うサービス責務に寄っているもの。
  • 最後に確認する語: 「最もコスト効率」「組織全体」「未指定を拒否」「監査」「自動有効化」などの制約語。

参照