Pagamento do solicitante

Acessar os 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. Os papéis Editor e Proprietário 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

Ao executar uma operação que requer múltiplas solicitações, como um upload de várias partes, cada solicitação na operação precisa conter o mesmo projeto de faturamento especificado no projeto do usuário. Se o projeto de faturamento for alterado entre as solicitações, a operação geral falhará e você receberá um erro 400 UserProjectInconsistent.

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, sua 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