Pagos del solicitante

Configuración

En esta página, se proporciona una descripción general de la característica de pagos del solicitante para Cloud Storage.

Introducción

Cada vez que un usuario accede a un recurso de Cloud Storage, como un bucket o un objeto, hay cargos asociados con la creación y ejecución de la solicitud.

Por lo general, al propietario del proyecto del recurso se le facturan estos cargos de acceso; sin embargo, si el solicitante proporciona un proyecto de facturación con su solicitud, ese proyecto recibirá la facturación en su lugar. Con la función de pagos del solicitante habilitada en tu depósito, puedes hacer que los solicitantes deban incluir un proyecto de facturación en sus solicitudes y, así, enviar las facturas al proyecto del solicitante. Habilitar la función de pagos del solicitante es útil, por ejemplo, si tienes muchos datos que quieres que estén disponibles para los usuarios, pero no deseas que se te cobre por el acceso a esos datos.

Restricciones

Se aplican las siguientes restricciones cuando se usan los pagos del solicitante:

  • No puedes usar un bucket que tenga habilitados los pagos del solicitante para importaciones y exportaciones desde Cloud SQL.
  • No puedes usar un bucket que tenga habilitados los pagos del solicitante para exportaciones desde Pub/Sub.

Requisitos de uso y acceso

Para habilitar los pagos del solicitante en un depósito, habilita la marca de metadatos en el depósito. Una vez habilitado, solo los siguientes usuarios pueden acceder al bucket o a sus contenidos:

  • Solicitantes que incluyen un proyecto de facturación en su solicitud. El proyecto usado en la solicitud debe estar en regla y el usuario debe tener una función en el proyecto que contenga el permiso serviceusage.services.use. La función Consumidor de uso de servicio contiene el permiso requerido.

  • Solicitantes que no incluyen un proyecto de facturación, pero tienen el permiso resourcemanager.projects.createBillingAssignment para el proyecto que contiene el depósito. La función administrador de proyectos de facturación contiene el permiso requerido. Los cargos de acceso asociados a estas solicitudes se facturan en el proyecto que contiene el bucket.

Todas las demás solicitudes al depósito generan un error 400 UserProjectMissing.

Además de estos requisitos, el solicitante debe tener el permiso suficiente para realizar la acción solicitada. Por ejemplo, un usuario que proporciona un proyecto de facturación válido en su solicitud no puede subir objetos al depósito, a menos que tenga el permiso explícito para hacerlo, como el permiso storage.objects.create sobre ese depósito o el proyecto que lo contiene.

Si inhabilitas los pagos del solicitante, debes incluir un proyecto de facturación en la solicitud o tener el permiso resourcemanager.projects.createBillingAssignment.

Operaciones facturadas en la fuente

Las operaciones que tienen un bucket fuente y un bucket de destino, como una copia o una reescritura, se cobran al proyecto que contiene el bucket fuente. En la mayoría de los casos, como las llamadas directas con las API de JSON y XML, solo tienes que incluir un proyecto de facturación si el depósito fuente tiene habilitada la característica de pagos del solicitante.

En algunos casos, como gcloud storage cp con una marca --no-clobber, debes incluir un proyecto de facturación si el depósito de origen o el de destino (o ambos) tienen habilitados los pagos del solicitante. Esto sucede porque esas operaciones realizan llamadas tanto al bucket fuente como al de destino en el transcurso de la acción.

Operaciones de solicitudes múltiples

En el caso de las operaciones que requieren que se completen varias solicitudes, el uso de proyectos de facturación en tus solicitudes tiene los siguientes comportamientos:

¿Qué sigue?