Skip to main content

More Info:

Scan images being deployed to Amazon EKS for vulnerabilities.

Risk Level

High

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CIS GKE
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • Essential 8
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Manual Steps

  1. List who can access Container/Artifact Registry at the project level
    • Run on any machine with gcloud and gsutil configured:
    • Review members with broad roles that can affect images, such as:
      • roles/storage.admin, roles/storage.objectAdmin, roles/storage.objectCreator
      • roles/artifactregistry.admin, roles/artifactregistry.repoAdmin, roles/artifactregistry.writer
      • roles/owner, roles/editor
    • Decide which identities truly need publish (write) or pull (read) access for container images.
  2. Inspect IAM on GCR storage bucket(s)
    • For legacy GCR, list buckets and view IAM:
    • Look for members with:
      • roles/storage.admin, roles/storage.objectAdmin, roles/storage.objectCreator
    • Determine which should be reduced to read-only (objectViewer) or removed entirely.
  3. Inspect IAM on Artifact Registry repositories
    • List repositories and their IAM:
    • Identify users/groups/service accounts with admin or write roles that do not strictly need them.
  4. Right-size access on the GCR bucket (if used)
    • For each identity that only needs to pull images from GCR, grant read and remove excessive roles:
    • For project-level roles that grant excessive storage or registry permissions, edit a policy file:
  5. Right-size access on Artifact Registry repositories
    • For each principal that only needs to pull images:
      • Prefer roles/artifactregistry.reader on the specific repository.
    • For each that needs to push images but not administer IAM:
      • Prefer roles/artifactregistry.writer on the specific repository.
    • Example to set a minimal policy for one repository (edit as needed):
  6. Verify that only least-privilege access remains
    • Re-check project and resource-level IAM to ensure no unnecessary broad roles remain:
    • Confirm that:
      • Only identities that must publish images have writer roles on specific repos/buckets.
      • Identities that only pull images have read-only roles.
      • Broad roles (e.g., owner, editor, storage.admin, artifactregistry.admin) are not granted where unnecessary for registry use.
kubectl cannot be used to change Container Registry or Artifact Registry IAM permissions; those are managed at the GCP project, registry, or underlying storage bucket level via gcloud/gsutil, the GCP console, or IaC. To address this finding, make the changes described in the Manual Steps section using those cloud‑provider tools.

Additional Reading: