無限ノック › DOP 練習問題一覧 › 問題
DOPセキュリティとコンプライアンス

DevOps チームは CodePipeline でアプリケーションをデプロイしており、本番データベースの接続情報を 30 日ごとに自動ローテーションさせる必要があります。ローテーション後もアプリケーションがダウンタイムなしに新しい認証情報を使用できることが要件です。最もセキュアで運用効率の高いアプローチはどれですか?

A
認証情報を SSM Parameter Store(SecureString)に保存し、EventBridge スケジュールルールで Lambda を 30 日ごとに起動してパラメータを更新する。アプリケーションは起動時にパラメータを取得してメモリにキャッシュする
「認証情報を SSM Parameter Store」はSSM Parameter Storeは自動ローテーション機能を持たないためLambdaでの手動更新が必要となり運用負荷が発生します。またアプリケーションが起動時にキャッシュした認証情報はローテーション後に古くなり接続エラーが発生する可能性があります。
B
AWS Secrets Manager に認証情報を保存し、データベースエンジン向け自動ローテーション Lambda を設定する。アプリケーションは SDK で Secrets Manager から動的に認証情報を取得する
✓ 正解
AWS Secrets ManagerはRDS・Redshift・DocumentDBなどの主要データベース向け組み込み自動ローテーション機能を提供します。ローテーション中はAWSPENDINGとAWSCURRENTの2バージョンが共存する期間を設けることでゼロダウンタイムローテーションを実現します。
C
認証情報を CodePipeline の環境変数として KMS 暗号化で設定し、30 日ごとに手動で更新して再デプロイする
「認証情報を CodePipeline の環境変数」はCodePipelineの環境変数への認証情報設定は機密情報管理として不適切であり、30日ごとの手動更新・再デプロイは運用負荷が高くなります。
D
認証情報を S3 バケット内の KMS 暗号化ファイルに保存し、IAM ロールでアクセス制御する。CodeBuild がビルド時にファイルを取得して環境変数に設定する
「認証情報を S3 バケット内」はS3バケット内ファイルへの保存は機密情報管理として不適切であり、CodeBuildのビルド時取得で認証情報が環境変数に展開されるセキュリティリスクがあります。

解説

AWS Secrets ManagerはRDS・Redshift・DocumentDBなどの主要データベース向け組み込み自動ローテーション機能を提供します。ローテーション中はAWSPENDINGとAWSCURRENTの2バージョンが共存する期間を設けることでゼロダウンタイムローテーションを実現します。 選択肢Aの「認証情報を SSM Parameter Store」はSSM Parameter Storeは自動ローテーション機能を持たないためLambdaでの手動更新が必要となり運用負荷が発生します。またアプリケーションが起動時にキャッシュした認証情報はローテーション後に古くなり接続エラーが発生する可能性があります。 選択肢Cの「認証情報を CodePipeline の環境変数」はCodePipelineの環境変数への認証情報設定は機密情報管理として不適切であり、30日ごとの手動更新・再デプロイは運用負荷が高くなります。 選択肢Dの「認証情報を S3 バケット内」はS3バケット内ファイルへの保存は機密情報管理として不適切であり、CodeBuildのビルド時取得で認証情報が環境変数に展開されるセキュリティリスクがあります。

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

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

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