Après avoir créé un compte de service Google avec les autorisations indiquées ci-dessous, le déploiement échoue avec un message. Je ne comprends pas où cela ne va pas.
====
$ gcloud iam service-accounts get-iam-policy [email protected]
bindings:
- members:
- serviceAccount:[email protected]
role: roles/owner
etag: Bxxxxxxxxg=
====
$ gcloud auth activate-service-account --key-file ../a.json
Activated service account credentials for: [[email protected]]
$ gcloud app deploy
ERROR: (gcloud.app.deploy) You do not have permission to access app [appid].
Le faire fonctionner maintenant.
$ gcloud app deploy --log-http --verbosity=debug
La raison pour laquelle il échouait semblait être liée à l'activation de l'API App Engine (le lien était affiché dans la sortie de la commande). Activez l'api - puis essayez à nouveau de déployer (cette fois sans --log-http car cela provoquerait un crash de gcloud).
Vous pouvez activer "l'API d'administration de Google App Engine" via la page de la console de l'API Google Cloud Platform. https://console.cloud.google.com/apis/api/appengine.googleapis.com/
Exécutez la commande suivante pour vérifier que le projet est associé au bon compte.
gcloud config list
S'il n'est pas associé au compte, utilisez
gcloud auth login
pour le configurer avec le compte de projet correct.
Pour ceux qui essaient de déployer à l'aide d'un compte de service et des commandes gcloud, vous devez définir les trois rôles suivants:
App Engine Deployer
Storage Admin
Cloud Build Editor
À partir de de la documentation de contrôle d'accès :
Le rôle App Engine Deployer à lui seul accorde une autorisation adéquate à déployer à l'aide de l'API d'administration. Pour utiliser d'autres outils App Engine, tels que commandes gcloud, vous devez également disposer du rôle Administrateur de stockage et de Cloud Construire le rôle d'éditeur.
Si vous essayez de déployer une application de nœud, cela peut toujours être insuffisant. Mon API a été activée et j'ai tout suivi dans Les instructions de GCP , mais j'ai quand même eu l'erreur You do not have permission to access app
. Enfin corrigé en ajoutant deux autres rôles au compte de service:
Pour ajouter à la réponse de npr Exécutez ceci dans la commande si vous ne vous êtes pas authentifié pour votre application/projet par défaut (après avoir activé l'API):
gcloud auth application-default login