Amazon ECR で Basic scanning(基本スキャン)を使う場合に「リポジトリレベル」の設定は現在推奨されてなく,マネジメントコンソール上だと リポジトリレベルの ScanOnPush 設定は非推奨となり、レジストリレベルのスキャンフィルターが優先されます。
のように警告が表示される🚨 現在は「レジストリレベル」での設定をする必要がある💡
Terraform だと aws_ecr_registry_scanning_configuration
リソースを使って設定できる.scan_type
には BASIC
もしくは ENHANCED
を設定できて,今回は東京リージョン (ap-northeast-1) と大阪リージョン (ap-northeast-3) に設定するため BASIC
とする.大阪リージョンに Amazon Inspector 来てくれぇ〜🙏
resource "aws_ecr_registry_scanning_configuration" "main" { scan_type = "BASIC" rule { scan_frequency = "SCAN_ON_PUSH" repository_filter { filter = "*" filter_type = "WILDCARD" } } }
ちなみに Basic scanning(基本スキャン)の場合は scan_frequency
に SCAN_ON_PUSH
と MANUAL
を指定できて,気になって CONTINUOUS_SCAN
を指定してみたら terraform apply
時にエラーが出た.メモしておく〜 φ(..)
Error: creating ECR Registry Scanning Configuration: InvalidParameterException: Invalid parameter failed to satisfy constraint: 'Invalid scan frequency for scanType BASIC: CONTINUOUS_SCAN'
結果
期待通りに構築できた❗️
今回はフィルタで *
を指定したので プッシュ時にすべてのリポジトリをスキャンする
に ✅ が入っている〜