Artifact Registry: Permission artifactregistry.repositories.uploadArtifacts denied Google Cloud / Firebase Origin: Platform & cloud Last updated 4 Nov 2026

Docker push: denied: Permission "artifactregistry.repositories.uploadArtifacts" denied on resource "projects/p/locations/l/repositories/r"

Your identity cannot push or pull images in that Artifact Registry repository, or Docker isn't authenticated to the registry host.

Exact message you may see Permission "artifactregistry.repositories.uploadArtifacts" denied on resourcedenied: Permission artifactregistry.repositories.downloadArtifacts deniedUnauthenticated request. Unauthenticated requests do not have permission "artifactregistry.repositories.uploadArtifacts"name unknown: Repository "x" not found Artifact Registrydenied: Permission "artifactregistry
Seen on: Google Cloud Docker

Meaning

Configure Docker credentials (gcloud auth configure-docker REGION-docker.pkg.dev), grant roles/artifactregistry.writer (push) or reader (pull) on the repository, and ensure the repository exists in that region with the exact path. In CI use a service account key-less auth.

Common causes

  • Docker not configured for the registry host
  • Missing writer/reader role
  • Repository doesn't exist or wrong region/path
  • Using gcr.io legacy host after migration
  • Cloud Build/Run service agent lacking reader

⚡ Quick fix

  1. gcloud auth configure-docker europe-docker.pkg.dev
  2. Grant roles/artifactregistry.writer to the pushing identity
  3. Create the repo: gcloud artifacts repositories create REPO --repository-format=docker --location=REGION

Detailed fix by platform

gcloud

  1. gcloud artifacts repositories add-iam-policy-binding REPO --location REGION --member=serviceAccount:SA --role=roles/artifactregistry.writer

How to diagnose

  1. Auth — configure-docker done?
  2. Role — writer/reader?
  3. Path — Repo exists?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Platform & cloud. Errors that are often confused with or caused by this one (click to open):

409: The resource already exists — Compute Engine: ERROR: (gcloud.compute.instances.create) Could not fetch resource: The resource 'projects/p/zones/z/instances/vm-1' already exists (Google Cloud / Firebase)409: The resource alr…429 RESOURCE_EXHAUSTED: Quota exceeded for quota metric — Google API: 429 RESOURCE_EXHAUSTED — Quota exceeded for quota metric 'Read requests' and limit 'Read requests per minute per user' (Google Cloud / Firebase)429 RESOURCE_EXHAUSTE…502 Bad Gateway: failed_to_connect_to_backend — Google Cloud Load Balancing: 502 Bad Gateway — jsonPayload.statusDetails: failed_to_connect_to_backend / backend_connection_closed_before_data_sent_to_client (Google Cloud / Firebase)502 Bad Gateway: fail…API has not been used in project before or it is disabled — Google Cloud: 403 SERVICE_DISABLED — Cloud Resource Manager API has not been used in project 123456 before or it is disabled. Enable it by visiting (Google Cloud / Firebase)API has not been used…BigQuery: Access Denied: Project: User does not have bigquery.jobs.create permission — BigQuery: Access Denied: Project my-project: User does not have bigquery.jobs.create permission in project my-project (Google Cloud / Firebase)BigQuery: Access Deni…BigQuery: Not found: Dataset was not found in location — BigQuery: Not found: Dataset my-project:analytics was not found in location EU (Google Cloud / Firebase)BigQuery: Not found: …BigQuery: Unrecognized name — BigQuery: Syntax error / Unrecognized name: customer_id at [3:8] (Did you mean customerId?) (Google Cloud / Firebase)BigQuery: Unrecognize…Cloud Build: step exited with non-zero status — Cloud Build: ERROR: build step 2 "gcr.io/cloud-builders/npm" failed: step exited with non-zero status: 1 (Google Cloud / Firebase)Cloud Build: step exi…Artifact …

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.