Configurazione dell'API

È possibile utilizzare l'API IBM Cloud® Schematics per automatizzare le funzionalità di Schematics in IBM Cloud. Per utilizzare la CLI, vedi Preparazione all'utilizzo della CLI.

Per una panoramica dei IBM Cloud® Schematics APIs supportati, degli endpoint API e delle informazioni di intestazione e corpo API richieste, consultare la documentazione API Schematics.

Utilizzo dell'API Schematics

Imparare a utilizzare l'API IBM Cloud® Schematics utilizzando un token Identity and Access Management per l'autenticazione.

Per utilizzare l'API IBM Cloud Schematics, devi fornire un token IAM ( IBM Cloud® Identity and Access Management generato con le credenziali IBM Cloud. A seconda del modo con cui ti autentichi con IBM Cloud, puoi scegliere tra le seguenti opzioni per automatizzare la creazione del tuo token IBM Cloud IAM.

Opzioni e tipi di ID
Opzione di autenticazione Descrizione
IBM Cloud nome utente e password È possibile seguire i passaggi descritti in questa sezione per automatizzare completamente la creazione del token di accesso IAM per IBM Cloud. Se ti autentica con IBM Cloud utilizzando MFA, non puoi automatizzare completamente la creazione del tuo token IAM IBM Cloud perché la MFA richiede un'interazione manuale con il tuo browser web. Per automatizzare completamente la creazione del token IAM di IBM Cloud, è necessario utilizzare invece una chiave API di IBM Cloud.
Chiave API IBM Cloud Come alternativa all'utilizzo del nome utente e della password di IBM Cloud, puoi utilizzare le chiavi API IBM Cloud. Le chiavi API IBM Cloud sono specifiche dell'account IBM Cloud per cui sono state generate. Per accedere agli spazi di lavoro creati in un account diverso da quello su cui si basa la tua chiave API IBM Cloud, devi generare una chiave API per tale account.
  1. Crea il tuo token di accesso IBM Cloud IAM.

Il corpo della tua richiesta del token API dipende dal metodo di autenticazione IBM Cloud.

È possibile trovare il token IAM " IBM Cloud " nel campo " access_token " dell'output dell'API. Prendi nota del token IBM Cloud IAM per richiamare ulteriori informazioni di intestazione nei passi successivi.

POST `https://iam.cloud.ibm.com/identity/token`
Tabella
Parametri di input Valori
Intestazione :Content-Type: application/x-www-form-urlencoded:Authorization: Basic [Yng6Yng=^]
Yng6Yng= corrisponde all'autorizzazione codificata in formato URL per il nome utente bx e la password bx.
Corpo per il nome utente e la password IBM Cloud. :grant_type: password:response_type: cloud_iam uaa:username: Il tuo IBM Cloud username.: password: Il tuo IBM Cloud password.: uaa_client_id: cf:uaa_client_secret:
Aggiungere la chiave " uaa_client_secret " senza specificarne il valore.
Corpo per le chiavi API IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: la chiave API IBM Cloud:uaa_client_id: cf:uaa_client_secret:
Aggiungi la chiave uaa_client_secret senza alcun valore specificato.
Corpo per il passcode monouso IBM Cloud :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: il tuo passcode monouso IBM Cloud. Esegui il comando ibmcloud login --sso e segui le istruzioni visualizzate nell'output della CLI per recuperare il tuo codice di accesso monouso utilizzando il tuo account web browser.:uaa_client_id: cf :uaa_client_secret:
Aggiungere la chiave " uaa_client_secret " senza specificarne il valore.

Output di esempio

{
"access_token": "<iam_access_token>",
"refresh_token": "<iam_refresh_token>",
"uaa_token": "<uaa_token>",
"uaa_refresh_token": "<uaa_refresh_token>",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1493747503
"scope": "ibm openid"
}
  1. Richiama l'ID account del token con cui stai lavorando.

Sostituisci " <iam_access_token> " con il token IAM ricavato dal campo " access_token " dell'output dell'API ottenuto nel passaggio precedente. Nell'output dell'API, puoi trovare l'ID del tuo account IBM Cloud nel campo resources.metadata.guid.

GET https://accounts.cloud.ibm.com/coe/v2/accounts
Parametri di input per ottenere un ID account IBM Cloud.
Parametri di input Valori
Intestazioni :Content-Type: application/json:Authorization: bearer <iam_access_token>:Accept: application/json

Output di esempio

{
    "next_url": null,
    "total_results": 5,
    "resources": [
        {
            "metadata": {
                "guid": "<account_ID>",
                "url": "/coe/v2/accounts/<account_ID>",
                "created_at": "2020-09-29T02:49:41.842Z",
                "updated_at": "2020-08-16T18:56:00.442Z",
                "anonymousId": "1111a1aa1a1111a1aa11aa11111a1111"
            },
            "entity": {
                "name": "<account_name>",
            }
        }
        ]
}
  1. Genera un nuovo token IBM Cloud IAM che include le tue credenziali IBM Cloud e l'ID account che desideri utilizzare.

Se utilizzi una chiave API IBM Cloud, devi usare l'ID account IBM Cloud per il quale è stata creata la chiave API. Per accedere agli spazi di lavoro Schematics o alle azioni nell'account B, accedere all'account B e creare una chiave API IBM Cloud basata sull'account B.

POST https://iam.cloud.ibm.com/identity/token
Parametri di input per ottenere i token IAM.
Parametri di input Valori
Intestazione :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=[^]
Yng6Yng= corrisponde all'autorizzazione codificata con il formato URL per il nome utente bx e la password bx.
Corpo per il nome utente e la password IBM Cloud. :grant_type: password:response_type: cloud_iam uaa:username: Il tuo nome utente su IBM Cloud. :password: La tua password per IBM Cloud. :uaa_client_ID: cf:uaa_client_secret:
Aggiungere la chiave " uaa_client_secret " senza valore specified.:bss_account: L'ID dell'account IBM Cloud che hai recuperato nel passaggio precedente.
Corpo per le chiavi API IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: La tua API IBM Cloud key.: uaa_client_ID: cf:uaa_client_secret:
Aggiungere la chiave " uaa_client_secret " senza valore specified.:bss_account: L'ID dell'account IBM Cloud che hai recuperato nel passaggio precedente.
Corpo per il passcode monouso IBM Cloud :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: Il tuo codice di accesso a IBM Cloud. :uaa_client_ID: cf:uaa_client_secret:
Aggiungere la chiave " uaa_client_secret " senza specificare alcun valore. :bss_account: L'ID dell'account IBM Cloud che hai recuperato nel passaggio precedente.

Example output

{
    "access_token": "<iam_token>",
    "refresh_token": "<iam_refresh_token>",
    "token_type": "Bearer",
    "expires_in": 3600,
    "expiration": 1493747503
}

È possibile trovare il token IAM " IBM Cloud " nel campo " access_token " e il token di aggiornamento nel campo " refresh_token " dell'output dell'API.

  1. Utilizza l'API Schematics per visualizzare tutti i workspace nel tuo account.

Sintassi per elencare tutti gli spazi di lavoro

    GET https://schematics.cloud.ibm.com/v1/workspaces/
| Input parameters | Values |
| ----- |  --- |
| Header | `Authorization: bearer <iam_token>`|
{: caption="Input parameters to work with the IBM Cloud Schematics API." caption-side="top"}

Sintassi per richiamare le informazioni su uno spazio di lavoro specifico:

GET https://schematics.cloud.ibm.com/v1/workspaces/{id}
Immetti i parametri per lavorare con l'API IBM Cloud Schematics
Parametri di input Valori
Intestazione Authorization: bearer <iam_token>: il tuo token di accesso IAM IBM Cloud.
Percorso id <workspace_ID>: L'ID dell'area di lavoro. Per richiamare l'ID spazio di lavoro, eseguire ibmcloud schematics workspace list
  1. Consulta la documentazione APIIBM Cloud Schematics per un elenco di APIs supportati.

Aggiornamento dei token di accesso IAM di IBM Cloud e acquisizione di nuovi token tramite l'API

Un token di accesso IBM Cloud® Identity and Access Management (IAM) scade dopo un'ora. Per garantire l'accesso all'API IBM Cloud devi aggiornare regolarmente il tuo token di accesso. È possibile seguire la stessa procedura per ottenere un nuovo token.

Prima di iniziare, assicurati di disporre di un token di aggiornamento IAM valido per IBM Cloud o di una chiave API per IBM Cloud che ti consenta di richiedere un nuovo token di accesso.

  • Token di aggiornamento: segui le istruzioni riportate nella sezione " Automazione del processo di creazione e gestione dell'area di lavoro con l'API IBM Cloud ".
  • Chiave API: recupera la tua IBM Cloud chiave API come indicato di seguito.
    1. Dalla barra dei menu, fai clic su Gestisci > Accesso (IAM).
    2. Fai clic sulla pagina Utenti e quindi seleziona te stesso.
    3. Nel riquadro delle chiavi API, fare clic su Crea una chiave API per l' IBM Cloud.
    4. Immetti un Nome e una Descrizione per la tua chiave API e fai clic su Crea.
    5. Fai clic su Mostra per vedere la chiave API che è stata generata per te.
    6. Copia la chiave API in modo che tu possa utilizzarla per richiamare il tuo nuovo token di accesso IBM Cloud IAM.

Utilizza la seguente procedura se vuoi creare un token IBM Cloud IAM o se vuoi ottenere un nuovo token di aggiornamento.

  1. Genera un nuovo token di accesso IBM Cloud IAM utilizzando il token di aggiornamento oppure la chiave API IBM Cloud.
POST https://iam.cloud.ibm.com/identity/token
Parametri di input per un nuovo token IAM IBM Cloud.
Parametri di input Valori
Intestazione :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=

Yng6Yng= corrisponde all'autorizzazione codificata con il metodo " URL " per il nome utente bx e la password bx.
Corpo quando si utilizza il token di aggiornamento :grant_type: refresh_token:response_type: cloud_iam uaa:refresh_token: Il tuo token di aggiornamento IAM di IBM Cloud. :uaa_client_ID: cf:uaa_client_secret::bss_account: il tuo ID account IBM Cloud.

Aggiungere la chiave " uaa_client_secret " senza specificarne il valore.
Corpo quando si utilizza la chiave API IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: La tua chiave API di IBM Cloud. :uaa_client_ID: cf:uaa_client_secret: Aggiungere la chiave " uaa_client_secret " senza specificarne il valore.

Output API di esempio

{
    "access_token": "<iam_token>",
    "refresh_token": "<iam_refresh_token>",
    "uaa_token": "<uaa_token>",
    "uaa_refresh_token": "<uaa_refresh_token>",
    "token_type": "Bearer",
    "expires_in": 3600,
    "expiration": 1493747503
}

Puoi trovare il tuo nuovo token IAM " IBM Cloud " nel campo " access_token" e il token di aggiornamento nel campo " refresh_token " dell'output dell'API.

  1. Continua a lavorare con la documentazione dell'API di IBM Cloud Schematics utilizzando il token ottenuto nel passaggio precedente.