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

ある金融機関が AWS CodePipeline と AWS CodeBuild を使用した CI/CD パイプラインでサードパーティの npm パッケージを利用しています。セキュリティ審査チームから以下の要件が提示されました。 ① 承認されていないパブリック npm レジストリへの直接アクセスを CodeBuild 環境から禁止する ② 承認済みパッケージのみを管理する内部プロキシリポジトリを経由させる ③ 既知の脆弱性を含むパッケージバージョンの使用を継続的に検出・自動ブロックする これらの要件を最も適切に満たす構成を 2 つ選択してください。

A
AWS CodeArtifact ドメインとリポジトリを作成してパブリック npm レジストリをアップストリーム(上流リポジトリ)に設定する。CodeBuild の npm レジストリを CodeArtifact エンドポイントに向け、CodeBuild を配置する VPC のセキュリティグループおよびネットワーク ACL でパブリック npm への直接アクセスをブロックする
✓ 正解
CodeArtifactをパブリックレジストリの内部プロキシとして機能させ、VPCネットワーク制御でパブリックへの直接アクセスをブロックできます。
B
CodeBuild の buildspec.yml に pre_build フェーズを追加し、npm install 前に package.json のすべての依存関係を Amazon DynamoDB に保存したホワイトリストと照合するカスタム Lambda 関数を呼び出す
DynamoDBホワイトリスト照合はカスタム実装で複雑であり、依存関係の定期更新に伴うメンテナンスコストが非常に高くなります。
C
CodePipeline に脆弱性スキャンステージを追加し、CodeBuild で npm audit コマンドを実行して CVE(共通脆弱性識別子: Common Vulnerabilities and Exposures)が検出された場合にビルドを失敗させる。さらに Amazon EventBridge と AWS Lambda を組み合わせ、脆弱性の見つかったパッケージバージョンを CodeArtifact リポジトリから自動削除または使用禁止にするオートメーションを構築する
✓ 正解
npm auditでCVE検出時にビルド失敗させ、EventBridge/Lambdaで脆弱パッケージを自動削除する統合されたアプローチです。
D
AWS Security Hub のカスタムインサイトを作成して CodeBuild のビルドログを解析し、npm パッケージの脆弱性を検出する。検出時に Amazon SNS で開発チームに通知する
脆弱性検出から通知までは行いますが、脆弱パッケージの自動ブロック・削除機能がなく自動化が不完全です。
E
AWS WAF(Web Application Firewall)を CodeBuild のアウトバウンド通信経路に配置し、npmjs.com への HTTP リクエストを Web ACL(アクセス制御リスト)ルールでブロックする。代替として内部パッケージリポジトリサーバーを Amazon EC2 上に構築して使用する
AWS WAFはアウトバウンドL7制御には使用できず、EC2上のリポジトリ自前構築は管理オーバーヘッドが大きく非推奨です。

解説

A は CodeArtifact を内部プロキシとして機能させ(要件②充足)、VPC ネットワーク制御でパブリックレジストリへの直接アクセスをブロックします(要件①充足)。C は npm audit による CVE 検出でパイプラインを自動停止し、EventBridge/Lambda による CodeArtifact からの自動削除で要件③を満たします。B は DynamoDB ホワイトリストによるカスタム実装で複雑かつメンテナンスコストが高く、D は通知止まりで自動ブロックができません。E は WAF はアウトバウンド L7 制御には使用できず、EC2 上のリポジトリ自前構築も管理オーバーヘッドが大きく非推奨です。

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

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

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