ECR private repositories should not grant public image uploads

Description

Identify when Amazon Elastic Container Repositories container images can be created or overwritten by anyone.

Rationale

Publicly accessible Amazon Elastic Container Repositories (ECR) allows unauthorized users access to private container image repositories. This can lead to tampering with mutable container images potentially leading to unauthorized access to infrastructure or data.

Remediation

  1. First, retrieve the current policy of the repository. Replace , , and with your actual values:
    aws ecr get-repository-policy --region <region> --registry-id <account-id> --repository-name <repository-name>
    
  2. Open the policy.json file in a text editor. Look for the statement that grants public access (the one with “Principal”: “*”) and remove it.
  3. After editing the policy, apply the updated policy to the repository:
        aws ecr set-repository-policy --region <region> --registry-id <account-id> --repository-name <repository-name> --policy-text file://policy.json