無限ノック › SCS 練習問題一覧 › 問題
SCSデータ保護

あるSaaS企業が、Amazon ECS(Fargateタイプ)上で動作するマイクロサービスから外部決済APIへのアクセスに使用するAPIキーを管理しています。 セキュリティ方針として以下が定められています。 ・APIキーは90日ごとに自動ローテーションされること ・ローテーション中もECSタスクの停止・再起動なしに新旧キーの切り替えを行えること ・APIキーがコードやコンテナイメージに埋め込まれないこと これら3要件をすべて満たすアーキテクチャはどれですか?

A
AWS Secrets ManagerにAPIキーを格納し、Lambdaで90日ごとに自動ローテーションする。ECSタスク定義でSecretsのARNを参照することでコード埋め込みを回避し、アプリがAWSCURRENTを動的取得することでタスク停止なしの切り替えを実現する。
✓ 正解
AWS Secrets ManagerはLambdaローテーション関数による自動ローテーション、AWSCURRENT/AWPREVIOUSステージングラベルによるゼロダウンタイム切り替え、ECSタスク定義へのネイティブシークレット注入を備えており、3つの要件をすべて満たします。アプリケーションが実行時にSDKでシークレットを取得することでタスク再起動も不要です。
B
ECSタスク定義の環境変数にAPIキーを直接設定し、90日ごとに新しいAPIキーを反映したタスク定義の新リビジョンを作成してECSサービスを再デプロイすることでローテーションを実現する。
ECSタスク定義の環境変数にAPIキーを設定する方法はキーがタスク定義のコンテナ設定に平文で記録されるため「埋め込み禁止」要件に違反します。またローテーションのたびにタスク定義の新リビジョン作成とサービス再デプロイが必要で「停止なし」の要件も満たせません。
C
AWS Systems Manager Parameter StoreのSecureStringパラメータにAPIキーを保存し、EventBridgeスケジュールルールで90日ごとにLambda関数をトリガーしてパラメータを更新し、ECSタスクロールで読み取り権限を付与する。
AWS Systems Manager Parameter StoreはSecureStringで安全な保存が可能ですが、外部APIキーの自動ローテーション機能を持ちません。Lambda関数で更新ロジックを自作してもAWSCURRENT/AWPREVIOUSのようなステージングラベルによるゼロダウンタイム切り替えが実現できず、要件を完全には満たしません。
D
AWS KMSでデータキーを生成してAPIキーをアプリケーションレベルで暗号化し、Amazon S3バケットに保存する。ECSタスクがS3から暗号化済みキーを取得して復号し、90日ごとに更新済みキーをS3に再アップロードして切り替える。
KMSとS3を組み合わせた独自実装は暗号化保存自体は可能ですが、自動ローテーション・ゼロダウンタイム切り替え・ECSへの安全な注入をすべてアプリケーション側で実装する必要があります。Secrets Managerのマネージドな自動ローテーションとECSネイティブ統合と比べて構成が大幅に複雑になります。

解説

AWS Secrets Managerは外部APIキーの自動ローテーションを含む包括的なシークレット管理機能を提供します。Lambdaローテーション関数を使用して90日ごとに外部決済プロバイダーのAPIキーを自動更新し、AWSCURRENT・AWSPENDING・AWPREVIOUSのステージングラベルによるバージョン管理によってローテーション中も旧キーへのフォールバックが可能なためダウンタイムがありません。ECSタスク定義のsecretsフィールドにSecrets ManagerのARNを指定することでAPIキーをコードやイメージに埋め込まずに安全に注入でき、アプリケーションが実行時にAWS SDK経由でAWSCURRENTを取得する構成にすることでタスク再起動なしの切り替えも実現できます。 選択肢BのECSタスク定義の環境変数方式はAPIキーをタスク定義のコンテナ設定に平文で記録するため「コードへの埋め込み禁止」要件に違反します。またローテーションのたびにECSサービスの再デプロイが必要になり「停止なし」の要件も満たせません。 選択肢CのSSM Parameter StoreはSecureStringで安全な保存が可能ですが、外部APIキーの自動ローテーション機能がなく、AWSCURRENT/AWPREVIOUSのようなステージングラベルによるゼロダウンタイム切り替えも実現できないため、要件を完全には満たしません。 選択肢DのKMS+S3による独自実装は暗号化保存自体は可能ですが、自動ローテーション・ゼロダウンタイム切り替え・ECSへの安全な注入をすべてアプリケーション側で実装する必要があり、Secrets Managerのマネージド機能と比較して運用コストと実装リスクが著しく高くなります。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← SCS の問題一覧に戻る