Pagamentos do solicitante

Acessar exemplos

Nesta página, você encontrará uma visão geral do recurso "Pagamentos do solicitante" para o Cloud Storage.

Introdução

Sempre que um usuário acessa um recurso do Cloud Storage, como um bucket ou um objeto, há cobranças associadas à criação e à execução da solicitação. Tais cobranças incluem:

Normalmente, o proprietário do projeto do recurso é cobrado por esses encargos de acesso. No entanto, se o solicitante fornecer um projeto de faturamento com a solicitação, o projeto do solicitante será faturado. Com o recurso "Pagamentos do solicitante" ativado no seu bucket, é possível exigir que os solicitantes incluam um projeto de faturamento nas solicitações para que a cobrança seja enviada a eles. Ativar o "Pagamentos do solicitante" é útil, por exemplo, quando você tem muitos dados que quer disponibilizar para os usuários, mas não quer ser cobrado pelo acesso deles a esses dados.

Cobranças não incluídas

As seguintes cobranças são sempre aplicadas ao projeto que contém o bucket, mesmo que o recurso de pagamentos do solicitante esteja ativado:

Restrições

Ao usar os pagamentos do solicitante, as seguintes restrições se aplicam:

  • Não é possível usar um bucket com os pagamentos do solicitante ativados para realizar importações e exportações a partir do Cloud SQL.

Requisitos de uso e acesso

Para criar um bucket de pagamentos do solicitante, habilite o sinalizador de metadados no bucket desejado. Depois de ativado, somente os seguintes usuários podem acessar o bucket ou o conteúdo dele:

  • Solicitantes que incluem um projeto de faturamento na solicitação. O projeto usado na solicitação precisa estar em situação regular, e o usuário precisa ter um papel no projeto que contenha a permissão serviceusage.services.use. O papel Consumidor do Service Usage contém a permissão necessária.

  • Solicitantes que não incluem um projeto de faturamento, mas têm permissão resourcemanager.projects.createBillingAssignment para o projeto que contém o bucket. O papel Gerente de projetos de faturamento contém a permissão necessária. As cobranças de acesso associadas a essas solicitações são cobradas para o projeto que contém o bucket.

Todas as outras solicitações para o bucket falham com um erro 400 UserProjectMissing.

Além desses requisitos, o solicitante precisa ter permissão suficiente para executar a ação solicitada. Por exemplo, um usuário que fornece um projeto de faturamento válido na solicitação não pode fazer upload de objetos para o bucket, a menos que ele também tenha permissão explícita para tal, como ter a permissão storage.objects.create para esse bucket ou o projeto que o contém.

Operações com faturamento na origem

As operações que têm um bucket de origem e um bucket de destino, como cópia ou regravação, são cobradas no projeto que contém o bucket de origem. Na maioria dos casos, como chamadas diretas usando as APIs JSON e XML, você só precisa incluir um projeto de faturamento se o bucket de origem tiver o recurso de pagamentos do solicitante ativado.

Em alguns casos, como gsutil rewrite, você precisa incluir um projeto de faturamento se o bucket de origem ou de destino (ou ambos) tiverem o recurso de pagamentos do solicitante ativado. Isso ocorre porque essas operações fazem chamadas para os buckets de origem e de destino no decorrer da execução da ação.

Operações de solicitação múltipla

Para operações que exigem várias solicitações para serem concluídas, o uso de projetos de faturamento nas solicitações tem os seguintes comportamentos:

Cobrança

As taxas associadas à inclusão de um projeto de faturamento na sua solicitação não aparecem separadamente na sua cobrança. Por exemplo, digamos que você faça vários downloads de um bucket de Pagamentos do solicitante e use o projeto my-project como o projeto para cobrar pela solicitação. Se my-project também contiver um bucket do qual você faz downloads, a fatura mostrará apenas as cobranças totais dos downloads combinados. Não será feita distinção entre os downloads do seu próprio bucket e do bucket de pagamentos do solicitante.

Se quiser diferenciar cobranças de recursos do Cloud Storage e cobranças de outros projetos de faturamento em suas solicitações, crie um projeto que não contenha recursos do Cloud Storage. Esse projeto fará solicitações a recursos em outros projetos, como buckets de "Pagamentos do solicitante".

A seguir