Inspector V2 の ECR 拡張スキャンで、特定のリポジトリのみスキャンをする制限の方法を教えてください。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

ECR にて複数のリポジトリがございますのが、特定のリポジトリのみ Inspector v2 の ECR 拡張スキャンでスキャンをしたいため、制限する方法を教えてください。

どう対応すればいいの?

レポジトリ名のフィルター機能を利用して特定のリポジトリのみ制限することができます。
以下の方法でフィルターすることができます。

1. マネジメントコンソール

Amazon Container Services → Amazon ECR → Private registry → Scanning
上記の操作でスキャン設定画面に行き、「連続スキャンフィルター」もしくは「プッシュフィルターのスキャン」を選択して、フィルターを設定します。
既存のリポジトリをフィルターする場合は、「連続スキャンフィルター」を設定します。

連続スキャンフィルター:継続的に脆弱性のスキャンするリポジトリのためのフィルター
プッシュフィルターのスキャン:イメージプッシュ時に脆弱性のスキャンするリポジトリのためのフィルター

2. AWS CLI v2

put-registry-scanning-configuration のコマンドで設定することができます。

  aws ecr put-registry-scanning-configuration \
  --scan-type ENHANCED \
  --rules '[{"repositoryFilters" : [{"filter":"<value>","filterType" : "WILDCARD"}],"scanFrequency" : "CONTINUOUS_SCAN"}]'

指定するオプションは以下になります。

  • scan-type:BASIC(基本スキャン)、ENHANCED(拡張スキャン)
  • rules:
    • repositoryFilters:filter(フィルターするキーワード)、filterType(フィルターのキーワードの種類)
    • scanFrequency:
      • ENHANCEDCONTINUOUS_SCAN または SCAN_ON_PUSH
      • BASICSCAN_ON_PUSH または MANUAL

やってみた

マネジメントコンソールで ECR のリポジトリのフィルター設定をしていきたいと思います。
今回は2つのリポジトリ(proddev)から prod のみがスキャン対象となるように設定していきます。

  1. まずは、フィルターする前の状態を Inspector V2 より、確認します。proddev が Enable になっています。

  2. ECR のスキャン設定に行き、「連続スキャンフィルター」にて prod のフィルターを追加して、保存します。

  3. リポジトリの一致: 連続スキャンフィルター より prod のみがフィルターに一致していることを確認します。

  4. Inspector の画面に戻り、スキャンが Enable になっているリポジトリを確認すると prod のみになっており、フィルターで制限がかかっていることを示しています。

参考情報