Soluciona problemas de configuración de ADC

En esta página, se describen algunos problemas comunes que pueden surgir cuando usas las credenciales predeterminadas de la aplicación (ADC).

Para obtener información sobre cómo funcionan las ADC, incluso dónde se encuentran las credenciales, consulta Cómo funcionan las credenciales predeterminadas de la aplicación.

Las credenciales de usuario no funcionan

Si tu solicitud a la API muestra un mensaje de error sobre credenciales de usuario que no son compatibles con esta API, que la API no está habilitada en el proyecto o que no se estableció ningún proyecto de cuota, revisa la siguiente información.

Existen dos tipos de API de Google Cloud:

  • APIs basadas en recursos, que usan el proyecto asociado con los recursos a los que se accede para la facturación y la cuota.

  • APIs basadas en el cliente, que usan el proyecto asociado con la cuenta que accede a los recursos para facturación y cuota.

Cuando proporcionas credenciales de usuario para autenticarte en una API basada en cliente, debes especificar el proyecto que se usará para la facturación y la cuota. Este proyecto se llama proyecto de cuota.

Existen varias formas de especificar un proyecto de cuota, incluidas las siguientes opciones:

  • Actualiza ADC para que use un proyecto diferente como el de cuota:

    gcloud auth application-default set-quota-project YOUR_PROJECT
    
  • Si llamas a la API de REST o de RPC directamente, usa el encabezado HTTP x-goog-user-project para especificar un proyecto de cuota en cada solicitud. Para obtener más detalles, consulta Configura el proyecto de cuota con una solicitud de REST.

Debes tener el permiso de IAM serviceusage.services.use para que un proyecto pueda designarlo como tu proyecto de facturación. El permiso serviceusage.services.use se incluye en el rol de IAM Service Usage Consumer. Si no tienes el permiso serviceusage.services.use para ningún proyecto, comunícate con tu administrador de seguridad o un propietario del proyecto que pueda otorgarte el rol Service Usage Consumer en el proyecto.

Para obtener más información sobre los proyectos de cuota, consulta Descripción general del proyecto de cuota. Para obtener más información sobre cómo configurar el proyecto de cuota, consulta Configura el proyecto de cuota.

Las credenciales son incorrectas

Si parece que tus credenciales no proporcionan el acceso que esperas o no se encuentran, verifica lo siguiente:

  • Si usas la CLI de gcloud para acceder a Google Cloud en un entorno local, asegúrate de comprender qué credenciales usas. Cuando usas la CLI de gcloud, usas las credenciales que proporcionaste a la CLI de gcloud mediante el comando gcloud auth login. No usas las credenciales que proporcionaste a ADC. Para obtener más información sobre estos dos conjuntos de credenciales, consulta Credenciales de ADC y credenciales de gcloud.

  • Asegúrate de que la variable de entorno GOOGLE_APPLICATION_CREDENTIALS se configure solo si usas una clave de cuenta de servicio u otro archivo JSON para ADC. Las credenciales a las que apunta la variable de entorno tienen prioridad sobre otras credenciales, incluido Workload Identity.

  • Confirma que el principal que realiza la solicitud tenga los roles de IAM necesarios. Si usas credenciales de usuario, las funciones deben otorgarse a la dirección de correo electrónico asociada con la Cuenta de Google. Si usas una cuenta de servicio, esa cuenta debe tener los roles necesarios.

  • Si proporcionas una clave de API con la solicitud a la API, esta tendrá prioridad sobre ADC en cualquier ubicación. Si configuraste la variable de entorno GOOGLE_APPLICATION_CREDENTIALS y usas una clave de API, es posible que la API muestre una advertencia que te indique que se ignoran las credenciales que proporcionaste a ADC. Para detener la advertencia, desactiva la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.

Tipo de credencial no reconocido

Si tu solicitud a la API muestra un error que incluye "Error al crear la credencial desde JSON. No se reconoce el tipo de credencial", asegúrate de usar una credencial válida. Los archivos de ID de cliente no son compatibles con el fin de proporcionar credenciales para ADC.