ECR のスキャン方式を確認する方法を教えてください
困っていた内容
ECR のスキャン方式は、基本スキャンと拡張スキャンの2種類がある認識です。
設定されているスキャン方式を確認する方法を教えてください
どう対応すればいいの?
Amazon ECR コンソールの場合はFeatures & Settings
のScanning
から確認します。
AWS CLI の場合はget-registry-scanning-configurationコマンドで確認します。
なお、スキャン方式はリージョンごとの設定であり、スキャンフィルターに一致しない場合の挙動は次の通りです。
- 基本スキャン:一致しない場合、スキャン頻度は手動となる
- 拡張スキャン:一致しない場合、スキャンは無効になる
Amazon ECR コンソールから確認する場合
Amazon ECR コンソールの「Private registry」からFeatures & Settings
、Scanning
の順にアクセスします。
次の画像では「拡張スキャン」が使用されています。
AWS CLIから確認する場合
get-registry-scanning-configurationコマンドを実行して、現在の設定値を確認できます。
# コマンド例
aws ecr get-registry-scanning-configuration
# 実行例(基本スキャン)
$ aws ecr get-registry-scanning-configuration
{
"registryId": "123456789012",
"scanningConfiguration": {
"scanType": "BASIC",
"rules": [
...
# 実行例(拡張スキャン)
$ aws ecr get-registry-scanning-configuration
{
"registryId": "123456789012",
"scanningConfiguration": {
"scanType": "ENHANCED",
"rules": [
...
参考資料
- get-registry-scanning-configuration — AWS CLI 2.31.20 Command Reference
- Amazon ECR でスキャンするリポジトリを選択するためのフィルター - Amazon ECR
基本スキャンが使用されている場合は、プッシュフィルターでスキャンを指定して、新しいイメージがプッシュされたときにイメージスキャンを実行するように設定されるリポジトリを指定できます。プッシュフィルターの基本的スキャンのスキャンと一致しないリポジトリは、マニュアルスキャン頻度に設定されます。これは、スキャンを実行する場合、手動でスキャンをトリガーする必要があります。
強化スキャンが使用されている場合は、プッシュ時のスキャンと連続スキャン用に別々のフィルターを指定できます。拡張スキャンフィルターに一致しないリポジトリでは、スキャンが無効になります。拡張スキャンを使用し、複数のフィルターが同じリポジトリに一致するプッシュ時スキャンと連続スキャンに別々のフィルターを指定すると、Amazon ECR はそのリポジトリのスキャンオンプッシュフィルターに対して連続スキャンフィルターを適用します。
Amazon ECR プライベートレジストリで拡張スキャンがオンになっている場合、スキャンフィルターに一致するリポジトリは、拡張スキャンのみを使用してスキャンされます。フィルターと一致しないリポジトリのスキャン頻度は Off であり、スキャンされません。