IBM Cloud Docs
Cómo utilizan la plataforma IBM Cloud los servicios de terceros

Cómo utilizan la plataforma IBM Cloud los servicios de terceros

Un servicio de terceros utiliza la plataforma IBM Cloud para la autenticación, el acceso, la creación de instancias de autoservicio, la calibración y la facturación. Este tema proporciona una visión general de alto nivel de los componentes de plataforma que utiliza el servicio y reúne estos conceptos en un escenario de suministro global.

La capa de suministro de IBM Cloud

La capa de suministro gestiona el ciclo de vida de los recursos de IBM Cloud. La capa de suministro es la responsable de controlar y realizar un seguimiento del ciclo de vida de los recursos en una cuenta de cliente. Los recursos son componentes físicos o lógicos que se pueden crear o reservar para una aplicación o instancia de servicio. Los ejemplos de recursos incluyen límites almacenamiento, base de datos, cuentas, procesador y memoria. En general, los recursos de los que la capa de suministro realiza un seguimiento están pensados para asociar métricas de uso y métodos de facturación, pero no siempre es así. En algunos casos, el recurso puede estar asociado a la capa de suministro para garantizar que el ciclo de vida del recurso se puede gestionar junto con el ciclo de vida de la cuenta.

Gestión del ciclo de vida de un recurso

La capa de suministro proporciona API comunes para controlar el ciclo de vida de los recursos desde la creación (creación de una instancia) hasta el enlace (creación de credenciales de acceso) hasta el desenlace (eliminación de acceso) o la supresión (supresión de una instancia). Además, la plataforma IBM Cloud proporciona varias CLI y una interfaz de usuario que puede gestionar el ciclo de vida de estos recursos que no requieren que cree sus propias instalaciones.

La capa de suministro proporciona varias API para ayudarle a gestionar los siguientes elementos del ciclo de vida del recurso:

  • Creación de una instancia de recurso
  • Actualización de una instancia del recurso
  • Enlazando
  • Claves del recurso
  • Desenlace
  • Supresión de una instancia de recurso

IBM Cloud Identity and Access Management (IAM)

Identity Access Management (IAM) le permite autenticar usuarios de forma segura y controlar el acceso a todos los recursos de la nube de forma coherente en IBM Cloud. La capa de suministro de IBM Cloud ha adoptado IAM para la autenticación y autorización de acciones que se emprenden sobre la capa de suministro. Los proveedores de productos de terceros utilizan IAM para crear un flujo de autenticación (OAuth). Consulte ¿Qué es IAM? para obtener más información.

Si el producto utiliza bibliotecas de OpenID Connect (OIDC), IAM da soporte a la integración de OIDC. OIDC es una capa de autenticación en la parte superior de OAuth 2.0, una infraestructura de autorización, y puede ayudar a simplificar el proceso de incorporación. Para obtener más información sobre OIDC, consulte Open ID Connect.

Catálogo de IBM Cloud

El catálogo IBM Cloud almacena y muestra las definiciones de producto (descripciones, características, imágenes, URL, palabras clave y otras definiciones de producto) del producto que ha incorporado. IBM Cloud Partner Center proporciona una forma de definir todos los aspectos de los metadatos necesarios del servicio. Puede encontrar información detallada sobre los campos de metadatos necesarios y opcionales en las pestañas Panel de control, Detalles de producto y Fijación de precios en Partner Center. Estos metadatos se publican y se visualizan en el catálogo. Eche un vistazo a los siguientes elementos clave para empezar a entender:

Nombre programático
El nombre programático es el ID exclusivo del producto y se utiliza en todos los servicios y herramientas de IBM. Este nombre no es el nombre de visualización del producto que los clientes ven en el catálogo de IBM Cloud. El nombre programático se genera automáticamente a partir del nombre de la empresa y el nombre de visualización del producto.
Nombre de visualización
Un nombre para el servicio. Este nombre se muestra públicamente en el catálogo IBM Cloud. Por ejemplo, Compose Redis
ID de servicio
Se utiliza un ID de servicio para identificar el servicio cuando se comunica con otros servicios de IBM Cloud. También es necesario para crear una clave de API para el ID de servicio.
Logotipo de la empresa o del producto
Un archivo SVG con el logotipo del producto.
Descripción breve
La descripción breve de lo que es el producto, su valor y cualquier otro detalle que desee que se visualice en la entrada de catálogo IBM Cloud. Puede añadir una sola frase o frase como descripción.
Descripción detallada
Esta descripción se muestra al principio de la página del producto en el catálogo. Incluya palabras clave relevantes y considere al menos dos frases para una descripción detallada.
URL de documentación
Un enlace a la documentación de IBM Cloud.
URL del Acuerdo de licencia de usuario final (EULA)
Un enlace al acuerdo de licencia de usuario final con el que los usuarios deben estar de acuerdo para utilizar el producto. No incluya los términos de facturación, pago o impuestos en este acuerdo.
Categoría
Selección de las categorías disponibles de IBM Cloud que mejor describen su producto. Sólo se puede seleccionar una categoría.
Palabras clave
Palabras, frases y otros términos clave de búsqueda asociados con el producto.
Características
Identificadores exclusivos descriptivos breves sobre los atributos del producto.
Medios
Capturas de pantalla y vídeos que muestran su producto.
Nombre de plan
Un nombre para el plan de precios que no incluye el nombre de la empresa o del producto. Esta información se muestra a los clientes en el catálogo de IBM Cloud. Por ejemplo, Gold
Descripción del plan
La descripción del plan de precios. Esta información se muestra a los clientes en el catálogo de IBM Cloud.
Nombre programático del plan
El nombre técnico del plan de precios que se genera automáticamente. No puede realizar ediciones en este nombre.

Open Service Broker

Los intermediarios de servicio gestionan el ciclo de vida de los servicios. La plataforma IBM Cloud interactúa con intermediarios de servicio para crear y gestionar instancias de servicio y enlaces de servicio. Los enlaces de servicio son la representación de una asociación entre una aplicación y una instancia de servicio, que a menudo incluyen las credenciales que la aplicación utiliza para comunicarse con la instancia de servicio. Si se proporcionan valores de metadatos válidos, se crea una respuesta de API REST satisfactoria cuando se realiza una solicitud.

IBM Cloud utiliza la API de la especificación Open Service Broker (OSB) version 2.12. Lea detenidamente y familiarícese con la especificación de API de Open Brokery utilice el archivo léame como guía para obtener más información.

Cuando el controlador de recursos recibe una solicitud para crear un recurso, llama al OSB para validar el tipo de servicio, el producto, los planes y la disponibilidad de las regiones. El controlador de recursos también valida la visibilidad del plan que está asociado con la cuenta de cliente. IBM Cloud proporciona ejemplos de intermediario y documentos de API que amplían la especificación OSB. Encontrará más detalles sobre el desarrollo y el alojamiento del intermediario a medida que siga los pasos detallados de desarrollo e incorporación de la facturación integrada.

Servicio de medición de IBM Cloud

Si un servicio ofrece un plan de medición, se factura a los usuarios de IBM Cloud en función de la cantidad de recursos que utilizan. Por ejemplo, se puede facturar a los usuarios de IBM Cloud que utilizan servicios de base de datos en función de la cantidad de almacenamiento que utilizan sus aplicaciones. Para poder convertir el uso en un registro facturable se deben enviar datos sobre uso.

Todos los servicios de facturación integrados que ofrecen un plan de medición utilizan el servicio de medición de IBM Cloud para notificar los datos sobre uso.

Es necesario automatizar el envío de uso por hora utilizando la API de servicio de medición si ofrece un plan de medición.

Para obtener más información sobre la medición, consulte Integración de mediciones. Para obtener más información sobre el envío de datos de uso de medición, consulte Envío de datos de uso para planes de medición.

Escenario de creación: extracción de todo junto

Ahora vamos a combinar todos los conceptos y examinaremos un ejemplo de cómo funciona la creación de una instancia de servicio con la plataforma IBM Cloud.

Escenario de suministro
Figura 1. Cómo maneja la plataforma la creación de instancias de servicio

Creación de una instancia de servicio utilizando la consola

Cuando un usuario desea crear una instancia de servicio, puede seleccionar el servicio y el plan y utilizar la operación Crear.

La plataforma IBM Cloud valida que el usuario tiene permiso para crear la instancia de servicio mediante IBM Cloud IAM. Después de que se produzca esta validación, se inicia el punto final de creación del intermediario de servicio (PUT /v2/resource_instances/:resource_instance_id). Para que se cree la instancia, se deben cumplir las reglas siguientes:

  • Se debe incluir el contexto IBM Cloud en la variable context
  • X-Broker-API-Originating-Identity tiene el ID de IAM de IBM del usuario que ha iniciado la solicitud
  • La sección parameters incluye la ubicación solicitada (y más parámetros que necesita el servicio).

Solicitud de ejemplo para crear una instancia:

    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"
      }
    }

Creación de una instancia de servicio utilizando la CLI

Cuando un usuario desea crear una instancia de servicio, puede utilizar ibmcloud cli [ ibmcloud resource service-instance-create NAME SERVICE_NAME SERVICE_PLAN_NAME LOCATION ].

La plataforma IBM Cloud valida que el usuario tiene permiso para crear la instancia de servicio mediante IBM Cloud IAM. Después de que se produzca esta validación, se inicia el punto final de creación del intermediario de servicio (PUT /v2/resource_instances/:resource_instance_id). Para que se cree la instancia, se deben cumplir las reglas siguientes:

  • Se debe incluir el contexto IBM Cloud en la variable context
  • X-Broker-API-Originating-Identity tiene el ID de IAM de IBM del usuario que ha iniciado la solicitud
  • La sección parameters incluye la ubicación solicitada (y más parámetros que necesita el servicio).

Solicitud de ejemplo para crear una instancia:

    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"
      }
    }

Creación de una instancia de servicio utilizando la API

Esta acción solo se puede realizar a través de la interfaz de usuario o de la CLI. Para ver los pasos, vaya a la interfaz de usuario o a las instrucciones de la CLI.

La plataforma IBM Cloud valida que el usuario tiene permiso para crear la instancia de servicio mediante IBM Cloud IAM. Después de que se produzca esta validación, se inicia el punto final de creación del intermediario de servicio (PUT /v2/resource_instances/:resource_instance_id). Para que se cree la instancia, se deben cumplir las reglas siguientes:

  • Se debe incluir el contexto IBM Cloud en la variable context
  • X-Broker-API-Originating-Identity tiene el ID de IAM de IBM del usuario que ha iniciado la solicitud
  • La sección parameters incluye la ubicación solicitada (y más parámetros que necesita el servicio).

Solicitud de ejemplo para crear una instancia:

    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"
      }
    }

Visión general del parámetro IBM Cloud context

En el ejemplo anterior, puede ver los metadatos que se devuelven en el parámetro context. El contexto de IBM Cloud devuelve lo siguiente:

  • platform: identifica la plataforma como ibmcloud

  • "account_id": devuelve el ID de la cuenta en IBM Cloud que está creando la instancia de servicio.

  • crn: Cuando un cliente crea su servicio en IBM Cloud, se crea una instancia de servicio y esta instancia se identifica mediante su nombre de recurso (CRN) IBM Cloud. El CRN se utiliza en todos los aspectos de la interacción con IBM Cloud, incluida la creación de instancias, el enlace (creación de credenciales y puntos finales), la calibración, la visualización del panel de control y el control de acceso. Desde la perspectiva de un proveedor de productos, el CRN se puede tratar en gran medida como una serie opaca que se utilizará con las API IBM Cloud. También se puede descomponer utilizando la estructura siguiente:

    crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource
    

    En el ejemplo de suministro, vemos que el CRN del servicio compose-redis es el siguiente:

    crn:v1:bluemix:public:compose-redis:us-south:a/46aa677e-e83f-4d17-a2b6-5b752564477c:416d769b-682d-4833-8bd7-5ef8778e5b52::
    

    En este ejemplo, la instancia de compose-redis forma parte de una cuenta de IBM Cloud con ID. El ID único de la instancia es 416d769b-682d-4833-8bd7-5ef8778e5b52 y la instancia se aloja en la región us-south de IBM Cloud público.

  • resource_group_crn: Devuelve el grupo de recursos que contiene la instancia de servicio. Para obtener más información, consulte Gestión de grupos de recursos.

    El usuario no se suele preocupar por resource_group_crn, excepto en casos muy específicos. Consulte a su representante de IBM antes de utilizar este campo.