web-dev-qa-db-fra.com

Le proxy Google Cloud SQL n'a pas pu trouver les informations d'identification par défaut

J'essaie d'exécuter le proxy Google Cloud SQL localement comme ceci:

$ ./cloud_sql_proxy -instances project-name:region-name:instance-id tcp:3306

Mais ça revient

google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for mor information.

Mon SDK Google Cloud est déjà installé et connecté à Google.

Comment puis-je réparer ça?

18
starleaf1

Deux problèmes peuvent générer votre problème.

Pour trouver ce qu'est la connexion, utilisez:

gcloud auth login

1. Vous n'avez pas les informations d'identification par défaut de l'application

Si vous avez une version récente de gcloud, vous obtiendrez:

WARNING: `gcloud auth login` no longer writes application default credentials.

Pour que votre application locale utilise vos informations d'identification, vous devez faire ( ref ):

gcloud auth application-default login

Si vous ne voyez pas cet avertissement, pensez à mise à jour de gcloud , avec:

gcloud components update

2. Vous n'avez pas défini votre projet

Après la connexion, vous devriez voir:

Your current project is [project-id].

Encore une fois deux solutions:

une. Associer un projet

Si vous ne voyez pas cela, faites ( ref ):

gcloud config set project PROJECT_ID

b. Utilisez global --project drapeau dans l'appel

Dans votre commande associez un projet:

.\cloud_sql_proxy -instances=project-id:region-name:instance-id=tcp:3306 --project=project-id
42
NBajanca

Les informations d'identification par défaut des applications Google sont gérées séparément des informations d'identification gcloud.

Utilisation

gcloud auth application-default login

à la place, pour configurer vos informations d'identification utilisateur par défaut de l'application. Voir référence pour plus d'informations.

Auparavant gcloud auth login l'a fait, mais avec les versions plus récentes du SDK Cloud, ce n'est plus le cas.

Notez que le changement de configuration ou de compte de gcloud ne mettra pas à jour les informations d'identification par défaut de l'application. Seules les commandes dans gcloud auth application-default peut être utilisé pour les gérer.

De plus, pour utiliser le compte de service comme informations d'identification par défaut de l'application, vous pouvez l'utiliser directement en téléchargeant sa clé json depuis le développeur console .

9
cherba