Configura ADC para un entorno de desarrollo local

Puedes proporcionar tus credenciales de usuario o credenciales de la cuenta de servicio a ADC en un entorno de desarrollo local.

Credenciales de usuario

Cuando tu código se ejecuta en un entorno de desarrollo local, como una estación de trabajo de desarrollo, la mejor opción es usar las credenciales asociadas con tu cuenta de usuario.

Para configurar ADC para una cuenta de usuario administrada por un IdP externo y federada con federación de identidades de personal, haz lo siguiente:

  1. Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

    gcloud init
  2. Crea credenciales de autenticación locales para tu cuenta de usuario:

    gcloud auth application-default login

    Si se muestra un error de autenticación y usas un proveedor de identidad externo (IdP), confirma que accediste a gcloud CLI con tu identidad federada.

    Aparecerá una pantalla de acceso. Después de acceder, tus credenciales se almacenan en el archivo de credenciales local que usa ADC.

Sugerencias para configurar ADC con tus credenciales de usuario

Cuando configures ADC con tu cuenta de usuario, debes tener en cuenta los siguientes datos:

  • Es posible que ADC configurado con una cuenta de usuario no funcione para algunas APIs sin pasos de configuración adicionales. Si ves un mensaje de error en el que se indica que la API no está habilitada en el proyecto o que no hay ningún proyecto de cuota disponible, consulta Las credenciales de usuario no funcionan.

  • El archivo local de ADC contiene tu token de actualización. Cualquier usuario con acceso al sistema de archivos puede usarlo para obtener un token de acceso válido. Si ya no necesitas estas credenciales locales, puedes revocarlas mediante el gcloud auth application-default revoke comando.

  • El archivo de ADC local está asociado con tu cuenta de usuario, no con la configuración de gcloud CLI. Cambiar a una configuración de la CLI de gcloud diferente podría cambiar la identidad que usa gcloud CLI, pero no afecta el archivo de ADC local ni la configuración de ADC.

Credenciales de cuenta de servicio

Puedes configurar ADC con credenciales de una cuenta de servicio mediante el uso de la identidad temporal como cuenta de servicio o mediante el uso de una clave de cuenta de servicio.

Uso de identidad temporal como cuenta de servicio

Puedes usar la identidad temporal como cuenta de servicio para configurar un archivo de credenciales predeterminadas de la aplicación (ADC) local. Las bibliotecas cliente que admiten el uso de identidad pueden utilizar esas credenciales automáticamente. Los archivos de ADC locales creados mediante el uso de identidad se admiten en los siguientes idiomas:

  • C#
  • C++
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby
  • Rust

Debes tener el rol de IAM de creador de tokens de cuentas de servicio (roles/iam.serviceAccountTokenCreator) en la cuenta de servicio que suplantas. Para obtener más información, consulta los Roles requeridos.

Usa la identidad de la cuenta de servicio para crear un archivo de ADC local:

gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL

Ahora puedes usar bibliotecas cliente con los idiomas admitidos de la misma manera que lo harías después de configurar un archivo ADC local con credenciales de usuario. Las bibliotecas de autenticación encuentran las credenciales automáticamente. Si deseas obtener más información, consulta Autentícate para usar las bibliotecas cliente.

Las credenciales de un archivo de ADC local generado mediante el uso de la identidad temporal como cuenta de servicio no son compatibles con todas las bibliotecas de autenticación. Para obtener más información, consulta Error que se muestra para las credenciales locales del uso de identidad temporal como cuenta de servicio.

Claves de cuenta de servicio

Si no puedes usar una cuenta de usuario o la identidad temporal como cuenta de servicio para el desarrollo local, puedes usar una clave de cuenta de servicio.

A fin de crear una clave de cuenta de servicio y hacer que esté disponible para las ADC, haz lo siguiente:

  1. A fin de crear una cuenta de servicio con las funciones que necesita tu aplicación y una clave para esa cuenta de servicio, sigue las instrucciones en Crea una clave de cuenta de servicio.
  2. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS en la ruta del archivo JSON que contiene tus credenciales. Esta variable solo se aplica a la sesión actual de Cloud Shell. Por lo tanto, si abres una sesión nueva, deberás volver a configurar la variable.

¿Qué sigue?