tutorial postgres how google example create google-cloud-platform google-cloud-sql google-cloud-sdk

google cloud platform - postgres - El proxy de Google Cloud SQL no pudo encontrar las credenciales predeterminadas



google cloud sql tutorial (3)

Si está en un entorno CI / CD sin acceso a un navegador:

O si simplemente desea automatizar el proceso.

En lugar de ejecutar el gcloud auth application-default login , debe exponer la ubicación del archivo json de su cuenta de servicio utilizando la variable $GOOGLE_APPLICATION_CREDENTIALS

por ejemplo, echo "export GOOGLE_APPLICATION_CREDENTIALS=${TF_VAR_gcp_service_account_file_loc}" >> $BASH_ENV (si necesita mover env vars entre pasos / trabajos). $BASH_ENV es una propiedad especial expuesta por CircleCI, si utiliza una herramienta de CI / CD diferente, necesitará encontrar la ubicación del perfil de bash.

o simplemente export GOOGLE_APPLICATION_CREDENTIALS=[path-to-service-account-json-file] para usar en el mismo paso

Estoy tratando de ejecutar el proxy de Google Cloud SQL localmente de esta manera:

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

Pero esta volviendo

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

Mi Google Cloud SDK ya está instalado y ha iniciado sesión en Google.

¿Cómo puedo solucionar esto?


Dos problemas pueden estar generando su problema.

Para encontrar qué es login, usando:

gcloud auth login

1. No tienes credenciales predeterminadas de la aplicación.

Si tienes una versión reciente de gcloud obtendrás:

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

Para hacer que su aplicación local use sus credenciales debe hacer ( ref ):

gcloud auth application-default login

Si no ve esta advertencia, considere actualizar gcloud con:

gcloud components update

2. No has definido tu proyecto.

Después de iniciar sesión, debería ver:

Your current project is [project-id].

Una vez más dos soluciones:

a. Asociar un proyecto

Si no estás viendo esto, haz ( ref ):

gcloud config set project PROJECT_ID

segundo. Usar el --project global --project en la llamada

En su comando asocie un proyecto:

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


Las credenciales predeterminadas de la aplicación Google se administran por separado de las credenciales de gcloud.

Utilizar

gcloud auth application-default login

en lugar de configurar sus credenciales de usuario como predeterminadas de la aplicación. Ver ref para más información.

Anteriormente, gcloud auth login hizo esto, pero con versiones más recientes de Cloud SDK, este ya no es el caso.

Tenga en cuenta que cambiar la configuración de gcloud o configurar una cuenta no actualizará las credenciales predeterminadas de la aplicación. Solo los comandos en gcloud auth application-default se pueden usar para administrarlos.

Además, para usar la cuenta de servicio como credencial predeterminada de la aplicación, puede usarla directamente descargando su clave json desde la consola del desarrollador.