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.

BereitstellungsszenarioWie
von Service-Instanzen handhabtWie die Plattform die Erstellung von Service-Instanzen handhabt

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-Identity ist 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-Identity ist 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-Identity ist 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 ibmcloud an

  • " 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:resource
    

    Im Bereitstellungsbeispiel ist ersichtlich, dass der Service-CRN compose-redis wie 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-redis Teil des IBM Cloud-Kontos mit ID. Die eindeutige ID für die Instanz lautet 416d769b-682d-4833-8bd7-5ef8778e5b52 und die Instanz wird in der Region us-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.