Vorgehensweise zur Verwendung der IBM Cloud-Plattform durch Drittanbieterservices
Ein Dienst eines Drittanbieters nutzt die Plattform IBM Cloud für die Authentifizierung, den Zugang, die Erstellung von Self-Service-Instanzen, die Zählung und die Abrechnung. Dieses Thema bietet einen umfassenden Überblick über die Plattformkomponenten, die Ihr Dienst verwendet, und fasst diese Konzepte in einem End-to-End-Bereitstellungsszenario zusammen.
IBM Cloud-Bereitstellungsebene
Die Bereitstellungsebene verwaltet den Lebenszyklus von IBM Cloud-Ressourcen. Die Bereitstellungsebene ist für die Steuerung und Überwachung des Lebenszyklus von Ressourcen in einem Kundenkonto verantwortlich. Ressourcen sind physische oder logische Komponenten, die für eine Anwendung oder Serviceinstanz erstellt oder reserviert werden können. Zu den Beispielen für Ressourcen gehören Datenbanken und Konten, Prozessoren, Speicher und Speichergrenzwerte. Im Allgemeinen dienen Ressourcen, die in der Einrichtungsebene überwacht werden, der Zuordnung von Nutzungsmetriken und Abrechnungen, dies ist jedoch nicht zwingend erforderlich. In bestimmten Fällen kann die Ressource der Bereitstellungsebene zugeordnet werden, um sicherzustellen, dass der Lebenszyklus der Ressource zusammen mit dem Lebenszyklus des Kontos verwaltet werden kann.
Verwaltung des Lebenszyklus von Ressourcen
Die Bereitstellungsschicht bietet gemeinsame APIs zur Steuerung des Lebenszyklus von Ressourcen, von der Erstellung (Anlegen einer Instanz) über Dienstberechtigungen (Anlegen und Entfernen von Zugangsberechtigungen) bis hin zur Löschung (Löschen einer Instanz). Darüber hinaus stellt die IBM Cloud-Plattform CLIs und eine Benutzerschnittstelle zur Verwaltung des Lebenszyklus dieser Ressourcen bereit, sodass Sie keine eigenen Verwaltungsfunktionen erstellen müssen.
Die Bereitstellungsebene stellt APIs zur Verfügung, mit denen Sie die folgenden Elemente im Lebenszyklus von Ressourcen verwalten können:
- Ressourceninstanz erstellen
- Aktualisierung einer Ressourceninstanz
- Serviceberechtigungsnachweise erstellen
- Entfernen von Dienstanmeldeinformationen
- Ressourcenschlüssel
- Ressourceninstanz löschen
IBM Cloud Identity and Access Management (IAM)
Identity Access Management (IAM) ermöglicht Ihnen die sichere Authentifizierung von Benutzern und die einheitliche Steuerung des Zugriffs auf alle Cloudressourcen in IBM Cloud. Die IBM Cloud-Bereitstellungsebene hat IAM für die Authentifizierung und Berechtigung von Aktionen ausgewählt, die für die Bereitstellungsebene ausgeführt werden. Anbieter von Drittprodukten verwenden IAM, um einen Authentifizierungsfluss zu erstellen ( OAuth ). Weitere Informationen finden Sie in Was ist IAM?
Wenn Ihr Produkt OpenID Connect (OIDC) Bibliotheken verwendet, unterstützt IAM die OIDC-Integration. OIDC ist eine Authentifizierungsschicht, die auf OAuth 2.0 aufbaut, einem Autorisierungs-Framework, und kann dazu beitragen, den Onboarding-Prozess zu vereinfachen. Weitere Informationen zu OIDC finden Sie unter Open ID Connect.
IBM Cloud katalog
Der IBM Cloud-Katalog speichert und zeigt die Produktdefinitionen (Beschreibungen, Features, Bilder, URLs, Schlüsselwörter und andere Produktdefinitionen) des Produkts an, das Sie integrieren. IBM Cloud Partner Center bietet eine Möglichkeit, alle Aspekte der erforderlichen Metadaten Ihres Service zu definieren. Detaillierte Informationen zu den erforderlichen und optionalen Metadatenfeldern finden Sie auf den Registerkarten 'Dashboard', 'Produktdetails' und 'Preisgestaltung ' im Partner Center. Diese Metadaten werden veröffentlicht und im Katalog angezeigt. Sehen Sie sich die folgenden Schlüsselelemente an, um Ihr Verständnis zu beschleunigen:
- Programmgesteuerter Name
- Der programmgesteuerte Name ist die eindeutige ID Ihres Produkts und wird in allen IBM Services und Tools verwendet. Dieser Name ist nicht der Anzeigename Ihres Produkts, der Kunden im IBM Cloud-Katalog angezeigt wird. Der programmatische Name wird automatisch aus Ihrem Firmennamen und dem Anzeigenamen Ihres Produkts generiert.
- Anzeigename
- Ein Name für Ihren Dienst. Dieser Name wird öffentlich im Katalog IBM Cloud angezeigt. Beispiel:
Compose Redis - Service-ID
- Mit einer Service-ID wird Ihr Service identifiziert, wenn er mit anderen IBM Cloud-Services kommuniziert. Außerdem müssen Sie einen API-Schlüssel für Ihre Service-ID erstellen.
- Unternehmens- oder Produktlogo
- Eine SVG-Datei mit Ihrem Produktlogo
- Kurzbeschreibung
- Die Kurzbeschreibung Ihres Produkts, sein Wert und alle anderen Details, die in Ihrem IBM Cloud Katalogeintrag angezeigt werden sollen. Sie können einen einzelnen Satz oder eine Phrase als Beschreibung hinzufügen.
- Detaillierte Beschreibung
- Diese Beschreibung wird am Anfang Ihrer Produktseite im Katalog angezeigt. Schließen Sie relevante Schlüsselwörter ein und berücksichtigen Sie mindestens zwei Sätze für eine detaillierte Beschreibung.
- Dokumentations-URL
- Link zur Dokumentation zu IBM Cloud.
- Endbenutzer-Lizenzvertrag (EULA) URL
- Ein Link zu der Endbenutzer-Lizenzvereinbarung, der die Benutzer zustimmen müssen, um Ihr Produkt zu verwenden. Diese Vereinbarung sollte keine Abrechnungs-, Zahlungs- oder Steuerbedingungen enthalten.
- Kategorie
- Auswahl verfügbarer IBM Cloud-Kategorien, die Ihr Produkt am besten beschreiben. Es kann nur eine Kategorie ausgewählt werden.
- Stichworte
- Wörter, Phrasen und andere wichtige Suchbegriffe, die mit Ihrem Produkt in Verbindung stehen.
- Features
- Kurze beschreibende eindeutige IDs zu den Attributen Ihres Produkts.
- Medien
- Screenshots und Videos, die Ihr Produkt zeigen.
- Planname
- Ein Name für Ihren Preisplan, der nicht den Namen Ihres Unternehmens oder Produkts enthält. Diese Informationen werden Kunden im IBM Cloud-Katalog angezeigt. Beispiel:
Gold - Planbeschreibung
- Die Beschreibung des Preisplans. Diese Informationen werden Kunden im IBM Cloud-Katalog angezeigt.
- Programmatische Bezeichnung des Plans
- Der technische Name des Preistarifs, der automatisch generiert wird Sie können diesen Namen nicht bearbeiten.
Open Service Broker
Service-Broker verwalten den Lebenszyklus von Services. Die Plattform IBM Cloud interagiert mit Service-Brokern, um Service-Instanzen und Service-Bindungen zu erstellen und zu verwalten. Servicebindungen sind die Darstellung einer Zuordnung zwischen einer Anwendung und einer Serviceinstanz, die häufig die Berechtigungsnachweise enthält, die die Anwendung für die Kommunikation mit der Serviceinstanz verwendet. Durch die Bereitstellung gültiger Metadatenwerte wird eine erfolgreiche REST-API-Antwort erzeugt, wenn eine Anfrage ausgeführt wird.
IBM Cloud verwendet die Spezifikation für die Open Service Broker-API (OSB) version 2.12. Lesen Sie die Open Broker API-Spezifikation durch und machen Sie sich mit ihr vertraut, und verwenden Sie die Readme-Datei als Leitfaden, um mehr zu erfahren.
Wenn der Ressourcen-Controller eine Anfrage zur Erstellung einer Ressource erhält, ruft er Ihre OSB auf, um den Servicetyp, das Produkt, die Pläne und die Verfügbarkeit der Regionen zu überprüfen. Der Ressourcen-Controller validiert auch die Sichtbarkeit des Plans, der mit dem Kundenkonto verbunden ist. IBM Cloud bietet Broker-Beispiele und API-Dokumente, die die OSB-Spezifikation erweitern. Weitere Einzelheiten zur Entwicklung sowie zum Hosting Ihres Brokers erhalten Sie, während Sie die detaillierten Schritte zur Entwicklung des Onboardings für die integrierte Abrechnung ausführen.
Nutzungsmessungsservice der IBM Cloud
Wenn für einen Service ein Plan mit Nutzungsmessung angeboten wird, werden die Gebühren von IBM Cloud-Benutzern auf Basis des Ressourcenvolumens berechnet, das von den Benutzern genutzt wird. Für IBM Cloud-Benutzer, die Datenbankservices nutzen, werden die Gebühren beispielsweise auf Basis der Speicherkapazität berechnet, die von den Anwendungen der Benutzer verbraucht wird. Die Übermittlung von Nutzungsdaten ist erforderlich, um die Nutzungsdaten in einen Datensatz umzuwandeln, auf dessen Basis die Belastung erfolgen kann.
Alle Services mit integrierter Abrechnung mit einem Plan mit Nutzungsmessung müssen den IBM Cloud-Messservice verwenden, um die Nutzungsdaten zu melden.
Sie müssen die stündliche Übermittlung von Nutzungsdaten mithilfe der Messservice-API automatisieren, wenn Sie einen Plan mit Nutzungsmessung anbieten.
Weitere Informationen zu Messungen finden Sie in Messungsintegration. Weitere Informationen zur Übermittlung der gemessenen Nutzungsdaten finden Sie in Nutzungsdaten für Pläne mit Nutzungsmessung übermitteln.
Schöpfungs-Szenario: Alles unter einen Hut bringen
Im Folgenden werden alle Konzepte zusammengefasst und es wird anhand eines Beispiels betrachtet, wie Serviceinstanzen mithilfe der IBM Cloud-Plattform erstellt werden können.
Erstellen einer Dienstinstanz mit Hilfe der Konsole
Wenn ein Benutzer eine Serviceinstanz erstellen möchte, kann er den Service und den Plan auswählen und die Operation Erstellen verwenden.
Auf der IBM Cloud-Plattform wird überprüft, ob der Benutzer über die erforderliche Berechtigung zur Erstellung der Serviceinstanz mithilfe von IBM Cloud IAM verfügt. Nach dieser Validierung wird der Erstellungsendpunkt Ihres Service-Brokers
(PUT /v2/resource_instances/:resource_instance_id) gestartet. Damit die Instanz erstellt werden kann, müssen die folgenden Regeln erfüllt sein:
- Der IBM Cloud-Kontext ist in der Kontextvariablen enthalten.
X-Broker-API-Originating-Identityist die IBM IAM-ID des Benutzers zugeordnet, der die Anforderung gestartet hat.- Der Abschnitt für die Parameter enthält die erforderliche Position (sowie zusätzliche Parameter, die für den Service erforderlich sind).
Beispielanforderung zum Erstellen einer Instanz:
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"
}
}
Erstellen einer Serviceinstanz mit Hilfe der CLI
Wenn der Benutzer eine Serviceinstanz erstellen möchte, kann er den Befehl ibmcloud cli [ ibmcloud resource service-instance-create NAME SERVICE_NAME SERVICE_PLAN_NAME LOCATION ] verwenden.
Auf der IBM Cloud-Plattform wird überprüft, ob der Benutzer über die erforderliche Berechtigung zur Erstellung der Serviceinstanz mithilfe von IBM Cloud IAM verfügt. Nach dieser Validierung wird der Erstellungsendpunkt Ihres Service-Brokers (PUT /v2/resource_instances/:resource_instance_id ) gestartet. Damit die Instanz erstellt werden kann, müssen die folgenden Regeln erfüllt sein:
- Der IBM Cloud-Kontext ist in der Kontextvariablen enthalten.
X-Broker-API-Originating-Identityist die IBM IAM-ID des Benutzers zugeordnet, der die Anforderung gestartet hat.- Der Abschnitt für die Parameter enthält die erforderliche Position (sowie zusätzliche Parameter, die für den Service erforderlich sind).
Beispielanforderung zum Erstellen einer Instanz:
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"
}
}
Erstellen einer Dienstinstanz mit Hilfe der API
Diese Aktion ist nur über die Benutzerschnittstelle oder die Befehlszeilenschnittstelle möglich. Die entsprechenden Schritte sind in den Anweisungen für die Benutzerschnittstelle bzw. die Befehlszeilenschnittstelle beschrieben.
Auf der IBM Cloud-Plattform wird überprüft, ob der Benutzer über die erforderliche Berechtigung zur Erstellung der Serviceinstanz mithilfe von IBM Cloud IAM verfügt. Nach dieser Validierung wird der Erstellungsendpunkt Ihres Service-Brokers (PUT /v2/resource_instances/:resource_instance_id ) gestartet. Damit die Instanz erstellt werden kann, müssen die folgenden Regeln erfüllt sein:
- Der IBM Cloud-Kontext ist in der Kontextvariablen enthalten.
X-Broker-API-Originating-Identityist die IBM IAM-ID des Benutzers zugeordnet, der die Anforderung gestartet hat.- Der Abschnitt für die Parameter enthält die erforderliche Position (sowie zusätzliche Parameter, die für den Service erforderlich sind).
Beispielanforderung zum Erstellen einer Instanz:
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"
}
}
IBM Cloud-Parameter context verstehen
Im vorherigen Beispiel wurden die Metadaten dargestellt, die im Parameter context zurückgegeben werden. Der Kontext für IBM Cloud gibt Folgendes zurück:
-
Plattform: Gibt die Plattform als
ibmcloudan -
" account_id": Gibt die ID des Kontos in IBM Cloud zurück, das die Dienstinstanz erstellt.
-
crn: Wenn ein Kunde Ihren Dienst in IBM Cloud erstellt, wird eine Dienstinstanz erstellt, die durch ihren IBM Cloud Ressourcennamen (CRN) identifiziert wird. Die CRN wird in allen Aspekten der Interaktion mit IBM Cloud verwendet, einschließlich der Erstellung von Instanzen, der Bindung (Erstellung von Anmeldeinformationen und Endpunkten), der Messung, der Dashboard-Anzeige und der Zugriffskontrolle. Aus der Sicht eines Produktanbieters kann die CRN weitgehend als undurchsichtige Zeichenfolge behandelt werden, die mit den APIs von IBM Cloud verwendet werden kann. Außerdem kann er mithilfe der folgenden Struktur zerlegt werden:
crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resourceIm Bereitstellungsbeispiel ist ersichtlich, dass der Service-CRN
compose-rediswie folgt dargestellt wird:crn:v1:bluemix:public:compose-redis:us-south:a/46aa677e-e83f-4d17-a2b6-5b752564477c:416d769b-682d-4833-8bd7-5ef8778e5b52::Im vorliegenden Beispiel ist diese Instanz von
compose-redisTeil des IBM Cloud-Kontos mit ID. Die eindeutige ID für die Instanz lautet416d769b-682d-4833-8bd7-5ef8778e5b52und die Instanz wird in der Regionus-south(Vereinigte Staaten (Süden)) des öffentlichen IBM Cloud-Systems gehostet. -
resource_group_crn: Gibt die Ressourcengruppe zurück, die die Serviceinstanz beinhaltet. Weitere Einzelheiten finden Sie in Ressourcengruppen verwalten.
Sie müssen von einigen speziellen Ausnahmen abgesehen den Ressourcengruppen-CRN (
resource_group_crn) nicht berücksichtigen. Wenden Sie sich an den zuständigen IBM Ansprechpartner für Ihren Anwendungsfall, bevor Sie dieses Feld verwenden.