Pagos del solicitante

La función Pagos del solicitante te permite compartir datos de tus buckets de Cloud Storage y, al mismo tiempo, exigir que los usuarios que accedan a los datos paguen los costos asociados. La función de pagos del solicitante es útil cuando quieres que grandes cantidades de datos estén disponibles para los usuarios sin que se te cobre por el acceso a esos datos.

Para conocer los pasos para habilitar o inhabilitar los pagos del solicitante en un bucket, consulta Usa los pagos del solicitante.

Descripción general de los pagos del solicitante

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.

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 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. El rol Consumidor de Service Usage 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. El rol de gerente 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 APIs de JSON y XML, solo tienes que incluir un proyecto de facturación si el bucket 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 quieres distinguir entre los cargos de tus propios recursos de Cloud Storage y los cargos por incluir proyectos de facturación en tus solicitudes, debes crear un proyecto que no contenga recursos de Cloud Storage: este proyecto se dedica a realizar solicitudes a recursos de otros proyectos, como los buckets de Pagos del solicitante.

¿Qué sigue?