Questa pagina descrive come impostare un progetto quota per le tue API basate su client. Per informazioni su cosa sia il progetto quota, su come impostare l'API quota e su come viene determinato, consulta Informazioni sul progetto quota.
Quando effettui una richiesta a un'API basata su client, se non è possibile identificare un progetto quota, la richiesta non va a buon fine.
Il progetto quota può essere impostato in diversi modi e verrà verificato controllando le seguenti opzioni. L'ordine elencato è l'ordine di precedenza.
- Il progetto quota impostato nell'ambiente o nella richiesta.
- Se utilizzi una chiave API per fornire le credenziali per una richiesta, il progetto associato alla chiave API viene utilizzato come progetto quota.
- Se utilizzi Google Cloud CLI per ottenere il token di accesso e hai eseguito l'autenticazione nella gcloud CLI con le tue credenziali utente, il progetto condiviso della gcloud CLI viene talvolta utilizzato come progetto quota. Non tutte le API basate su client utilizzano il progetto condiviso come impostazione predefinita.
- Se l'entità per la chiamata all'API è un account di servizio, anche tramite rappresentazione, il progetto associato all'account di servizio viene utilizzato come progetto quota.
- Se il principale per l'API è un utente della federazione delle identità per la forza lavoro, il progetto utente dei pool di forza lavoro viene utilizzato come progetto quota.
Se nessuno dei controlli precedenti restituisce un progetto quota, la richiesta non va a buon fine.
Esistono diversi modi per impostare i progetti di quota. Se il progetto quota è specificato da più di un metodo, viene applicata la seguente precedenza:
- In modo programmatico
- Variabile di ambiente
- Credenziali utilizzate per autenticare la richiesta
Impostare il progetto quota in modo programmatico
Puoi impostare esplicitamente il progetto quota nella tua applicazione. Questo metodo sostituisce tutte le altre definizioni. L'entità utilizzata per autenticare la richiesta deve disporre dell'autorizzazione richiesta sul progetto quota specificato.
La modalità di impostazione del progetto quota in modo programmatico dipende dall'utilizzo di una libreria client, dell'interfaccia alla gcloud CLI o della richiesta dell'API REST.
Libreria client
Puoi impostare il valore per il progetto quota utilizzando le opzioni del client al momento della sua creazione. Questo metodo è utile se vuoi controllare il valore del progetto quota dalla tua applicazione, indipendentemente dall'ambiente in cui viene eseguito.
Per ulteriori informazioni sull'implementazione delle opzioni client, consulta la documentazione della libreria client.
Interfaccia a riga di comando gcloud
Puoi impostare il progetto quota per tutti i comandi gcloud CLI utilizzando la proprietà billing/quota_project
nella configurazione dell'interfaccia a riga di comando gcloud. Puoi anche impostare il progetto quota per un comando specifico utilizzando il flag --billing-project
, che ha la precedenza sulla proprietà di configurazione.
Per ulteriori informazioni sulle configurazioni dell'interfaccia a riga di comando gcloud
, consulta la pagina di riferimento di gcloud config. Per ulteriori informazioni sul flag --billing-project
, consulta la documentazione di riferimento dell'SDK Google Cloud.
Richiesta REST
Puoi specificare il progetto quota in una richiesta REST utilizzando l'intestazione x-goog-user-project
.
L'entità che effettua la richiesta deve disporre delle autorizzazioni richieste per il progetto quota.
Per ulteriori informazioni e codice campione, consulta Impostare il progetto quota con una richiesta REST.
Impostare il progetto quota utilizzando una variabile di ambiente
Le librerie client per alcuni linguaggi supportano l'impostazione del progetto quota utilizzando una variabile di ambiente. Questo approccio può essere utile se vuoi impostare il progetto quota in modo diverso in shell diverse o se vuoi eseguire l'override del progetto quota associato alla credenziale. Il principale per qualsiasi richiesta deve disporre delle autorizzazioni richieste per il progetto quota specificato dalla variabile di ambiente.
La variabile di ambiente dipende dalla lingua:
Lingua | Variabile di ambiente |
---|---|
C++ |
|
C# |
|
Vai |
|
Java |
|
Node.js |
|
Python |
|
PHP |
|
Ruby | Non disponibile |
Imposta il progetto quota utilizzando le credenziali di autenticazione
Se il progetto quota non è specificato, le librerie di autenticazione tentano di determinarlo dalle credenziali utilizzate per la richiesta. Questa procedura dipende dal tipo di credenziali utilizzate per autenticare la richiesta:
- Account di servizio: il progetto associato all'account di servizio viene utilizzato come progetto quota.
- Credenziali utente: per un ambiente di sviluppo locale, Credenziali predefinite dell'applicazione trova le credenziali utente dal file ADC locale. Questo file può anche specificare un progetto quota. Se hai impostato il progetto nella configurazione di Google Cloud CLI e disponi delle autorizzazioni richieste per quel progetto, il progetto quota viene impostato per impostazione predefinita quando crei il file ADC locale. Puoi anche impostare il progetto quota ADC utilizzando il comando
auth application-default set-quota-project
. - Chiavi API: quando utilizzi una chiave API per fornire le credenziali per una richiesta, il progetto associato alla chiave API viene utilizzato come progetto quota.
Autorizzazioni necessarie per impostare e utilizzare il progetto quota
Per ottenere l'autorizzazione necessaria per impostare un progetto come progetto quota o utilizzarlo in una richiesta,
chiedi all'amministratore di concederti il ruolo IAM Consumatore di utilizzo del servizio (roles/serviceusage.serviceUsageConsumer
) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene l'autorizzazione
serviceusage.services.use
necessaria per impostare un progetto come progetto quota o utilizzare questo progetto quota in una richiesta.
Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Se utilizzi un progetto che hai creato come progetto quota, disponi delle autorizzazioni necessarie.
Per ulteriori informazioni sulle autorizzazioni, vedi Autorizzazioni per le quote.
Impostare l'utente della quota
Alcune API limitano anche il numero di richieste per utente, diversamente dalle quote per progetto descritte nelle sezioni precedenti di questa pagina.
Per impostazione predefinita, il sistema utilizza il principale autenticato. Se non è presente un principale autenticato, il sistema utilizza l'indirizzo IP del client.
Se devi sostituire l'utente della quota, puoi impostare il parametro quotaUser
tramite i parametri di sistema dell'API Cloud. Se specifichi quotaUser
o X-Goog-Quota-User
, devi utilizzare una chiave API valida con limitazioni per gli indirizzi IP per identificare il progetto quota. In caso contrario, il parametro quotaUser
viene ignorato.
Per scoprire di più sui parametri di sistema dell'API Cloud e sulle relative definizioni, consulta la tabella delle definizioni dei parametri di sistema.
Passaggi successivi
- Informazioni sul progetto quota
- Scopri di più sulle credenziali predefinite dell'applicazione
- Scopri di più sull'autenticazione
- Informazioni sulle quote