Risolvere i problemi di configurazione dell'ADC

In questa pagina vengono descritti alcuni problemi comuni che potresti riscontrare durante l'utilizzo Credenziali predefinite dell'applicazione (ADC).

Per informazioni su come funziona ADC, incluso dove vengono trovate le credenziali, vedi Come funzionano le Credenziali predefinite dell'applicazione.

Credenziali utente non funzionanti

Se la richiesta API restituisce un messaggio di errore che indica che le credenziali utente non sono supportata da questa API, l'API non è abilitata nel progetto o nessuna quota progetto che stai impostando, rivedi le seguenti informazioni.

Esistono due tipi di API Google Cloud:

  • API basate sulle risorse, che utilizzano il progetto associato alle risorse a cui si accede per fatturazione e quota.

  • API basate su client, che utilizzano il progetto associato al client alle risorse per fatturazione e quote.

Quando fornisci le credenziali utente per l'autenticazione in un'API basata su client, devi specificare il progetto da utilizzare per la fatturazione e la quota. Questo progetto prende il nome del progetto quota.

Esistono diversi modi per specificare un progetto di quota, tra cui: opzioni:

  • Aggiorna ADC per utilizzare un progetto diverso come progetto di quota:

    gcloud auth application-default set-quota-project YOUR_PROJECT
    
  • Se chiami direttamente l'API REST o RPC, utilizza dell'intestazione HTTP x-goog-user-project per specificare un progetto di quota richiesta. Per maggiori dettagli, vedi Imposta il progetto di quota con una richiesta REST.

Devi disporre dell'autorizzazione IAM serviceusage.services.use per un progetto per poterlo contrassegnare come progetto di fatturazione. La L'autorizzazione serviceusage.services.use è inclusa nel consumer di Service Usage ruolo IAM. Se non hai serviceusage.services.use l'autorizzazione per qualsiasi progetto, contatta l'amministratore della sicurezza o che può concederti il ruolo consumer di Service Usage nel progetto.

Per ulteriori informazioni sui progetti di quota, consulta Panoramica del progetto di quota. Per informazioni su altri modi Per impostare il progetto di quota, consulta Impostare il progetto di quota.

Credenziali non corrette

Se le tue credenziali non sembrano fornire l'accesso previsto o non ti forniscono trovato, controlla quanto segue:

  • Se utilizzi gcloud CLI per accedere a Google Cloud in un nell'ambiente locale, assicurati di comprendere quali credenziali stai utilizzando. Quando utilizzi gcloud CLI, utilizzi le credenziali forniti a gcloud CLI mediante gcloud auth login . Non stai utilizzando le credenziali che hai fornito ad ADC. Per ulteriori informazioni informazioni su questi due set di credenziali, vedi Configurazione dell'autenticazione gcloud CLI e ADC .

  • Assicurati che la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sia imposta solo se utilizzi una chiave dell'account di servizio o un altro file JSON per ADC. Le credenziali a cui punta la variabile di ambiente hanno la precedenza sulle e altre credenziali, anche per Workload Identity.

  • Verifica che l'entità che effettua la richiesta disponga dei necessari i ruoli IAM. Se utilizzi le credenziali utente, i ruoli deve essere assegnato all'indirizzo email associato all'account utente. Se stai utilizzando un account di servizio, quest'ultimo deve avere i ruoli richiesti.

  • Se fornisci una chiave API con la richiesta API, la chiave API ha la precedenza. tramite ADC in qualunque luogo. Se hai impostato GOOGLE_APPLICATION_CREDENTIALS di variabile di ambiente e stai utilizzando una chiave API, l'API potrebbe restituire una ti informa che le credenziali che hai fornito ad ADC vengono ignorato. Per interrompere l'avviso, annulla l'impostazione del GOOGLE_APPLICATION_CREDENTIALS variabile di ambiente.

Tipo di credenziali non riconosciuto

Se la tua richiesta API restituisce un errore che include il messaggio "Errore durante la creazione della credenziale da JSON. Tipo di credenziali non riconosciuto", assicurati di utilizzare un valore valido la credenziale. I file ID client non sono supportati per fornire le credenziali per ADC.

Accesso bloccato: errore di autorizzazione

Se ricevi questo errore quando crei un file ADC locale con il tuo utente credenziali, significa che stai tentando di aggiungere ambiti alla configurazione di ADC che non sono supportati dal comando di configurazione ADC predefinito. In genere, questo problema è causato dall'aggiunta di ambiti per applicazioni al di fuori di Google Cloud, ad esempio Google Drive.

Per impostazione predefinita, i token di accesso generati da un file ADC locale creato con le credenziali utente includono a livello di cloud https://www.googleapis.com/auth/cloud-platform. Per specificare gli ambiti in modo esplicito, utilizza –-scopes con il comando gcloud auth application-default login.

Per aggiungere ambiti per servizi esterni a Google Cloud, ad esempio Google Drive, crea un ID client OAuth e la fornisci al comando gcloud auth application-default login utilizzando –-client-id-file, che specifica i tuoi ambiti con -–scopes.