web-dev-qa-db-fra.com

Google Compute Engine: erreur d'autorisation "compute.zones.get" requise

J'essaie de créer un cluster Kubernetes dans Google Cloud Platform et je reçois l'erreur suivante lorsque j'essaie de créer le cluster à partir de l'application Web:

Une erreur inconnue s'est produite dans Compute Engine: "EXTERNE: Google Compute Engine: autorisation" compute.zones.get "requise pour" projets/mon-projet-198766/zones/us-west1-a "". Code d'erreur: "18"

Lorsque j'utilise gcloud, je reçois cette réponse:

(gcloud.container.clusters.create) ResponseError: code = 403, message = Google Compute Engine: autorisation "compute.zones.get" requise pour "projets/mon-projet-198766/zones/us-west1-a"

Veuillez noter que j'ai le rôle Propriétaire et que je peux créer des instances VM sans aucun problème.

Des idées?

7
TheoK

Ce type de problème peut survenir si votre robot cloudservices est supprimé en tant qu'éditeur de projet. Ma meilleure supposition est que dans votre cas, c'est le problème.

Cela peut se produire en raison d'un appel d'API qui a SetIamPolicy qui manque le robot cloudservices des liaisons "rôles/éditeur". SetIamPolicy est un PUT simple, il remplacera la politique fournie dans la demande. Vous pouvez obtenir la liste des stratégies IAM pour votre projet avec la commande ci-dessous sous la forme donnée dans cet article .

gcloud projects get-iam-policy [project-id]

Dans la liste, vous pouvez vérifier si le compte de service ci-dessous dispose ou non de l'autorisation de l'éditeur.

[id] @ cloudservices.gserviceaccount.com

Pour résoudre le problème, vous pouvez accorder le compte de service mentionné "Editeur" permission et vérifier si cela résout le problème ou non .

J'espère que cela t'aides.

3
Taher

dans mon cas, j'ai supprimé les comptes de service/IAM ou autre chose et ce même message d'erreur est apparu lorsque j'ai essayé de créer un cluster kubernetes.

J'ai demandé à Google de recréer mes comptes de service, et ils ont mentionné que vous pouvez recréer des comptes de service et leurs autorisations simplement en les réactivant. Donc, dans mon cas, j'ai exécuté les deux commandes suivantes afin de faire fonctionner à nouveau kubernetes:

gcloud services enable compute
gcloud services enable container

Voici le lien qu'ils m'ont donné: https://issuetracker.google.com/64671745#comment2

5
Christian Butzke

Je crois que j'ai compris. J'ai essayé de suivre les conseils de GitHub . Les autorisations que je devais définir sur mon compte (appelées [email protected]) étaient:

roles/compute.instanceAdmin roles/editor roles/iam.serviceAccountUser

Le dernier semblait crucial.

1
Piotr Gaczkowski