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

Esta página describe las ubicaciones donde las Credenciales predeterminadas de la aplicación (ADC) buscan credenciales. Comprender cómo funciona ADC puede ayudarle a comprender qué credenciales utiliza ADC y cómo las encuentra.

Application Default Credentials (ADC) es una estrategia utilizada por las bibliotecas de autenticación para encontrar automáticamente credenciales según el entorno de la aplicación. Las bibliotecas de autenticación ponen esas credenciales a disposición de las bibliotecas cliente de la nube y las bibliotecas cliente API de Google . Cuando usa ADC, su código puede ejecutarse en un entorno de desarrollo o producción sin cambiar la forma en que su aplicación se autentica. Google Cloud servicios y API.

Para obtener información sobre cómo proporcionar credenciales a ADC, incluido cómo generar un archivo ADC local, consulte Configurar las credenciales predeterminadas de la aplicación .

Orden de búsqueda

ADC busca credenciales en las siguientes ubicaciones:

  1. Variable de entorno GOOGLE_APPLICATION_CREDENTIALS
  2. Un archivo de credencial creado con el comando gcloud auth application-default login
  3. La cuenta de servicio adjunta, devuelta por el servidor de metadatos.

El orden de las ubicaciones que ADC verifica en busca de credenciales no está relacionado con el mérito relativo de cada ubicación. Para obtener ayuda para comprender las mejores formas de proporcionar credenciales a ADC, consulte Configurar las credenciales predeterminadas de la aplicación .

Variable de entorno GOOGLE_APPLICATION_CREDENTIALS

Puede utilizar 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 Workforce Identity Federation

    Workforce Identity Federation le permite utilizar un proveedor de identidad externo (IdP) para autenticar y autorizar el acceso de los usuarios. Google Cloudrecursos. Para obtener más información, consulte Workforce Identity Federation en la documentación de Gestión de acceso e identidad (IAM).

  • Un archivo de configuración de credenciales para Workload Identity Federation

    Workload Identity Federation le permite utilizar un IdP externo para autenticar y autorizar el acceso de las cargas de trabajo.Google Cloud recursos. Para obtener más información, consulta Autenticación mediante bibliotecas cliente, la CLI de gcloud o Terraform en la documentación de Administración de acceso e identidad (IAM).

  • Una clave de cuenta de servicio

    Las claves de cuentas de servicio crean un riesgo de seguridad y no se recomiendan. A diferencia de otros tipos de archivos de credenciales, las claves de cuentas de servicio comprometidas pueden ser utilizadas por un mal actor sin ninguna información adicional. Para obtener más información, consulte Prácticas recomendadas para usar y administrar claves de cuentas de servicio .

Un archivo de credencial creado con el comando gcloud auth application-default login

Puedes proporcionar credenciales a ADC ejecutando el comando gcloud auth application-default login . Este comando crea un archivo JSON que contiene las credenciales que usted proporciona (ya sea de su cuenta de usuario o de suplantar una cuenta de servicio) y lo coloca en una ubicación conocida en su sistema de archivos. La ubicación depende de su sistema operativo:

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

Las credenciales que proporcionas a ADC mediante la CLI de gcloud son distintas de tus credenciales de gcloud: las credenciales que la CLI de gcloud usa para autenticarse Google Cloud. Para obtener más información sobre estos dos conjuntos de credenciales, consulta Configuración de autenticación de la CLI de gcloud y Configuración de ADC .

De forma predeterminada, los tokens de acceso generados a partir de un archivo ADC local creado con credenciales de usuario incluyen el alcance de toda la nube https://www.googleapis.com/auth/cloud-platform . Para especificar ámbitos explícitamente, usa la marca –-scopes con el comando gcloud auth application-default login .

Para agregar ámbitos para servicios fuera de Google Cloud, como Google Drive, cree un ID de cliente de OAuth y proporciónelo al comando gcloud auth application-default login mediante el indicador –-client-id-file , especificando sus alcances con el indicador -–scopes .

La cuenta de servicio adjunta

Muchos Google Cloud Los servicios le permiten adjuntar una cuenta de servicio que puede usarse para proporcionar credenciales para acceder Google Cloud API. Si ADC no encuentra credenciales que pueda usar en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS o en la ubicación conocida para las credenciales de ADC locales, usa el servidor de metadatos para obtener credenciales para el servicio donde se ejecuta el código.

Usar las credenciales de la cuenta de servicio adjunta es el método preferido para encontrar credenciales en un entorno de producción en Google Cloud. Para utilizar la cuenta de servicio adjunta, siga estos pasos:

  1. Cree una cuenta de servicio administrada por el usuario.
  2. Otorgue a esa cuenta de servicio las funciones de IAM con menos privilegios posibles.
  3. Adjunte la cuenta de servicio al recurso donde se ejecuta su código.

Para obtener ayuda con la creación de una cuenta de servicio, consulte Creación y administración de cuentas de servicio . Para obtener ayuda para adjuntar una cuenta de servicio, consulte Adjuntar una cuenta de servicio a un recurso . Para obtener ayuda para determinar las funciones de IAM necesarias para su cuenta de servicio, consulte Elegir funciones predefinidas .

¿Qué sigue?