SOAデプロイ、プロビジョニング、および自動化

ある企業の複数のCloudFormationスタックは同じRDSデータベースの接続情報(エンドポイント・ユーザー名・パスワード)を参照する必要があります。パスワードはSystems Manager Parameter StoreにSecureString型で保存されています。セキュリティチームはCloudFormationテンプレートやOutputsへの認証情報の平文記載を禁止しています。最もセキュアかつ運用負荷が低い参照方法はどれですか?

A
CloudFormationのOutputs/Importを使用してスタック間でパスワード値を共有する(ExportするスタックでパラメータストアからLambdaカスタムリソースで取得しOutputに出力する)
Outputs/Importを使用する方法は、平文でエクスポートされるため不適切です。
B
CloudFormationの動的参照構文 `{{resolve:ssm-secure:/prod/db/password}}` をテンプレート内に記述してSecureStringパラメータを直接参照する
✓ 正解
CloudFormationの動的参照(Dynamic References)はテンプレート内で `{{resolve:ssm-secure:/path/to/param}}` 構文を使うことでSSM SecureStringパラメータをデプロイ時に直接解決できる。値はCloudFormationが内部的にKMS復号して使用し、テンプレートやOutputsには平文が露出しません。
C
各スタックデプロイ前にシェルスクリプトでParameter Storeから値を取得し、`--parameter-overrides` でCloudFormationパラメータとして渡す
シェルスクリプト経由はコマンド履歴やCI/CDログに値が残るリスクがあります。
D
Parameter StoreのSecureStringをSecretsManagerに移行し、LambdaカスタムリソースでシークレットARNを取得してCloudFormationに渡す
Parameter Store → Secrets Manager への移行は不要な追加ステップです。

解説

CloudFormationの動的参照(Dynamic References)はテンプレート内で `{{resolve:ssm-secure:/path/to/param}}` 構文を使うことでSSM SecureStringパラメータをデプロイ時に直接解決できる。値はCloudFormationが内部的にKMS復号して使用し、テンプレートやOutputsには平文が露出しません。 選択肢AのOutputs/Importを使用する方法は、平文でエクスポートされるため不適切です。 選択肢Cのシェルスクリプト経由はコマンド履歴やCI/CDログに値が残るリスクがあります。 選択肢DのParameter Store → Secrets Manager への移行は不要な追加ステップです。

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

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

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