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. Estos cargos incluyen lo siguiente:

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.

Cargos no cubiertos

Los cargos de almacenamiento de datos, incluidos los cargos de eliminación temprana, siempre se aplican al proyecto que contiene el bucket, incluso si los pagos del solicitante están habilitados.

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 hacer pagos del solicitante de un depósito, habilita la marca de metadatos en el depósito deseado. 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.

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:

Facturación

Los cargos asociados con la inclusión de un proyecto de facturación en tu solicitud no aparecen por separado en tu facturación. Por ejemplo, supongamos que realizas varias descargas desde un depósito con pagos del solicitante y usas el proyecto my-project para facturar la solicitud. Si my-project también contiene un depósito desde el cual realizas descargas, tu factura solo muestra los cargos totales de tus descargas combinadas. No distingue entre las descargas desde tu propio bucket y las que realizas desde el bucket de pagos del solicitante.

Si deseas distinguir entre los cargos de tus propios recursos de Cloud Storage y los de incluir proyectos de facturación en tus solicitudes, debes crear un proyecto que no contenga recursos de Cloud Storage: este proyecto se dedicará a hacer solicitudes a recursos en otros proyectos, como los depósitos con cargos del solicitante.

¿Qué sigue?