Come i servizi di terze parti utilizzano la IBM Cloud piattaforma
Un servizio di terze parti utilizza la IBM Cloud piattaforma per l'autenticazione, l'accesso, la creazione di istanze self-service, la misurazione e la fatturazione. Questo argomento fornisce una panoramica di alto livello dei componenti della piattaforma utilizzati dal tuo servizio e riunisce questi concetti in uno scenario di provisioning end - to - end.
Livello di provisioning IBM Cloud
Il livello di provisioning gestisce il ciclo di vita delle risorse IBM Cloud. Il livello di provisioning è responsabile del controllo e della traccia del ciclo di vita delle risorse in un account del cliente. Le risorse sono componenti fisiche o logiche che possono essere create o riservate per un'applicazione o un'istanza di servizio. Esempi di risorse includono database, account, processore, memoria e limiti di archiviazione. In generale, è previsto che alle risorse tracciate dal livello di provisioning siano associate delle metriche di utilizzo e una fatturazione ma non è sempre così. In alcuni casi, la risorsa può essere associata al livello di provisioning per garantire che il ciclo di vita della risorsa possa essere gestito insieme al ciclo di vita dell'account.
Gestione del ciclo di vita della risorsa
Il livello di provisioning fornisce API comuni per controllare il ciclo di vita delle risorse, dalla creazione (creazione di un'istanza) alle credenziali di servizio (creazione e rimozione delle credenziali di accesso) fino alla cancellazione (eliminazione di un'istanza). Inoltre, la piattaforma IBM Cloud fornisce le CLI e una IU che possono gestire il ciclo di vita di queste risorse che non richiedono che tu crei delle tue funzioni.
Il livello di provisioning fornisce le API che ti aiutano a gestire i seguenti elementi del tuo ciclo di vita delle risorse:
- Creazione di un'istanza della risorsa
- Aggiornamento di un'istanza della risorsa
- Creazione delle credenziali del sevizio
- Rimozione delle credenziali di servizio
- Chiavi di risorsa
- Eliminazione di un'istanza della risorsa
IBM Cloud IAM (Identity and Access Management)
IAM (Identity Access Management) ti consente di autenticare in modo sicuro gli utenti e controllare l'accesso a tutte le risorse cloud in modo congruente in tutto IBM Cloud. Il livello di provisioning IBM Cloud ha adottato IAM per l'autenticazione e l'autorizzazione delle azioni eseguite sul livello di provisioning. I fornitori di prodotti di terze parti utilizzano IAM per creare un flusso di autenticazione ( OAuth ). Per ulteriori informazioni, vedere Cos'è l'IAM?
Se il prodotto utilizza le librerie OpenID Connect (OIDC), IAM supporta l'integrazione OIDC. OIDC è un livello di autenticazione costruito su OAuth 2.0, un framework di autorizzazione che può aiutare a semplificare il processo di onboarding. Per ulteriori informazioni su OIDC, vedere Open ID Connect.
Catalogo IBM Cloud
Il catalogo IBM Cloud memorizza e visualizza le definizioni di prodotto (descrizioni, funzioni, immagini, URL, parole chiave e altre definizioni di prodotto) del prodotto di cui è stato eseguito l'onboarding. IBM Cloud Il Partner Center fornisce un modo per definire tutti gli aspetti dei metadati richiesti del tuo servizio. È possibile trovare informazioni dettagliate sui campi di metadati obbligatori e facoltativi nelle schede Dashboard, Dettagli prodotto e Prezzi in Partner Center. Questi metadati sono pubblicati e visualizzati nel catalogo. Dai un'occhiata ai seguenti elementi chiave per iniziare a capire:
- Nome programmatico
- Il nome programmatico è l'ID univoco del tuo prodotto e viene utilizzato all'interno di tutti i servizi e strumenti IBM. Questo nome non è il nome di visualizzazione del tuo prodotto che i clienti vedono nel catalogo IBM Cloud. Il nome programmatico viene generato automaticamente dal nome dell'azienda e dal nome visualizzato del prodotto.
- Nome di visualizzazione
- Un nome per il vostro servizio. Questo nome viene visualizzato pubblicamente nel catalogo IBM Cloud. Ad esempio,
Compose Redis - ID servizio
- Un ID servizio viene utilizzato per identificare il servizio quando comunica con altri servizi IBM Cloud. Devi anche creare una chiave API per il tuo ID servizio.
- Logo azienda o prodotto
- Un file SVG con il logo del prodotto.
- Descrizione breve
- Una breve descrizione del prodotto, del suo valore e di qualsiasi altro dettaglio che desideri venga visualizzato nella voce del tuo IBM Cloud catalogo. È possibile aggiungere una singola frase o un'espressione come descrizione.
- Descrizione dettagliata
- Questa descrizione viene visualizzata all'inizio della pagina del prodotto nel catalogo. Includere parole chiave pertinenti e considerare almeno due frasi per una descrizione dettagliata.
- URL documentazione
- Un link alla tua documentazione IBM Cloud.
- Contratto di licenza con l'utente finale (EULA) URL
- Un collegamento all'accordo di licenza dell'utente finale che gli utenti devono accettare per utilizzare il prodotto. Non includere termini di fatturazione, pagamento o imposte in questo accordo.
- Categoria
- Selezione delle categorie IBM Cloud disponibili che descrivono al meglio il tuo prodotto. È possibile selezionare una sola categoria.
- Parole chiave
- Parole, frasi e altri termini di ricerca chiave associati al vostro prodotto.
- Funzioni
- Brevi identificativi univoci descrittivi relativi agli attributi del prodotto.
- Supporti
- Screen capture e video che mostrano il tuo prodotto.
- Nome piano
- Un nome per il vostro piano tariffario che non includa il nome della vostra azienda o del vostro prodotto. Queste informazioni vengono mostrate ai clienti nel catalogo IBM Cloud. Ad esempio,
Gold - Descrizione piano
- La descrizione del piano tariffario. Queste informazioni vengono mostrate ai clienti nel catalogo IBM Cloud.
- Nome programmatico del piano
- Il nome tecnico del piano dei prezzi generato automaticamente. Non è possibile apportare modifiche a questo nome.
Open Service Broker
I broker dei servizi gestiscono il ciclo di vita dei servizi. La piattaforma IBM Cloud interagisce con i service broker per creare e gestire istanze di servizio e binding di servizio. I bind del servizio sono la rappresentazione di una associazione tra una applicazione e un'istanza del servizio, che spesso includono le credenziali utilizzate dall'applicazione per comunicare con l'istanza del servizio. La fornitura di valori di metadati validi crea una risposta API REST di successo quando viene eseguita una richiesta.
IBM Cloud utilizza la specifica dell'API OSB (Open Service Broker) version 2.12. Leggete e familiarizzate con il sito Specifiche API del broker aperto e utilizzate il file readme come guida per saperne di più.
Quando il controller delle risorse riceve una richiesta di creazione di una risorsa, chiama l'OSB per convalidare il tipo di servizio, il prodotto, i piani e la disponibilità delle regioni. Il controller delle risorse verifica anche la visibilità del piano associato all'account del cliente. IBM Cloud fornisce esempi di broker e documentazione API che estendono le specifiche OSB. Puoi trovare ulteriori dettagli sullo sviluppo e sull'hosting del tuo broker man mano che affronti la dettagliata procedura di sviluppo dell'onboarding della fatturazione integrato.
Servizio di misurazione IBM Cloud
Se un servizio offre un piano a consumo, l'addebito a carico degli utenti IBM Cloud è basato sulla quantità di risorse da essi utilizzata. Ad esempio, l'addebito a carico degli utenti IBM Cloud che utilizzano i servizi database potrebbe essere basato sulla quantità di archiviazione utilizzata dalle loro applicazioni. L'inoltro dell'utilizzo deve essere eseguito per consentire la conversione dell'utilizzo in un record addebitabile.
Tutti i servizi di fatturazione integrati che offrono un piano a consumo devono utilizzare il servizio di misurazione IBM Cloud per notificare i dati di utilizzo.
Devi automatizzare l'inoltro dell'utilizzo orario utilizzando l'API di servizio di misurazione, se offri un piano a consumo.
Per ulteriori informazioni sulla misurazione, vedi Integrazione della misurazione. Per ulteriori informazioni sull'inoltro dell'utilizzo a consumo, vedi Inoltro dell'utilizzo per i piani a consumo.
Scenario di creazione: Mettere insieme tutto
Mettiamo ora insieme tutti i concetti e guardiamo un esempio di come funziona la creazione di un'istanza del servizio utilizzando la piattaforma IBM Cloud.
Creazione di un'istanza di servizio tramite la console
Quando un utente desidera creare un'istanza del servizio, può selezionare il servizio, pianificare e utilizzare l'operazione Crea.
La piattaforma IBM Cloud convalida che l'utente dispone dell'autorizzazione a creare l'istanza del servizio utilizzando IBM Cloud IAM. Dopo questa convalida, viene avviato l'endpoint di creazione del service broker (PUT /v2/resource_instances/:resource_instance_id).
Per creare l'istanza, devono essere soddisfatte le seguenti regole:
- Il contesto IBM Cloud è incluso nella variabile di contesto
- L'
X-Broker-API-Originating-Identityha l'ID IBM IAM dell'utente che ha avviato la richiesta - La sezione parameters include l'ubicazione richiesta (e i parametri aggiuntivi richiesti dal tuo servizio).
Richiesta di esempio per creare un'istanza:
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"
}
}
Creazione di un'istanza di servizio tramite la CLI
Quando un utente desidera creare un'istanza del servizio, può utilizzare ibmcloud cli [ ibmcloud resource service-instance-create NAME SERVICE_NAME SERVICE_PLAN_NAME LOCATION ].
La piattaforma IBM Cloud convalida che l'utente dispone dell'autorizzazione a creare l'istanza del servizio utilizzando IBM Cloud IAM. Dopo questa convalida, viene avviato l'endpoint di creazione del broker di servizi (PUT /v2/resource_instances/:resource_instance_id ). Per creare l'istanza, devono essere soddisfatte le seguenti regole:
- Il contesto IBM Cloud è incluso nella variabile di contesto
- L'
X-Broker-API-Originating-Identityha l'ID IBM IAM dell'utente che ha avviato la richiesta - La sezione parameters include l'ubicazione richiesta (e i parametri aggiuntivi richiesti dal tuo servizio).
Richiesta di esempio per creare un'istanza:
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"
}
}
Creare un'istanza di servizio utilizzando l'API
Questa azione può essere eseguita solo tramite l'IU o la CLI. Per visualizzare i passi, passare alle istruzioni dell'interfaccia utente o della CLI.
La piattaforma IBM Cloud convalida che l'utente dispone dell'autorizzazione a creare l'istanza del servizio utilizzando IBM Cloud IAM. Dopo questa convalida, viene avviato l'endpoint di creazione del broker di servizi (PUT /v2/resource_instances/:resource_instance_id ). Per creare l'istanza, devono essere soddisfatte le seguenti regole:
- Il contesto IBM Cloud è incluso nella variabile di contesto
- L'
X-Broker-API-Originating-Identityha l'ID IBM IAM dell'utente che ha avviato la richiesta - La sezione parameters include l'ubicazione richiesta (e i parametri aggiuntivi richiesti dal tuo servizio).
Richiesta di esempio per creare un'istanza:
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"
}
}
Comprendere il parametro IBM Cloud context
Nell'esempio precedente, puoi vedere i metadati restituiti nel parametro context. Il contesto per IBM Cloud restituisce quanto segue:
-
piattaforma: Identifica la piattaforma come
ibmcloud -
"account_id": Restituisce l'ID dell'account in IBM Cloud che sta creando l'istanza del servizio.
-
crn: Quando un cliente crea un servizio in IBM Cloud, viene creata un'istanza del servizio, identificata dal suo IBM Cloud Resource Name (CRN). Il CRN viene utilizzato in tutti gli aspetti dell'interazione con IBM Cloud, tra cui la creazione di istanze, il binding (creazione di credenziali ed endpoint), il metering, la visualizzazione del dashboard e il controllo degli accessi. Dal punto di vista del fornitore di prodotti, il CRN può essere trattato in larga misura come una stringa opaca da utilizzare con le API di IBM Cloud. Può anche essere decomposto utilizzando la seguente struttura:
crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resourceNell'esempio di provisioning, vediamo che il CRN del servizio
compose-redisè:crn:v1:bluemix:public:compose-redis:us-south:a/46aa677e-e83f-4d17-a2b6-5b752564477c:416d769b-682d-4833-8bd7-5ef8778e5b52::In questo esempio, questa istanza
compose-redisfa parte dell'account IBM Cloud con ID. L'ID univoco per l'istanza è416d769b-682d-4833-8bd7-5ef8778e5b52e l'istanza è ospitata nella regioneus-southdi IBM Cloud pubblico. -
resource_group_crn: restituisce il gruppo di risorse che include l'istanza del servizio. Per ulteriori dettagli, vedi Gestione dei gruppi di risorse.
In genere non ci si preoccupa di
resource_group_crnse non in circostanze particolari. Consulta il tuo rappresentante IBM sul tuo caso di utilizzo prima di utilizzare tale campo.