Pagamenti a carico del richiedente

Configurazione

Questa pagina fornisce una panoramica della funzionalità Pagamenti a carico del richiedente per Cloud Storage.

Introduzione

Ogni volta che un utente accede a una risorsa Cloud Storage, ad esempio un bucket o un oggetto, sono associati costi per l'invio ed esecuzione della richiesta.

In genere, questi addebiti vengono fatturati al proprietario del progetto della risorsa. Tuttavia, se il richiedente fornisce un progetto di fatturazione con la richiesta, viene addebitato al progetto del richiedente. Con i pagamenti a carico del richiedente abilitati nel tuo bucket, puoi richiedere ai richiedenti di includere un progetto di fatturazione nelle loro richieste, in modo da fatturare il progetto del richiedente. L'attivazione di Chiedi al richiedente di pagare è utile, ad esempio, se hai molti dati che vuoi rendere disponibili agli utenti, ma non vuoi che ti venga addebitato il loro accesso a questi dati.

Limitazioni

Quando utilizzi la fatturazione al richiedente, si applicano le seguenti limitazioni:

  • Non puoi utilizzare un bucket in cui è attivata la funzionalità Chi paga è il richiedente per le importazioni e le esportazioni da Cloud SQL.
  • Non puoi utilizzare un bucket in cui sono abilitati i pagamenti a carico del richiedente per le esportazioni da Pub/Sub.

Requisiti di utilizzo e accesso

Per abilitare i pagamenti a carico del richiedente su un bucket, attiva il flag dei metadati sul bucket. Una volta attivata, solo i seguenti utenti possono accedere al bucket o ai relativi contenuti:

  • Richiedenti che includono un progetto di fatturazione nella richiesta. Il progetto utilizzato nella richiesta deve essere in regola e l'utente deve avere un ruolo nel progetto che contiene l'autorizzazione serviceusage.services.use. Il ruolo Consumatore di utilizzo del servizio contiene l'autorizzazione richiesta.

  • Richiedenti che non includono un progetto di fatturazione, ma dispongono dell'autorizzazione resourcemanager.projects.createBillingAssignment per il progetto che contiene il bucket. Il ruolo Project Manager fatturazione contiene l'autorizzazione richiesta. Gli addebiti per l'accesso associati a queste richieste vengono fatturati al progetto che contiene il bucket.

Tutte le altre richieste al bucket non vanno a buon fine e generano un errore 400 UserProjectMissing.

Oltre a questi requisiti, il richiedente deve disporre dell'autorizzazione sufficiente per eseguire l'azione richiesta. Ad esempio, un utente che fornisce un progetto di fatturazione valido nella richiesta non può caricare oggetti nel bucket, a meno che non disponga anche dell'autorizzazione esplicita per farlo, ad esempio disponendo dell'autorizzazione storage.objects.create per il bucket o per il progetto che lo contiene.

Quando disattivi la funzionalità Pagamenti a carico del richiedente, devi includere un progetto di fatturazione nella richiesta o disporre dell'autorizzazione resourcemanager.projects.createBillingAssignment.

Operazioni con fatturazione a carico dell'editore

Le operazioni che hanno sia un bucket di origine sia un bucket di destinazione, ad esempio una copia o una riscrittura, vengono addebitate al progetto che contiene il bucket di origine. Nella maggior parte dei casi, ad esempio per le chiamate dirette che utilizzano le API JSON e XML, devi includere un progetto di fatturazione solo se il bucket source ha l'opzione Chiedi al richiedente di pagare abilitata.

In alcuni casi, ad esempio gcloud storage cp con un flag --no-clobber, devi includere un progetto di fatturazione se nel bucket di origine o nel bucket di destinazione (o in entrambi) sono abilitati i pagamenti a carico del richiedente. Questo perché queste operazioni fanno chiamate sia ai bucket di origine che a quelli di destinazione durante l'esecuzione dell'azione.

Operazioni con più richieste

Per le operazioni che richiedono più richieste per essere completate, l'utilizzo dei progetti di fatturazione nelle richieste presenta i seguenti comportamenti:

Passaggi successivi