I'm trying to push a helm chart to Google Cloud ***OCI*** registry (Artifact Registry) but I get forbidden error:

`helm push testapp-1.0.0.tgz oci://europe-north1-docker.pkg.dev/project-id/my-artifact-registry/`

> 
> Error: failed to authorize: failed to fetch anonymous token:
> unexpected status: 403 Forbidden
> 
> 
> 

It seems that I'm authenticated ok since when I do try to push it but without **"oci://"** it works fine:

`helm chart push europe-north1-docker.pkg.dev/project-id/my-artifact-registry/charts/testapp:1.0.0`

> 
> The push refers to repository [europe-north1-docker.pkg.dev/..]  
> 
> ref: europe-north1-docker.pkg.dev/...  
> 
> digest: 2757354aef8af2db48261d52c17c0df35a99d6fccaf016b0e67e167c391b69c7  
> 
> size:3.9 KiB   
> 
> name: testapp   
> 
> version: 1.0.0  
> 
> 1.0.0: pushed to remote (1 layer, 3.9 KiB total)
> 
> 
> 

I logged in to the helm registry using service account json key, using below command:

`helm registry login -u _json_key_base64 --password <base_64_key> https://europe-north1-docker.pkg.dev`

and this service-account has below roles:

> 
> roles/artifactregistry.admin  
> 
> roles/artifactregistry.repoAdmin  
> 
> roles/artifactregistry.writer  
> 
> roles/container.developer  
> 
> roles/storage.admin  
> 
> roles/storage.objectViewer
> 
> 
> 

Is there any specific permission needs to be enabled in GCP to use "OCI" protocol?

or any service need to be enabled?

or any different authentication required?

I followed the instructions [here](https://cloud.google.com/artifact-registry/docs/helm/manage-charts) but with no success