Paiements par le demandeur

Configuration

Cette page présente la fonctionnalité de paiements du demandeur pour Cloud Storage.

Présentation

Lorsqu'un utilisateur accède à une ressource Cloud Storage telle qu'un bucket ou un objet, des frais sont associés à la création et à l'exécution de la requête. Ces frais comprennent :

Généralement, ces frais d'accès sont facturés au propriétaire de projet de la ressource. Toutefois, si le demandeur fournit un projet de facturation avec sa requête, le projet du demandeur est facturé à la place. Lorsque la fonctionnalité de paiements du demandeur est activée sur votre bucket, vous pouvez exiger que les demandeurs incluent un projet de facturation dans leurs requêtes, ce qui affectera les frais à leur projet. Cette fonctionnalité s'avère utile si vous souhaitez, par exemple, mettre un grand nombre de données à la disposition des utilisateurs, mais que vous ne voulez pas que leur accès vous soit facturé.

Frais restant à charge

Les frais de stockage des données, y compris les frais de suppression anticipée, sont toujours imputés au projet contenant le bucket, même si le mode "Paiement par le demandeur" est activé sur le bucket.

Restrictions

La restriction suivante s'applique en cas d'utilisation des paiements du demandeur :

  • Vous ne pouvez pas utiliser de buckets pour lesquels les paiements du demandeur sont activés pour réaliser des importations et des exportations depuis Cloud SQL.
  • Vous ne pouvez pas utiliser de buckets pour lesquels les paiements du demandeur sont activés pour réaliser des exportations depuis Pub/Sub.

Exigences relatives à l'utilisation et aux accès

Pour utiliser la fonctionnalité de paiements du demandeur sur un bucket donné, activez l'indicateur de métadonnées sur celui-ci. Une fois l'indicateur activé, seuls les utilisateurs suivants peuvent accéder au bucket ou à son contenu :

  • Les demandeurs qui spécifient un projet de facturation dans leur requête. Le projet inclus dans la requête doit être en règle, et l'utilisateur doit détenir un rôle contenant l'autorisation serviceusage.services.use pour le projet. Le rôle Consommateur Service Usage comprend l'autorisation requise.

  • Les demandeurs qui ne spécifient pas de projet de facturation, mais qui disposent de l'autorisation resourcemanager.projects.createBillingAssignment pour le projet contenant le bucket. Le rôle Gestionnaire de projet de facturation dispose de l'autorisation requise. Les frais d'accès associés à ces requêtes sont imputés au projet contenant le bucket.

Toutes les autres requêtes envoyées au bucket échouent avec l'erreur 400 UserProjectMissing.

En plus de satisfaire ces exigences, le demandeur doit disposer d'autorisations suffisantes pour exécuter l'action demandée. Par exemple, un utilisateur qui spécifie un projet de facturation valide dans sa requête ne peut pas importer d'objets dans le bucket, sauf s'il dispose d'une autorisation explicite le lui permettant, telle que l'autorisation storage.objects.create pour ce bucket ou le projet auquel il appartient.

Opérations facturées à la source

Les opérations qui possèdent à la fois un bucket source et un bucket de destination, telles que les copies ou les réécritures, sont imputées au projet contenant le bucket source. Dans la plupart des cas (lorsque vous exécutez des appels directs à l'aide des API JSON et XML, par exemple), vous n'avez besoin de spécifier un projet de facturation que si les paiements du demandeur sont activés sur le bucket source.

Dans certains cas, par exemple gcloud storage cp avec l'option --no-clobber, vous devez inclure un projet de facturation si le bucket source ou le bucket de destination (ou les deux) disposent de la fonctionnalité de paiements du demandeur activée. Cette exigence est due au fait que ces opérations appellent les deux buckets lors de l'exécution de l'action.

Opérations à requêtes multiples

Pour les opérations nécessitant plusieurs requêtes, l'utilisation de projets de facturation dans vos requêtes implique les comportements suivants :

Facturation

Les frais associés à l'ajout d'un projet de facturation dans votre requête n'apparaissent pas séparément dans votre facturation. Par exemple, supposons que vous téléchargiez plusieurs fichiers d'un bucket sur lequel la fonctionnalité de paiements du demandeur est activée et que vous spécifiez le projet my-project pour facturer la requête. Si my-project contient également un bucket à partir duquel vous effectuez des téléchargements, votre facture n'indique que le total des frais encourus pour les téléchargements combinés. Elle ne fait pas la distinction entre les téléchargements effectués depuis votre bucket et ceux effectués à partir du bucket exploitant les paiements du demandeur.

Si vous souhaitez faire la distinction entre les frais provenant de vos propres ressources Cloud Storage et les frais liés à l'inclusion de projets de facturation dans vos requêtes, vous devez créer un projet ne contenant pas de ressources Cloud Storage. Ce projet est donc dédié à l'envoi de requêtes aux ressources situées dans d'autres projets, tels que les buckets de paiements du demandeur.

Étape suivante