Vendez vos API API Gateway via AWS Marketplace - APIPasserelle Amazon

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vendez vos API API Gateway via AWS Marketplace

Après avoir créé, testé et déployé vos API, vous pouvez les intégrer dans un plan d'utilisation d'API Gateway et vendre le plan en tant que produit SaaS (Software as a Service) par le biais de ce plan AWS Marketplace. Les acheteurs d'API qui s'abonnent à votre offre de produits sont facturés en AWS Marketplace fonction du nombre de demandes effectuées dans le cadre du plan d'utilisation.

Pour vendre vos API AWS Marketplace, vous devez configurer le canal de vente afin de l'intégrer AWS Marketplace à API Gateway. D'une manière générale, cela implique de répertorier votre produit AWS Marketplace, de configurer un rôle IAM avec des politiques appropriées pour permettre à API Gateway d'envoyer des métriques d'utilisation AWS Marketplace, d'associer un AWS Marketplace produit à un plan d'utilisation d'API Gateway et d'associer un AWS Marketplace acheteur à une clé d'API API Gateway. Les détails sont présentés dans les sections suivantes.

Pour plus d'informations sur la vente de votre API en tant que produit SaaS sur AWS Marketplace, consultez le guide de AWS Marketplace l'utilisateur.

Initialisation de l'intégration de AWS Marketplace avec API Gateway

Les tâches suivantes concernent l'initialisation unique de AWS Marketplace l'intégration avec API Gateway, qui vous permet de vendre vos API en tant que produit SaaS.

Répertorier un produit sur AWS Marketplace

Pour publier votre plan d'utilisation en tant que produit SaaS, soumettez un formulaire de chargement de produit via AWS Marketplace. Le produit doit comporter une dimension nommée apigateway du type requests. Cette dimension définit price-per-request et est utilisée par API Gateway pour mesurer les demandes adressées à vos API.

Création du rôle de mesure

Créez un rôle IAM nommé ApiGatewayMarketplaceMeteringRole avec la stratégie d'exécution et la stratégie d'approbation suivantes. Ce rôle permet à API Gateway d'envoyer des métriques d'utilisation AWS Marketplace en votre nom.

Stratégie d'exécution du rôle de mesure

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aws-marketplace:BatchMeterUsage", "aws-marketplace:ResolveCustomer" ], "Resource": "*", "Effect": "Allow" } ] }

Stratégie de la relation d'approbation du rôle de mesure

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Associer le plan d'utilisation au AWS Marketplace produit

Lorsque vous mettez en vente un produit sur AWS Marketplace, vous recevez un code AWS Marketplace produit. Pour intégrer API Gateway AWS Marketplace, associez votre plan d'utilisation au code AWS Marketplace du produit. Vous activez l'association en définissant le productCodechamp UsagePlan de l'API Gateway sur votre code AWS Marketplace produit, à l'aide de la console API Gateway, de l'API REST API Gateway, de l'API AWS CLI for API Gateway ou du AWS SDK pour API Gateway. L'exemple de code suivant utilise l'API REST API Gateway :

PATCH /usageplans/USAGE_PLAN_ID Host: apigateway.region.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/productCode", "value" : "MARKETPLACE_PRODUCT_CODE", "op" : "replace" }] }

Gestion de l'abonnement des clients aux plans d'utilisation

Les tâches suivantes sont gérées par l'application portail développeur.

Lorsqu'un client s'abonne à votre produit via AWS Marketplace, AWS Marketplace transmet une POST demande à l'URL d'abonnement SaaS que vous avez enregistrée lors de la mise en vente de votre produit. AWS Marketplace La demande POST est associée à un paramètre x-amzn-marketplace-token contenant les informations de l'acheteur. Suivez les instructions fournies dans SaaS customer onboarding pour gérer cette redirection dans votre application de portail pour développeurs.

En réponse à la demande d'abonnement d'un client, AWS Marketplace envoie une subscribe-success notification à une rubrique Amazon SNS à laquelle vous pouvez vous abonner. (Veuillez consulter SaaS customer onboarding). Pour accepter la demande d'abonnement du client, vous gérez la subscribe-success notification en créant ou en récupérant une clé d'API API Gateway pour le client, en associant la clé fournie par le client AWS MarketplacecustomerId aux clés d'API, puis en ajoutant la clé d'API à votre plan d'utilisation.

Lorsque la demande d'abonnement du client se termine, l'application portail développeur doit présenter au client la clé d'API associée et informer celui-ci que la clé d'API doit être incluse dans l'en-tête x-api-key des demandes auprès des API.

Lorsqu'un client annule un abonnement à un plan d'utilisation, il AWS Marketplace envoie une unsubscribe-success notification à la rubrique SNS. Pour désinscrire le client, vous gérez la notification unsubscribe-success en supprimant les clés d'API du client du plan d'utilisation.

Autorisation d'accès à un plan d'utilisation

Pour autoriser un client spécifique à accéder à votre plan d'utilisation, utilisez l'API API Gateway afin d'extraire ou de créer une clé d'API pour le client et ajoutez celle-ci au plan d'utilisation.

L'exemple suivant montre comment appeler l'API REST API Gateway pour créer une nouvelle clé d'API avec une AWS Marketplace customerId valeur spécifique (MARKETPLACE_CUSTOMER_ID).

POST apikeys HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ... { "name" : "my_api_key", "description" : "My API key", "enabled" : "false", "stageKeys" : [ { "restApiId" : "uycll6xg9a", "stageName" : "prod" } ], "customerId" : "MARKETPLACE_CUSTOMER_ID" }

L'exemple suivant montre comment obtenir une clé d'API avec une AWS Marketplace customerId valeur spécifique (MARKETPLACE_CUSTOMER_ID).

GET apikeys?customerId=MARKETPLACE_CUSTOMER_ID HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ...

Pour ajouter une clé d'API à un plan d'utilisation, créez une UsagePlanKey avec la clé d'API correspondant au plan d'utilisation approprié. L'exemple suivant montre comment effectuer cette opération à l'aide de l'API REST API Gateway, où n371pt correspond à l'ID du plan d'utilisation et q5ugs7qjjh un exemple de keyId d'API retourné des exemples précédents.

POST /usageplans/n371pt/keys HTTP/1.1 Host: apigateway.region.amazonaws.com Authorization: ... { "keyId": "q5ugs7qjjh", "keyType": "API_KEY" }

Association d'un client à une clé d'API

Vous devez mettre à jour ApiKeyle customerId champ « s » avec le numéro AWS Marketplace client du client. Cette opération associe la clé d'API au client AWS Marketplace , ce qui permet d'effectuer les mesures et la facturation pour l'acheteur. L'exemple de code suivant appelle l'API REST API Gateway à cet effet.

PATCH /apikeys/q5ugs7qjjh Host: apigateway.region.amazonaws.com Authorization: ... { "patchOperations" : [{ "path" : "/customerId", "value" : "MARKETPLACE_CUSTOMER_ID", "op" : "replace" }] }