Cómo funcionan las credenciales predeterminadas de la aplicación

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta página, se describen las ubicaciones en las que las credenciales predeterminadas de la aplicación (ADC) busca credenciales. Comprende cómo funcionan las ADC puede ayudarte a comprender qué credenciales usa ADC y cómo las encuentra.

Las ADC son una estrategia que usan las bibliotecas cliente de Cloud y las bibliotecas cliente de las APIs de Google para encontrar credenciales automáticamente según el entorno de la aplicación y usarlas a fin de autenticarse en las APIs de Google Cloud. Cuando configuras ADC y usas una biblioteca cliente, el código puede ejecutarse en un entorno de desarrollo o de producción sin cambiar la forma en que la aplicación se autentica en los servicios y las APIs de Google Cloud.

A fin de obtener información sobre las mejores formas de proporcionar credenciales a ADC, consulta Proporciona credenciales para las credenciales predeterminadas de la aplicación.

Orden de búsqueda

ADC busca las credenciales en las siguientes ubicaciones:

  1. Variable de entorno GOOGLE_APPLICATION_CREDENTIALS
  2. Credenciales de usuario configuradas con Google Cloud CLI
  3. La cuenta de servicio adjunta, proporcionada por el servidor de metadatos

Variable de entorno GOOGLE_APPLICATION_CREDENTIALS

Puedes usar la variable de entorno GOOGLE_APPLICATION_CREDENTIALS para proporcionar la ubicación de un archivo JSON de credenciales. Este archivo JSON puede ser uno de los siguientes tipos de archivos:

  • Un archivo de configuración de credenciales para la federación de Workload Identity

    La federación de identidades de cargas de trabajo te permite usar un proveedor de identidad externo para acceder a los recursos de Google Cloud. Para obtener más información, consulta Autentica mediante bibliotecas cliente, la CLI de gcloud o Terraform en la documentación de Identity and Access Management (IAM).

  • Una clave de cuenta de servicio

    Las claves de las cuentas de servicio crean un riesgo de seguridad y no se recomiendan. A diferencia de los otros tipos de archivos de credenciales, una persona que actúa de mala fe puede usar las claves de cuenta de servicio vulneradas sin ninguna información adicional. Si deseas obtener más información, consulta Recomendaciones para usar y administrar claves de cuentas de servicio.

Credenciales de usuario configuradas con la CLI de gcloud

Puedes configurar ADC para usar las credenciales de tu Cuenta de Google si ejecutas el comando gcloud auth application-default login. Este comando coloca un archivo JSON que contiene tus credenciales en una ubicación conocida en tu sistema de archivos. La ubicación depende del sistema operativo:

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

Para obtener más información sobre el uso de la CLI de gcloud y ADC, consulta Tipos de credenciales de gcloud.

La cuenta de servicio adjunta

Muchos servicios de Google Cloud te permiten conectar una cuenta de servicio que se puede usar para proporcionar credenciales de acceso a las APIs de Google Cloud. Si ADC no encuentra credenciales que puede usar en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS o en la ubicación conocida para las credenciales de la Cuenta de Google, usa el servidor de metadatos a fin de obtener credenciales para el servicio en el que se ejecuta el código.

Si tu aplicación se ejecuta en un recurso de Google Cloud que admite la conexión de una cuenta de servicio, debes usar la cuenta de servicio conectada para proporcionar credenciales. Para usar la cuenta de servicio adjunta, sigue estos pasos:

  1. Crea una cuenta de servicio administrada por el usuario.
  2. Otorga a esa cuenta de servicio los roles de IAM con privilegios mínimos posibles.
  3. Conecta la cuenta de servicio al recurso en el que se ejecuta tu código.

Se recomienda esta configuración para las aplicaciones que se ejecutan en producción.

Para obtener ayuda con la conexión de una cuenta de servicio, consulta Conecta una cuenta de servicio a un recurso. A fin de obtener ayuda con la definición de los roles de IAM requeridos para tu cuenta de servicio, consulta Elige roles predefinidos.

¿Qué sigue?