Cómo funcionan las credenciales de aplicación predeterminadas (original) (raw)

En esta página se describen las ubicaciones en las que las credenciales predeterminadas de la aplicación (ADC) buscan credenciales. Si sabes cómo funciona ADC, podrás entender qué credenciales usa y cómo las encuentra.

Application Default Credentials (ADC) es una estrategia que usan las bibliotecas de autenticación para buscar automáticamente las credenciales en función del entorno de la aplicación. Las bibliotecas de autenticación ponen esas credenciales a disposición de las bibliotecas de cliente de Cloud y de las bibliotecas de cliente de las APIs de Google. Cuando usas ADC, tu código puede ejecutarse en un entorno de desarrollo o de producción sin cambiar la forma en que tu aplicación se autentica en los Google Cloud servicios y las APIs.

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

Buscar pedido

ADC busca credenciales en las siguientes ubicaciones:

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

El orden en el que ADC comprueba las credenciales de las ubicaciones no está relacionado con el mérito relativo de cada ubicación. Para obtener ayuda sobre las mejores formas de proporcionar credenciales a las ADC, consulta Configura credenciales predeterminadas de la aplicación.

Variable de entorno GOOGLE_APPLICATION_CREDENTIALS

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

Un archivo de credenciales 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 proporciones (ya sea de tu cuenta de usuario o de la suplantación de una cuenta de servicio) y lo coloca en una ubicación conocida de tu sistema de archivos. La ubicación depende de tu sistema operativo:

Las credenciales que proporcionas a las credenciales predeterminadas de la aplicación mediante la CLI de gcloud son distintas de tus credenciales de gcloud, que son las que usa la CLI de gcloud para autenticarse en 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 ámbito de toda la nube https://www.googleapis.com/auth/cloud-platform. Para especificar los alcances de forma explícita, usa la marca --scopescon el comando gcloud auth application-default login.

Para añadir permisos de servicios que no sean de Google Cloud, como Google Drive, crea un ID de cliente de OAuth y proporciónalo al comando gcloud auth application-default login mediante la marca --client-id-file, especificando tus permisos con la marca --scopes.

La cuenta de servicio adjunta

Muchos Google Cloud servicios te permiten adjuntar una cuenta de servicio que se puede usar para proporcionar credenciales para acceder a las APIs Google Cloud . Si ADC no encuentra credenciales que pueda usar en la variable de entorno GOOGLE_APPLICATION_CREDENTIALS o en la ubicación conocida de las credenciales de ADC locales, utiliza el servidor de metadatos para obtener las credenciales del servicio en el que 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 usar la cuenta de servicio adjunta, sigue estos pasos:

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

Para obtener ayuda sobre cómo crear una cuenta de servicio, consulta el artículo Crear y gestionar cuentas de servicio. Para obtener ayuda sobre cómo adjuntar una cuenta de servicio, consulta el artículo Adjuntar una cuenta de servicio a un recurso. Si necesitas ayuda para determinar los roles de gestión de identidades y accesos necesarios para tu cuenta de servicio, consulta el artículo Elegir roles predefinidos.

Siguientes pasos