Passer au contenu principal

Configurer l’authentification GCP pour que Metronome déclare en votre nom

Afin de déclarer la consommation de vos listings, Metronome aura besoin d’accéder aux API procurement et metering dans votre projet GCP marketplace. Metronome accédera à votre projet via la Workload Identity Federation, qui permet un accès fédéré à votre projet par Metronome sans avoir à stocker des tokens ou clés à longue durée de vie. Vous associerez ensuite un Google Service Account au pool de Workload Identity Federation, auquel vous attacherez les permissions fines appropriées pour les opérations de metering de Metronome. Pour vous aider à déployer ces ressources, Metronome fournit un ensemble de fichiers de configuration et de scripts qui vous accompagneront dans le déploiement via Terraform, un script Bash ou une méthode auto-guidée utilisant l’utilitaire CLI gcloud. Ces configurations suggérées sont disponibles sur Github. Vous aurez besoin de certaines informations de Metronome pour configurer correctement cette intégration, et en retour, Metronome aura besoin de certaines sorties de ce processus. Voici les étapes :
  1. Dans Metronome, allez dans Connections > Integrations > Available Integrations > GCP Marketplace > cliquez sur Get started.
  2. Copiez le Service Account ID, l’AWS Account ID et l’AWS Lambda Role Name de Metronome depuis le menu :
    GCP service account ID
  3. Dans GCP, allez sur la page d’accueil de la console GCP et sélectionnez votre projet cible depuis le sélecteur de projet en haut à gauche. Votre Project ID et votre Project Number seront affichés ici :
    GCP project details
  4. En utilisant l’une des méthodes de configuration fournies dans le dépôt Github, fournissez vos metronome_service_account_id, metronome_aws_account_id, metronome_aws_lambda_role_name, project_id et project_number en tant qu’arguments d’entrée. Cela déploiera un Workload Identity Federation Pool, un AWS Workload Identity Federation Provider et un Service Account dans votre projet avec la configuration appropriée.
  5. Toujours dans la console GCP, Metronome aura besoin que les API GCP appropriées soient activées afin de s’authentifier auprès de votre projet, découvrir vos entitlements GCP et signaler l’usage à GCP. Consultez la documentation de GCP pour plus d’informations sur l’activation des API, et assurez-vous que les API suivantes sont activées :
  6. Enfin, allez sur la page Workload Identity Federation pools dans votre console GCP et cliquez sur le pool qui a été créé à l’étape 4. Cliquez sur Connected service accounts, puis sur Download à côté du service account que nous avons créé à l’étape 4. Sauvegardez ce fichier d’identifiants pour le soumettre à Metronome à une étape ultérieure.
    GCP workload identity download

Créer une listing GCP Marketplace

Avec l’accès fédéré à votre projet configuré, nous passons maintenant à la configuration de votre listing pour la facturation basée sur l’usage via Metronome :
  1. Vous devez avoir accès au GCP Producer Portal, ce qui inclut de vous enregistrer auprès de Google en tant que fournisseur.
  2. Depuis la page d’accueil du GCP Producer Portal, utilisez Add Product pour commencer à configurer une nouvelle listing.
    GCP add product
  3. Complétez la section Product Details. Il s’agit de toutes les informations d’identification sur votre listing — Metronome n’exige aucun paramètre spécifique ici.
    Product details
  4. Complétez la section Pricing. En particulier, dans l’onglet Price Model, vous créerez un plan avec une métrique basée sur l’usage et une tarification pour cette métrique. Metronome a des exigences spécifiques pour chacun :
  5. Complétez la section finale, Technical Integration. Ici, en particulier, vous devrez configurer votre service account fourni par Metronome avec un accès aux API appropriées afin que Metronome puisse déclarer l’usage de votre listing. La complétion de cette section nécessitera votre Metronome Service Account ID que vous avez créé et déployé dans la section Configurer la Workload Identity Federation.
  6. Une fois toutes les sections requises pour votre listing soumises, Google procédera à un workflow de revue et d’approbation avant que votre listing puisse être publiée.

Soumettre la configuration de listing à Metronome

Avec l’accès fédéré configuré via un Workload Identity Pool, et avec le Service Account de Metronome configuré avec les permissions appropriées via la Technical Integration de votre listing, vous êtes maintenant prêt à soumettre vos informations de configuration à Metronome pour finaliser l’intégration :
  1. Dans Metronome, retournez à Connections > Integrations > Available Integrations > GCP Marketplace > cliquez sur Get started.
  2. Soumettez votre Provider ID et votre fichier JSON Workload Identity Configuration dans les champs appropriés :
    GCP configuration submission
  3. Cliquez sur Save changes pour soumettre. Metronome vérifiera que l’accès a bien été accordé à la listing, et si c’est le cas, l’intégration sera enregistrée.

Provisionner les clients GCP Marketplace dans Metronome

Lorsqu’un client accepte votre listing Marketplace, vous devrez provisionner son compte dans Metronome avec un contrat Metronome qui reflète tous les détails de l’offre/abonnement qu’il a signé avec vous dans le Marketplace, et avec GCP identifié comme fournisseur de facturation sur ce contrat. Pour connecter un client à GCP et faire en sorte que Metronome commence à déclarer ses factures à GCP en votre nom :
  1. Allez sur la page de détail d’un client existant dans Metronome ou créez un nouveau client à Customers > Add New Customer.
  2. Allez dans Settings > Available Integrations > GCP > Get Started.
  3. Entrez l’Entitlement ID et le Service Name pour l’abonnement de ce client :
    • Vous pouvez trouver ces deux informations depuis l’abonnement ou la commande dans le GCP Producer Portal.
    • Entitlement ID est l’identifiant unique représentant l’offre/abonnement de votre client dans GCP. Il est également référencé comme Order ID. Exemple :
      GCP entitlement ID
    • Service Name est un nom de domaine qui identifie votre produit/listing pour Google. Il est affiché comme Product sur une offre :
      GCP service name
  4. Créez un nouveau contrat pour le client qui correspond aux détails du contrat qu’il a signé avec vous dans GCP Marketplace. Incluez tous les crédits et engagements dont le client dispose dans le cadre du contrat. Apprenez à provisionner des contrats dans Metronome.
  5. Sous la section Billing Configuration du flow de configuration du contrat, sélectionnez GCP comme fournisseur de facturation.
    ATTENTIONVous ne pouvez pas ajouter ou changer le fournisseur de facturation après la création du contrat.
  6. Vous pouvez également utiliser les endpoints suivants pour configurer GCP comme fournisseur de facturation d’un client et l’attribuer à un contrat :
    • Pour configurer un nouveau client avec GCP Marketplace :
      • Appelez l’endpoint create customer
      • Dans le payload de la requête, incluez customer_billing_provider_configurations :
        • Dans la propriété configuration, spécifiez gcp_entitlement_id et gcp_service_name
          {
              // ...
              "customer_billing_provider_configurations": [{
                  "billing_provider": "gcp",
                  "delivery_method": "direct_to_billing_provider",
                  "configuration": {
                      "gcp_service_name": "<your GCP service name>",
                      "gcp_entitlement_id": "<your GCP entitlement ID>"
                  }
              }]
          }
          
    • Pour configurer un client existant avec GCP Marketplace :
      • Appelez l’endpoint set customer billing provider configurations
      • Dans le payload de la requête, incluez votre configuration :
        • Dans la propriété configuration, spécifiez gcp_entitlement_id et gcp_service_name
          {
              // ...
              {
                  "billing_provider": "gcp",
                  "delivery_method": "direct_to_billing_provider",
                  "configuration": {
                      "gcp_service_name": "<your GCP service name>",
                      "gcp_entitlement_id": "<your GCP entitlement ID>"
                  }
              }
          }
          
    • Pour configurer un nouveau contrat avec des factures déclarées à GCP Marketplace :
      • Appelez l’endpoint create contract
      • Dans le payload de la requête, incluez billing_provider_configuration :
        {
            // ...
            "billing_provider_configuration": {
                "billing_provider": "gcp",
                "delivery_method": "direct_to_billing_provider"
            }
        }
        
Après avoir défini GCP comme fournisseur de facturation de ce client et commencé à envoyer des événements d’usage, Metronome commence à déclarer les totaux de facture calculés de ce client à GCP en votre nom.

Ce que Metronome déclare à GCP

Lors de la déclaration à GCP, Metronome additionne le montant total accumulé d’un client à travers toutes les factures de contrat ayant GCP défini comme fournisseur de facturation depuis la dernière requête de déclaration. Metronome définit la quantité de chaque enregistrement de déclaration comme le montant total en dollars exprimé en centimes USD. Si un client a acheté un engagement ou s’est vu offrir un crédit dans le cadre de son contrat, Metronome déclare comme suit :
  • Engagements prépayés Un contrat dans Metronome spécifie une planification selon laquelle le client paie son engagement prépayé. Ces entrées créent une ou plusieurs factures planifiées. Metronome déclare le montant que le client doit sur l’engagement prépayé à la date associée à la période de service de la facture planifiée, et non à la date de création.
  • Crédits Comme les crédits sur un contrat Metronome ne sont pas payés, Metronome ne déclare que les dépassements reflétés sur les totaux de facture après que le crédit a été entièrement consommé.
  • Engagements postpayés Metronome déclare l’usage reflété sur les totaux de facture tout au long de la durée du contrat. Cependant, si l’intégralité de l’engagement postpayé n’est pas consommée à la fin du contrat, Metronome ignore la facture de régularisation et ne l’envoie pas au marketplace. C’est parce que la facture de régularisation n’est pas finalisée tant que la période de grâce Metronome n’est pas terminée, moment auquel l’endpoint de déclaration du marketplace est fermé. Cela signifie que vous devez gérer la régularisation directement dans le marketplace.

Gérer les événements du cycle de vie client du marketplace dans Metronome et votre application

Metronome arrête la déclaration s’il détecte des changements d’abonnement dus à des événements du cycle de vie du marketplace, et met à jour le statut du client dans Metronome en conséquence. Cependant, vous êtes responsable de vous assurer que le statut du client est correctement représenté dans votre application et de mettre fin au contrat du client dans Metronome, le cas échéant. Pour mettre fin au contrat du client dans l’application Metronome, allez sur le client > cliquez sur le contrat > sélectionnez le menu déroulant > cliquez sur Edit Contract End Date. Pour mettre fin au contrat du client avec l’API Metronome, utilisez l’endpoint /contracts/updateEndDate.

Limitations des listings GCP Marketplace

La facturation via GCP Marketplace comporte certaines limitations. GCP Marketplace ne prend en charge que les quantités positives via leur service de reporting d’usage. Il n’y a aucun moyen de diminuer la facture totale d’un client. Par exemple, considérez un client qui devait recevoir $1 000 de crédits lorsqu’il a commencé à utiliser votre produit. En raison d’une faute de frappe, il n’a reçu que $100 par erreur. L’erreur est remarquée une semaine après le début de sa première période de facturation, lorsque le client constate un prélèvement de $500 sur sa facture GCP. Dans Metronome, cette erreur est facilement corrigée en ajoutant un crédit supplémentaire de $900, mais dans GCP, il n’y a aucun moyen de réduire cette facture. Si cette situation se présente, Metronome arrête la facturation pour ce client jusqu’à ce que son usage rattrape le montant qu’il a déjà été facturé. Si cela ne suffit pas à corriger le problème, vous devez émettre un remboursement manuel via GCP Marketplace. Contactez votre représentant GCP ou Metronome pour obtenir de l’aide. GCP Marketplace impose strictement la fin du contrat ou de l’abonnement Marketplace d’un client. Metronome offre une période de grâce d’une heure pour les événements envoyés après la fin de l’abonnement. Bien que Metronome prenne normalement en charge une période de grâce allant jusqu’à 24 heures après la fin de la période de facturation, l’intégration GCP est actuellement limitée à 1 heure. Cela signifie que l’usage reçu après cela ne peut pas être facturé via GCP. Metronome désactive automatiquement la déclaration 2 heures après la fin de l’abonnement. En cas de panne, Metronome rattrape son retard une fois que tout est revenu en ligne. Si Metronome n’a pas pu envoyer d’usage à GCP pendant un certain temps, l’usage accumulé est inclus dans la requête suivante à GCP. Cependant, si le contrat du client a déjà pris fin et que la période de grâce de GCP s’est écoulée, Metronome ne peut pas facturer l’usage accumulé pendant le temps d’arrêt. L’intégration de Metronome avec GCP Marketplace ne prend en charge que les factures en devise fiduciaire USD. Metronome lève une erreur si vous tentez de créer un contrat avec GCP Marketplace défini comme fournisseur de facturation et que la grille tarifaire du contrat utilise une devise fiduciaire non-USD. Dans le cas où le contrat est associé à d’autres factures qui ne sont pas en USD (par exemple, des factures planifiées associées à des charges planifiées), seules les factures en USD seront envoyées à GCP Marketplace.