ある金融機関が AWS CodePipeline と AWS CodeBuild を使用した CI/CD パイプラインでサードパーティの npm パッケージを利用しています。セキュリティ審査チームから以下の要件が提示されました。 ① 承認されていないパブリック npm レジストリへの直接アクセスを CodeBuild 環境から禁止する ② 承認済みパッケージのみを管理する内部プロキシリポジトリを経由させる ③ 既知の脆弱性を含むパッケージバージョンの使用を継続的に検出・自動ブロックする これらの要件を最も適切に満たす構成を 2 つ選択してください。
A は CodeArtifact を内部プロキシとして機能させ(要件②充足)、VPC ネットワーク制御でパブリックレジストリへの直接アクセスをブロックします(要件①充足)。C は npm audit による CVE 検出でパイプラインを自動停止し、EventBridge/Lambda による CodeArtifact からの自動削除で要件③を満たします。B は DynamoDB ホワイトリストによるカスタム実装で複雑かつメンテナンスコストが高く、D は通知止まりで自動ブロックができません。E は WAF はアウトバウンド L7 制御には使用できず、EC2 上のリポジトリ自前構築も管理オーバーヘッドが大きく非推奨です。