ある企業のソリューションアーキテクトは、複数のLambda関数からデータベースの接続パスワードを安全に取得できる仕組みを設計しています。 要件は以下の通りです。 ・パスワードへのアクセスはIAMポリシーで制御すること ・特定のチームのみが復号できるように制限をかけること ・コストを最小限に抑えること 最も適切な設計はどれですか?
【正解:B】CMKを使用したSecureStringは、SSM権限とKMS権限の両方をIAMで独立して制御できるため、「特定チームのみが復号できる」という要件を最も細かく満たせる。Parameter StoreのStandardティアはコスト無料(KMS APIコール分のみ)であり、Secrets Managerより低コストで運用できる。 【Aが不正解の理由】Secrets Managerはシークレット1件ごとに月額課金が発生するため、コスト最小化の要件に反する。また自動ローテーション機能は今回の要件に含まれていない。 【Cが不正解の理由】Stringタイプは暗号化されないため、パスワードが平文で保存される。機密情報の安全な管理という要件を満たさない。 【Dが不正解の理由】AWSマネージドキー(aws/ssm)はAWSが管理するためキーポリシーを細かく制御できず、「特定チームのみが復号できる」という要件を満たせない。また--with-decryptionオプション使用時はkms:Decrypt権限も必要であり、ssm:GetParameterのみでは復号できない。