IBM Cloud Docs
Configuration de l'API

Configuration de l'API

Vous pouvez utiliser l'API IBM Cloud® Schematics pour automatiser les fonctions de Schematics dans IBM Cloud. Pour utiliser l'interface de ligne de commande, voir Préparation de l'utilisation de l'interface de ligne de commande.

Pour obtenir une vue d'ensemble des IBM Cloud® Schematics APIs pris en charge, des points d'extrémité de l'API et des informations requises sur l'en-tête et le corps de l'API, voir la documentation de l'API Schematics.

Travailler avec l'API Schematics

Apprenez à utiliser l'API IBM Cloud® Schematics à l'aide d'un jeton Identity and Access Management pour l'authentification.

Pour travailler avec l'API IBM Cloud Schematics, vous devez fournir un jeton IBM Cloud® Identity and Access Management (IAM) qui est généré avec vos informations d'identification IBM Cloud. Selon votre mode d'authentification auprès d'IBM Cloud, vous pouvez choisir parmi les options suivantes pour automatiser la création de votre jeton IBM Cloud IAM.

Types d'ID et options
Option d'authentification Description
IBM Cloud nom d'utilisateur et mot de passe Vous pouvez suivre les étapes de cette rubrique pour automatiser entièrement la création de votre jeton d'accès IAM IBM Cloud. Si vous vous authentifiez auprès de IBM Cloud à l'aide de l'authentification multi-facteur, vous ne pouvez pas automatiser complètement la création de votre jeton IAM IBM Cloud car l'authentification multi-facteur nécessite une interaction manuelle avec votre navigateur Web. Pour automatiser complètement la création de votre token IAM IBM Cloud, vous devez utiliser une clé API IBM Cloud à la place.
Clé d'API IBM Cloud Comme alternative à l'utilisation du nom d'utilisateur et du mot de passe IBM Cloud, vous pouvez utiliser les clés d'API IBM Cloud. Les clés d'API IBM Cloud sont spécifiques au compte IBM Cloud pour lequel elles sont générées. Pour accéder aux espaces de travail qui ont été créés dans un autre compte que celui sur lequel votre clé d'API IBM Cloud est basée, vous devez générer une clé d'API pour ce compte.
  1. Créez votre jeton d'accès IBM Cloud IAM.

Le corps de demande de votre demande de jeton d'API dépend de la méthode d'authentification IBM Cloud.

Vous trouverez le jeton IAM de IBM Cloud dans le champ access_token de votre sortie API. Notez la valeur du jeton IBM Cloud IAM pour extraire des informations d'en-tête supplémentaires dans les étapes suivantes.

POST `https://iam.cloud.ibm.com/identity/token`
TABLEAU
Paramètres d'entrée Valeurs
En-tête :Content-Type: application/x-www-form-urlencoded:Authorization : Basic [Yng6Yng=^]
Yng6Yng= équivaut à l'autorisation codée URL pour le nom d'utilisateur bx et le mot de passe bx.
Corps pour le nom d'utilisateur et le mot de passe IBM Cloud :grant_type: password:response_type: cloud_iam uaa:username: Votre nom d'utilisateur IBM Cloud username.:password: Votre mot de passe IBM Cloud password.:uaa_client_id: cf:uaa_client_secret:
Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée.
Corps pour les clés d'API IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: votre clé d'API IBM Cloud:uaa_client_id: cf:uaa_client_secret:
Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée.
Corps pour le code d'accès à usage unique IBM Cloud :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: votre mot de passe à usage unique IBM Cloud. Exécutez ibmcloud login --sso et suivez les instructions de la sortie de l'interface de ligne de commande pour extraire votre code d'accès à usage unique à l'aide de votre navigateur Web browser.:uaa_client_id: cf:uaa_client_secret:
Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée.

Exemple de sortie

{
"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. Extrayez l'ID de compte du jeton que vous utilisez.

Remplacez <iam_access_token> par le jeton IAM récupéré dans le champ access_token de votre sortie API à l'étape précédente. Dans la sortie de votre API, vous pouvez trouver l'ID de votre compte IBM Cloud dans le champ resources.metadata.guid.

GET https://accounts.cloud.ibm.com/coe/v2/accounts
Paramètres d'entrée pour obtenir un identifiant de compte IBM Cloud.
Paramètres d'entrée Valeurs
En-têtes :Content-Type: application/json:Authorization: bearer <iam_access_token>:Accept: application/json

Exemple de sortie

{
    "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. Générez un nouveau jeton IBM Cloud IAM comprenant vos données d'identification IBM Cloud et l'ID du compte que vous souhaitez utiliser.

Si vous utilisez une clé d'API IBM Cloud, vous devez utiliser l'ID du compte IBM Cloud pour lequel la clé d'API a été créée. Pour accéder aux espaces de travail ou aux actions Schematics du compte B, connectez-vous au compte B et créez une clé d'API IBM Cloud basée sur le compte B.

POST https://iam.cloud.ibm.com/identity/token
Paramètres d'entrée permettant d'obtenir des jetons IAM
Paramètres d'entrée Valeurs
En-tête :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=[^]
Yng6Yng= équivaut à l'autorisation codée URL pour le nom d'utilisateur bx et le mot de passe bx.
Corps pour le nom d'utilisateur et le mot de passe IBM Cloud :grant_type: password:response_type: cloud_iam uaa:username: Votre nom d'utilisateur IBM Cloud. :password: votre mot de passe IBM Cloud. :uaa_client_ID: cf:uaa_client_secret:
Ajoutez la clé uaa_client_secret sans aucune valeur specified.:bss_account: ID de compte IBM Cloud que vous avez extrait à l'étape précédente.
Corps pour les clés d'API IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Votre clé d'API IBM Cloud key.:uaa_client_ID: cf:uaa_client_secret:
Ajoutez la clé uaa_client_secret sans valeur specified.:bss_account: L'ID de compte IBM Cloud que vous avez extrait à l'étape précédente.
Corps pour le code d'accès à usage unique IBM Cloud :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: votre code d'accès IBM Cloud. :uaa_client_ID: cf:uaa_client_secret:
Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée. :bss_account: ID de compte IBM Cloud que vous avez extrait à l'étape précédente.

Example output

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

Vous trouverez le jeton IAM de IBM Cloud dans le champ access_token et le jeton de rafraîchissement dans le champ refresh_token de votre sortie API.

  1. Utilisez l'API Schematics pour répertorier tous les espaces de travail de votre compte.

Syntaxe pour lister tous les espaces de travail

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

Syntaxe permettant de récupérer des informations sur un espace de travail spécifique :

GET https://schematics.cloud.ibm.com/v1/workspaces/{id}
Paramètres d'entrée à utiliser avec l'API IBM Cloud Schematics.
Paramètres d'entrée Valeurs
En-tête Authorization: bearer <iam_token>: votre jeton d'accès IBM Cloud IAM.
Voie id <workspace_ID>: ID de l'espace de travail. Pour extraire l'ID de l'espace de travail, exécutez ibmcloud schematics workspace list
  1. Consultez la documentation de l'APIIBM Cloud Schematics pour obtenir la liste des APIs prises en charge.

Actualisation des jetons d'accès à IBM Cloud IAM et obtention de nouveaux jetons à l'aide de l'API

Un jeton d'accès IBM Cloud® Identity and Access Management (IAM) expire au bout d'une heure. Vous devez actualiser régulièrement votre jeton d'accès pour garantir l'accès à l'API IBM Cloud. Vous pouvez suivre les mêmes étapes pour obtenir un nouveau jeton.

Avant de commencer, assurez-vous que vous disposez d'un jeton de rafraîchissement IAM valide ( IBM Cloud ) ou d'une clé API ( IBM Cloud ) que vous pouvez utiliser pour demander un nouveau jeton d'accès.

  • Jeton d'actualisation : suivez les instructions de la rubrique Automatisation du processus de création et de gestion d'un espace de travail à l'aide de l'API IBM Cloud.
  • Clé API : Récupérez votre IBM Cloud Clé API en procédant comme suit.
    1. Dans la barre de menu, cliquez sur Gérer > Accès (IAM).
    2. Cliquez sur la page Utilisateurs, puis sélectionnez-vous.
    3. Dans la sous-fenêtre desclés d'API, cliquez sur Création d'une clé d'API IBM Cloud.
    4. Entrez un Nom et une Description pour la clé d'API et cliquez sur Créer.
    5. Cliquez sur Afficher pour voir la clé d'API qui a été générée pour vous.
    6. Copiez la clé d'API pour pouvoir l'utiliser pour récupérer votre nouveau jeton d'accès IBM Cloud IAM.

Si vous désirez créer un jeton IBM Cloud IAM ou obtenir un nouveau jeton d'actualisation, procédez comme suit :

  1. Générez un nouveau jeton IBM Cloud IAM en utilisant le jeton d'actualisation ou la clé d'API IBM Cloud.
POST https://iam.cloud.ibm.com/identity/token
Paramètres d'entrée pour un nouveau jeton IAM IBM Cloud.
Paramètres d'entrée Valeurs
En-tête :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=

Yng6Yng= équivaut à l'autorisation codée URL pour le nom d'utilisateur bx et le mot de passe bx.
Corps lorsque vous utilisez le jeton d'actualisation :grant_type: refresh_token:response_type: cloud_iam uaa:refresh_token: Votre jeton d'actualisation IAM IBM Cloud. :uaa_client_ID: cf:uaa_client_secret::bss_account: ID de votre compte IBM Cloud.

Ajoutez la clé uaa_client_secret sans spécifier de valeur.
Corps lorsque vous utilisez la clé d'API IBM Cloud :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Votre clé d'API IBM Cloud. :uaa_client_ID: cf:uaa_client_secret: Ajoutez la clé uaa_client_secret sans aucune valeur spécifiée.

Exemple de sortie d'API

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

Vous trouverez votre nouveau jeton IAM IBM Cloud dans le champ access_token, et le jeton de rafraîchissement dans le champ refresh_token de votre sortie API.

  1. Continuez à travailler avec la documentation de l'API IBM Cloud Schematics en utilisant le jeton de l'étape précédente.