Comment les services tiers utilisent-ils la plateforme IBM Cloud ?
Un service tiers utilise la plateforme IBM Cloud pour l'authentification, l'accès, la création d'instances en libre-service, le comptage et la facturation. Cette rubrique fournit une vue d'ensemble des composants de la plateforme que votre service utilise, et rassemble ces concepts dans un scénario de provisionnement de bout en bout.
Couche de mise à disposition IBM Cloud
La couche de mise à disposition gère le cycle de vie des ressources IBM Cloud. La couche de mise à disposition a la charge du contrôle et du suivi du cycle de vie des ressources dans un compte client. Les ressources sont des composants physiques ou logiques qui peuvent être créés ou réservés pour une application ou une instance de service. Exemples de ressources : base de données, comptes, limites de processeur, de mémoire ou de stockage. En général, les ressources suivies par la couche de mise à disposition sont conçues de telle sorte que la facturation et les mesures d'utilisation soient associées mais ce n'est pas toujours le cas. Dans la plupart des cas, les ressources peuvent être associées à la couche de mise à disposition afin de garantir que le cycle de vie des ressources peut être géré en même temps que le cycle de vie des comptes.
Gestion du cycle de vie des ressources
La couche de provisionnement fournit des API communes pour contrôler le cycle de vie des ressources, depuis la création (création d'une instance) jusqu'à la suppression (suppression d'une instance), en passant par les identifiants de service (création et suppression des identifiants d'accès). De plus, la plateforme IBM Cloud fournit des interfaces CLI et une interface utilisateur qui peuvent gérer le cycle de vie des ressources pour lesquelles il n'est pas nécessaire de créer vos propres fonctions.
La couche de mise à disposition fournit des API vous permettant de gérer les éléments suivants de votre cycle de vie de ressources :
- Création d'une instance de ressource
- Mise à jour d'une instance de ressource
- Création de données d'identification de service
- Suppression des informations d'identification des services
- Clés de ressource
- Suppression d'une instance de ressource
IBM Cloud Identity and Access Management (IAM)
Identity Access Management (IAM) vous permet d'authentifier de manière sécurisée et de contrôler de façon cohérente l'accès à toutes les ressources d'IBM Cloud. La couche de mise à disposition d'IBM Cloud a adopté IAM pour l'authentification et l'autorisation des actions effectuées dans la couche de mise à disposition. Les fournisseurs de produits tiers utilisent l'IAM pour créer un flux d'authentification ( OAuth ). Pour plus d'informations, voir Qu'est -ce que IAM ?.
Si votre produit utilise les bibliothèques OpenID Connect (OIDC), IAM prend en charge l'intégration OIDC. OIDC est une couche d'authentification construite sur OAuth 2.0, un cadre d'autorisation, et peut contribuer à simplifier le processus d'intégration. Pour plus d'informations sur l'OIDC, voir Open ID Connect.
IBM Cloud catalogue
Le catalogue IBM Cloud stocke et affiche les définitions de produit (descriptions, fonctions, images, URL, mots clés et autres définitions de produit) du produit que vous intégrez. IBM Cloud Partner Center permet de définir tous les aspects des métadonnées requises de votre service. Vous trouverez des informations détaillées sur les zones de métadonnées obligatoires et facultatives dans les onglets Tableau de bord, Détails du produit et Tarification de Partner Center. Ces métadonnées sont publiées et affichées dans le catalogue. Jetez un coup d'œil aux éléments clés suivants pour commencer votre compréhension:
- Nom dans le programme
- Le nom dans le programme est l'ID unique de votre produit ; il sera utilisé dans tous les services et outils IBM. Ce nom n'est pas le nom d'affichage de votre produit que les clients voient dans le catalogue IBM Cloud. Le nom programmatique est automatiquement généré à partir du nom de votre entreprise et du nom d'affichage de votre produit.
- Nom d'affichage
- Un nom pour votre service. Ce nom est affiché publiquement dans le catalogue IBM Cloud. Exemple:
Compose Redis - ID de service
- Un ID de service est utilisé pour identifier votre service lorsqu'il communique avec d'autres services IBM Cloud. Vous devez également créer une clé d'API pour votre ID de service.
- Logo de la société ou du produit
- Un fichier SVG avec le logo de votre produit.
- Brève description
- Brève description de votre produit, de sa valeur et de tout autre détail que vous souhaitez voir apparaître dans votre entrée du catalogue IBM Cloud. Vous pouvez ajouter une seule phrase ou expression comme description.
- Description détaillée
- Cette description est affichée au début de la page de votre produit dans le catalogue. Incluez des mots clés pertinents et considérez au moins deux phrases pour une description détaillée.
- URL de la documentation
- Lien vers votre documentation IBM Cloud.
- Accord de licence pour l'utilisateur final (EULA) URL
- Un lien vers le contrat de licence de l'utilisateur final que les utilisateurs doivent accepter pour utiliser votre produit. N'incluez pas de modalités pour la facturation, le paiement ou les taxes dans ce contrat.
- Catégorie
- Sélection des catégories IBM Cloud disponibles qui décrivent le mieux votre produit. Une seule catégorie peut être sélectionnée.
- Keywords
- Mots, phrases et autres termes de recherche clés associés à votre produit.
- Fonctions
- Identificateurs uniques descriptifs courts concernant les attributs de votre produit.
- Support
- Captures d'écran et vidéos qui montrent votre produit.
- Nom du plan
- Un nom pour votre plan tarifaire qui n'inclut pas le nom de votre entreprise ou de votre produit. Ces informations sont affichées pour les clients dans le catalogue IBM Cloud. Exemple:
Gold - Description du plan
- La description du plan tarifaire. Ces informations sont affichées pour les clients dans le catalogue IBM Cloud.
- Nom programmatique du plan
- Nom technique du plan de tarification généré automatiquement. Vous ne pouvez pas modifier ce nom.
Open Service Broker
Les courtiers de services gèrent le cycle de vie des services. La plateforme IBM Cloud interagit avec les courtiers de services pour créer et gérer des instances de services et des liaisons de services. Les liaisons de service sont la représentation d'une association entre une application et une instance de service, qui inclut souvent les données d'identification utilisées par l'application pour communiquer avec l'instance de service. Le fait de fournir des valeurs de métadonnées valides crée une réponse API REST réussie lorsqu'une demande est effectuée.
IBM Cloud utilise la spécification OSB (Open Service Broker) version 2.12. Lisez et familiarisez-vous avec le site Spécifications de l'API Open Broker,
et utilisez le fichier readme comme guide pour en savoir plus.
Lorsque le contrôleur de ressources reçoit une demande de création de ressource, il appelle votre OSB pour valider le type de service, le produit, les plans et la disponibilité des régions. Le contrôleur de ressources valide également la visibilité du plan associé au compte client. IBM Cloud fournit des exemples de courtiers et des documents d'API qui étendent la spécification OSB. Vous pouvez trouver plus d'informations sur le développement et l'hébergement de votre courtier lorsque vous parcourez les procédures détaillées de développement d'intégration de facturation.
Service de mesure IBM Cloud
Si un service inclut un plan mesuré, les utilisateurs IBM Cloud sont facturés en fonction de la quantité de ressources qu'ils utilisent. Par exemple, les utilisateurs IBM Cloud ayant recours à des services de base de données peuvent être facturés en fonction de la quantité de stockage utilisée par leurs applications. La soumission de l'utilisation doit être effectuée de telle sorte que l'utilisation soit convertie en enregistrement facturable.
Tous les services de facturation intégrée proposant un plan mesuré doivent utiliser le service de mesure IBM Cloud pour transmettre les données d'utilisation.
Vous devez automatiser la soumission de l'utilisation horaire en utilisant l'API de service de mesure si vous proposez un plan mesuré.
Pour plus d'informations sur l'opération de mesure, voir Intégration des mesures. Pour plus d'informations sur la soumission de l'utilisation mesurée, voir Soumission de l'utilisation pour les plans mesurés.
Scénario de création : L'assemblage de tous les éléments
En prenant en compte tous les concepts, examinons le processus de création d'instance de service via la plateforme IBM Cloud.
Création d'une instance de service à l'aide de la console
Lorsqu'un utilisateur veut créer une instance de service, il peut sélectionner le service, le plan et utiliser l'opération Create.
La plateforme IBM Cloud valide le fait que l'utilisateur dispose des droits lui permettant de créer l'instance de service en utilisant IBM Cloud IAM. Après cette validation, le point final de création de votre courtier de services (PUT /v2/resource_instances/:resource_instance_id)
est lancé. Pour que l'instance soit créée, les règles suivantes doivent être respectées :
- Le contexte IBM Cloud doit être inclus dans la variable de contexte
- L'élément
X-Broker-API-Originating-Identitya l'ID IBM IAM de l'utilisateur à l'origine de la demande - La section des paramètres inclut l'emplacement demandé (et des paramètres supplémentaires requis par votre service).
Exemple de demande de création d'une instance:
PUT /v2/service_instances/crn%3Av1%3Abluemix%3Apublic%3Acompose-redis%3Aus-south%3Aa%2F46aa677e-e83f-4d17-a2b6-5b752564477c%3A416d769b-682d-4833-8bd7-5ef8778e5b52?accepts_incomplete=true HTTP/1.1
Host: https://broker.compose.cloud.ibm.com
Authorization: basic dXNlcjpwYXNzd29yZA==
X-Broker-Api-Version: 2.12
X-Broker-API-Originating-Identity: ibmcloud aWJtaWQtNDU2MzQ1WA==
{
"service_id": "0bc9d744-6f8c-4821-9648-2278bf6925bb", // your service's GUID from onboarding
"plan_id": "ecc19311-aba2-49f7-8198-1e450c8460d4", //your plan's GUID from onboarding
"context": {
"platform": "ibmcloud",
"account_id": "003e9bc3993aec710d30a5a719e57a80",
"crn": "crn:v1:bluemix:public:compose-redis:us-south:a/003e9bc3993aec710d30a5a719e57a80:416d769b-682d-4833-8bd7-5ef8778e5b52",
"resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/003e9bc3993aec710d30a5a719e57a80::resource-group:b4570a825f7f4d57aa54e8e1d9507926",
"target_crn": "crn:v1:bluemix:public:resource-catalog::a/e97a8c01ac694e308ef3ad7795c7cdb3::deployment:e62e2c19-0c3b-41e3-b8b3-c71762ecd489:us-south38399"
},
"parameters": {
"location": "us-south",
"optional-param":"parameter required by your service"
}
}
Création d'une instance de service à l'aide de l'interface de programmation
Lorsqu'un utilisateur souhaite créer une instance de service, il peut utiliser ibmcloud cli [ ibmcloud resource service-instance-create NAME SERVICE_NAME SERVICE_PLAN_NAME LOCATION ].
La plateforme IBM Cloud valide le fait que l'utilisateur dispose des droits lui permettant de créer l'instance de service en utilisant IBM Cloud IAM. Après cette validation, le point de terminaison de création de votre courtier de services (PUT /v2/resource_instances/:resource_instance_id ) est lancé. Pour que l'instance soit créée, les règles suivantes doivent être respectées :
- Le contexte IBM Cloud doit être inclus dans la variable de contexte
- L'élément
X-Broker-API-Originating-Identitya l'ID IBM IAM de l'utilisateur à l'origine de la demande - La section des paramètres inclut l'emplacement demandé (et des paramètres supplémentaires requis par votre service).
Exemple de demande de création d'une instance:
PUT /v2/service_instances/crn%3Av1%3Abluemix%3Apublic%3Acompose-redis%3Aus-south%3Aa%2F46aa677e-e83f-4d17-a2b6-5b752564477c%3A416d769b-682d-4833-8bd7-5ef8778e5b52?accepts_incomplete=true HTTP/1.1
Host: https://broker.compose.cloud.ibm.com
Authorization: basic dXNlcjpwYXNzd29yZA==
X-Broker-Api-Version: 2.12
X-Broker-API-Originating-Identity: ibmcloud aWJtaWQtNDU2MzQ1WA==
{
"service_id": "0bc9d744-6f8c-4821-9648-2278bf6925bb", // your service's GUID from onboarding
"plan_id": "ecc19311-aba2-49f7-8198-1e450c8460d4", //your plan's GUID from onboarding
"context": {
"platform": "ibmcloud",
"account_id": "003e9bc3993aec710d30a5a719e57a80",
"crn": "crn:v1:bluemix:public:compose-redis:us-south:a/003e9bc3993aec710d30a5a719e57a80:416d769b-682d-4833-8bd7-5ef8778e5b52",
"resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/003e9bc3993aec710d30a5a719e57a80::resource-group:b4570a825f7f4d57aa54e8e1d9507926",
"target_crn": "crn:v1:bluemix:public:resource-catalog::a/e97a8c01ac694e308ef3ad7795c7cdb3::deployment:e62e2c19-0c3b-41e3-b8b3-c71762ecd489:us-south38399"
},
"parameters": {
"location": "us-south",
"optional-param":"parameter required by your service"
}
}
Créer une instance de service en utilisant l'API
Cette action ne peut être effectuée que via l'interface utilisateur ou l'interface de ligne de commande. Pour afficher les étapes, passez aux instructions de l'interface utilisateur ou de l'interface de ligne de commande.
La plateforme IBM Cloud valide le fait que l'utilisateur dispose des droits lui permettant de créer l'instance de service en utilisant IBM Cloud IAM. Après cette validation, le point de terminaison de création de votre courtier de services (PUT /v2/resource_instances/:resource_instance_id ) est lancé. Pour que l'instance soit créée, les règles suivantes doivent être respectées :
- Le contexte IBM Cloud doit être inclus dans la variable de contexte
- L'élément
X-Broker-API-Originating-Identitya l'ID IBM IAM de l'utilisateur à l'origine de la demande - La section des paramètres inclut l'emplacement demandé (et des paramètres supplémentaires requis par votre service).
Exemple de demande de création d'une instance:
PUT /v2/service_instances/crn%3Av1%3Abluemix%3Apublic%3Acompose-redis%3Aus-south%3Aa%2F46aa677e-e83f-4d17-a2b6-5b752564477c%3A416d769b-682d-4833-8bd7-5ef8778e5b52?accepts_incomplete=true HTTP/1.1
Host: https://broker.compose.cloud.ibm.com
Authorization: basic dXNlcjpwYXNzd29yZA==
X-Broker-Api-Version: 2.12
X-Broker-API-Originating-Identity: ibmcloud aWJtaWQtNDU2MzQ1WA==
{
"service_id": "0bc9d744-6f8c-4821-9648-2278bf6925bb", // your service's GUID from onboarding
"plan_id": "ecc19311-aba2-49f7-8198-1e450c8460d4", //your plan's GUID from onboarding
"context": {
"platform": "ibmcloud",
"account_id": "003e9bc3993aec710d30a5a719e57a80",
"crn": "crn:v1:bluemix:public:compose-redis:us-south:a/003e9bc3993aec710d30a5a719e57a80:416d769b-682d-4833-8bd7-5ef8778e5b52",
"resource_group_crn": "crn:v1:bluemix:public:resource-controller::a/003e9bc3993aec710d30a5a719e57a80::resource-group:b4570a825f7f4d57aa54e8e1d9507926",
"target_crn": "crn:v1:bluemix:public:resource-catalog::a/e97a8c01ac694e308ef3ad7795c7cdb3::deployment:e62e2c19-0c3b-41e3-b8b3-c71762ecd489:us-south38399"
},
"parameters": {
"location": "us-south",
"optional-param":"parameter required by your service"
}
}
Comprendre le paramètre IBM Cloud context
Dans l'exemple précédent, vous pouvez voir les métadonnées renvoyées dans le paramètre context. Le contexte pour IBM Cloud renvoie ce qui suit :
-
platform : Identifie la plateforme sous le nom
ibmcloud -
" account_id": Renvoie l'ID du compte dans IBM Cloud qui crée l'instance de service.
-
crn: Lorsqu'un client crée votre service dans IBM Cloud, une instance de service est créée et cette instance est identifiée par son nom de ressource IBM Cloud (CRN). Le CRN est utilisé dans tous les aspects de l'interaction avec IBM Cloud, y compris la création d'instances, la liaison (création d'informations d'identification et de points d'extrémité), la mesure, l'affichage du tableau de bord et le contrôle d'accès. Du point de vue du fournisseur de produits, le CRN peut être traité comme une chaîne opaque à utiliser avec les API de IBM Cloud. Il peut également être décomposé en utilisant la structure suivante :
crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resourceDans l'exemple de mise à disposition, le nom CRN du service
compose-redisest :crn:v1:bluemix:public:compose-redis:us-south:a/46aa677e-e83f-4d17-a2b6-5b752564477c:416d769b-682d-4833-8bd7-5ef8778e5b52::Dans cet exemple, cette instance
compose-redisfait partie du compte IBM Cloud ayant l'ID. L'ID unique de l'instance est416d769b-682d-4833-8bd7-5ef8778e5b52et cette dernière est hébergée dans la régionus-southde l'élément IBM Cloud public. -
resource_group_crn : renvoie le groupe de ressources incluant l'instance de service. Pour plus de détails, voir Gestion des groupes de ressources.
Vous n'êtes généralement pas concerné par le paramètre
resource_group_crn, sauf dans de rares circonstances. Contactez votre interlocuteur IBM avant d'utiliser cette zone.