無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

CodeBuildを使用したパイプラインで、プライベートサブネット内のRDSデータベースに対して統合テストを実行する必要があります。データベースの接続文字列とパスワードをbuildspecから安全に参照する方法として最も適切なものはどれですか?

A
AWS Secrets ManagerにDB認証情報を保存し、buildspecのenv/secrets-managerセクションでシークレットARNを参照する。CodeBuildサービスロールにsecretsmanager:GetSecretValue権限を付与する
DB認証情報をSecrets Managerに保存し、buildspecのenv/secrets-managerセクションで参照する方法です。ビルドログへの露出を防ぎ、自動ローテーション機能も備えており本番環境向けですが、すべてのシナリオで最適とは限りません。
B
Systems Manager Parameter Store(SecureString型)にパスワードを保存し、buildspecのenv/parameter-storeセクションで参照する。CodeBuildサービスロールにssm:GetParametersとkms:Decrypt権限を付与する
パスワードをParameter Store(SecureString型)に保存し、buildspecのenv/parameter-storeセクションで参照する方法です。ビルドログへの露出を防ぎ、KMS利用料のみで運用できるためコスト最適化が優先される開発環境に適しています。
C
データベースパスワードをCodeBuildプロジェクトの環境変数にプレーンテキストで設定し、buildspecから環境変数として参照する
CodeBuildプロジェクトの環境変数にプレーンテキストでパスワードを設定する方法です。値がCodeBuildビルドログやAWSコンソールに平文で露出するセキュリティリスクがあり、本番・開発環境を問わず不適切です。
D
Secrets ManagerとParameter Store(SecureString)はどちらもCodeBuildネイティブサポートでビルドログへの露出を防止でき、ローテーション要否とコスト優先度で使い分けるのが適切である
✓ 正解
Secrets ManagerとParameter Store(SecureString)はどちらもCodeBuildネイティブサポートで値をビルドログから安全にマスクします。自動ローテーション機能が必要な本番DBにはSecrets Manager、コスト最適化が優先される開発環境にはParameter Store(SecureString)という適切な使い分けを示しています。

解説

選択肢Aの(AWS Secrets Manager)は、Secrets ManagerのシークレットARNをbuildspecのenv/secrets-managerセクションで参照する方法です。値はビルドログに自動マスクされ安全で、自動ローテーション機能も備えており、本番DBの認証情報管理に適しています。 選択肢Bの(Systems Manager Parameter Store)は、SecureString型をbuildspecのenv/parameter-storeセクションで参照する方法です。値はビルドログに自動マスクされ安全で、KMS利用料のみで運用できるためコスト最適化が優先の開発環境などに適しています。 選択肢Cの(プレーンテキスト環境変数)は、CodeBuildプロジェクトの環境変数にプレーンテキストで設定する方法ですが、ビルドログやAWSコンソールに平文で露出するリスクがあり不適切です。

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

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

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