Pagamentos do solicitante

Configuração

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 objeto, há cobranças associadas à criação e à execução da solicitação.

Normalmente, o proprietário do projeto do recurso é cobrado por esses encargos. 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.

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.
  • Não é possível usar um bucket com o recurso "Pagamentos do solicitante" ativado para exportações do Pub/Sub.

Requisitos de uso e acesso

Para ativar os pagamentos do solicitante em um bucket, ative a sinalização de metadados nele. 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.

Ao desativar os pagamentos do solicitante, você precisa incluir um projeto de faturamento na solicitação ou ter a permissão resourcemanager.projects.createBillingAssignment.

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 gcloud storage cp com uma sinalização --no-clobber, é necessário incluir um projeto de faturamento se o bucket de origem ou de destino (ou ambos) tiver 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:

A seguir