API einrichten

Mithilfe der IBM Cloud® Schematics-API können Sie Schematics-Funktionen in IBM Cloud automatisieren. Informationen zur Verwendung der Befehlszeilenschnittstelle finden Sie unter Verwendung der Befehlszeilenschnittstelle vorbereiten.

Einen Überblick über die unterstützten „ IBM Cloud® Schematics “ APIs, API-Endpunkte sowie die erforderlichen API-Header- und Body-Informationen finden Sie in der Dokumentation zur „ Schematics “-API.

Arbeiten mit der „ Schematics “-API

Erfahren Sie, wie Sie die IBM Cloud® Schematics API mit einem Identity and Access Management Token zur Authentifizierung verwenden können.

Um mit der „ IBM Cloud Schematics “-API arbeiten zu können, müssen Sie ein IAM-Token ( IBM Cloud® Identity and Access Management ) angeben, das mit Ihren Anmeldedaten für „ IBM Cloud “ generiert wurde. Abhängig von der Methode Ihrer Authentifizierung bei IBM Cloud stehen Ihnen die folgenden Optionen zur Automatisierung der Erstellung Ihres IBM Cloud-IAM-Tokens zur Verfügung.

ID-Typen und Optionen
Authentifizierungsoption Beschreibung
IBM Cloud Benutzername und Passwort Befolgen Sie die Schritte in diesem Thema, um die Erstellung Ihres IAM-Zugriffstokens für „ IBM Cloud “ vollständig zu automatisieren. Wenn Sie sich mit MFA bei IBM Cloud authentifizieren, können Sie die Erstellung Ihres IBM Cloud IAM-Tokens nicht vollständig automatisieren, da MFA eine manuelle Interaktion mit Ihrem Web-Browser erfordert. Um die Erstellung Ihres IAM-Tokens für „ IBM Cloud “ vollständig zu automatisieren, müssen Sie stattdessen einen API-Schlüssel von „ IBM Cloud “ verwenden.
IBM Cloud-API-Schlüssel Als Alternative zur Verwendung des Benutzernamens und des Kennworts für IBM Cloud können Sie IBM Cloud API-Schlüssel verwenden. IBM Cloud API-Schlüssel sind für das IBM Cloud-Konto spezifisch, für das sie generiert werden. Für den Zugriff auf Arbeitsbereiche, die in einem anderen Konto als dem erstellt wurden, auf dem Ihr API-Schlüssel IBM Cloud basiert, müssen Sie einen API-Schlüssel für dieses Konto generieren.
  1. Erstellen Sie Ihr IBM Cloud-IAM-Zugriffstoken.

Der Anforderungshauptteil für Ihre API-Tokenanforderung hängt von der Authentifizierungsmethode IBM Cloud ab.

Das IAM-Token „ IBM Cloud “ finden Sie im Feld „ access_token “ Ihrer API-Ausgabe. Notieren Sie sich das IBM Cloud-IAM-Token, um weitere Headerinformationen in den nächsten Schritten abzurufen.

POST `https://iam.cloud.ibm.com/identity/token`
TABLE
Eingabeparameter Werte
Überschrift :Content-Type: application/x-www-form-urlencoded:Authorization: Basic [Yng6Yng=^]
Yng6Yng= entspricht der URL-kodierten Autorisierung für den Benutzernamen bx und das Passwort bx.
Hauptteil für IBM Cloud-Benutzername und -Kennwort :grant_type: password:response_type: cloud_iam uaa:username: Ihr IBM Cloud-Benutzername.:password: Ihre IBM Cloud password.: uaa_client_id: cf:uaa_client_secret:
Fügen Sie den Schlüssel „ uaa_client_secret “ ohne Angabe eines Werts hinzu.
Hauptteil für IBM Cloud-API-Schlüssel :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Ihr IBM Cloud-API-Schlüssel:uaa_client_id: cf:uaa_client_secret:
Fügen Sie den Schlüssel uaa_client_secret ohne angegebenen Wert hinzu.
Hauptteil für einmaligen IBM Cloud-Kenncode :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: Ihr IBM Cloud-Einmalkenncode. Führen Sie ibmcloud login --sso aus und befolgen Sie die Anweisungen in Ihrer CLI-Ausgabe, um Ihren Einmalkenncode über Ihren Web-Browser abzurufen.:uaa_client_id: cf:uaa_client_secret:
Fügen Sie den Schlüssel „ uaa_client_secret “ ohne Angabe eines Werts hinzu.

Beispielausgabe

{
"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. Rufen Sie die Konto-ID des Tokens ab, mit dem Sie arbeiten.

Ersetzen Sie „ <iam_access_token> “ durch das IAM-Token, das Sie im vorherigen Schritt aus dem Feld „ access_token “ Ihrer API-Ausgabe abgerufen haben. In Ihrer API-Ausgabe finden Sie die ID Ihres „ IBM Cloud “-Kontos im Feld „ resources.metadata.guid “.

GET https://accounts.cloud.ibm.com/coe/v2/accounts
Eingabeparameter, um eine IBM Cloud Konto-ID zu erhalten.
Eingabeparameter Werte
Kopfzeilen :Content-Type: application/json:Authorization: bearer <iam_access_token>:Accept: application/json

Beispielausgabe

{
    "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. Generieren Sie ein neues IBM Cloud-IAM-Token, das Ihre IBM Cloud-Berechtigungsnachweise und die Konto-ID enthält, mit der Sie arbeiten wollen.

Wenn Sie einen IBM Cloud-API-Schlüssel verwenden, müssen Sie die IBM Cloud-Konto-ID verwenden, für die der API-Schlüssel erstellt wurde. Um auf Schematics-Arbeitsbereiche oder -Aktionen im Konto Bzuzugreifen, melden Sie sich bei Konto B an und erstellen einen IBM Cloud-API-Schlüssel, der auf Konto B basiert.

POST https://iam.cloud.ibm.com/identity/token
Eingabeparameter zum Abrufen von IAM-Tokens.
Eingabeparameter Werte
Überschrift :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=[^]
Yng6Yng= entspricht der mit „ URL “ kodierten Autorisierung für den Benutzernamen bx und das Passwort bx.
Hauptteil für IBM Cloud-Benutzername und -Kennwort :grant_type: password:response_type: cloud_iam uaa:username: Ihr IBM Cloud-Benutzername. :password: Ihr IBM Cloud-Kennwort. :uaa_client_ID: cf:uaa_client_secret:
Fügen Sie den Schlüssel „ uaa_client_secret “ ohne Wert hinzu: specified.:bss_account: Die IBM Cloud-Konto-ID, die Sie im vorherigen Schritt abgerufen haben.
Hauptteil für IBM Cloud-API-Schlüssel :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Ihr IBM Cloud-API-Schlüssel.:uaa_client_ID: cf:uaa_client_secret:
Fügen Sie den Schlüssel „ uaa_client_secret “ ohne Wert hinzu: specified.:bss_account: Die IBM Cloud-Konto-ID, die Sie im vorherigen Schritt abgerufen haben.
Hauptteil für einmaligen IBM Cloud-Kenncode :grant_type:urn:ibm:params:oauth:grant-type:passcode:response_type: cloud_iam uaa:passcode: Ihr IBM Cloud-Kenncode. :uaa_client_ID: cf:uaa_client_secret:
Fügen Sie den Schlüssel „ uaa_client_secret “ ohne Angabe eines Werts hinzu. :bss_account: Die IBM Cloud-Konto-ID, die Sie im vorherigen Schritt abgerufen haben.

Example output

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

Den IAM-Token „ IBM Cloud “ finden Sie im Feld „ access_token “ und den Refresh-Token im Feld „ refresh_token “ Ihrer API-Ausgabe.

  1. Verwenden Sie die Schematics-API, um alle Arbeitsbereiche in Ihrem Konto aufzulisten.

Befehl zum Auflisten aller Arbeitsbereiche

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

Syntax zum Abrufen von Informationen zu einem bestimmten Arbeitsbereich:

GET https://schematics.cloud.ibm.com/v1/workspaces/{id}
Eingabeparameter für die Arbeit mit der API IBM Cloud Schematics.
Eingabeparameter Werte
Überschrift Authorization: bearer <iam_token>: Ihr IBM Cloud-IAM-Zugriffstoken.
Pfad id <workspace_ID>: Die ID des Arbeitsbereichs. Führen Sie ibmcloud schematics workspace list aus, um die Arbeitsbereichs-ID abzurufen.
  1. Eine Liste der unterstützten APIs finden Sie in der API-Dokumentation zuIBM Cloud Schematics.

IBM Cloud-IAM-Zugriffstoken aktualisieren und neue Token über die API abrufen

Ein IBM Cloud® Identity and Access Management (IAM)-Zugangs-Token läuft nach einer Stunde ab. Sie müssen Ihr Zugriffstoken regelmäßig aktualisieren, um den Zugriff auf die IBM Cloud-API sicherzustellen. Mit denselben Schritten können Sie ein neues Token anfordern.

Bevor Sie beginnen, stellen Sie sicher, dass Sie über ein gültiges IAM-Aktualisierungstoken für „ IBM Cloud “ oder einen API-Schlüssel für „ IBM Cloud “ verfügen, mit dem Sie ein neues Zugriffstoken anfordern können.

  • Aktualisierungstoken: Folgen Sie den Anweisungen unter Prozess der Arbeitsbereichserstellung und des Managements mit der IBM Cloud-API automatisieren.
  • API-Schlüssel: Rufen Sie Ihren IBM Cloud API-Schlüssel wie folgt ab.
    1. Klicken Sie in der Menüleiste auf Verwalten > Zugriff (IAM).
    2. Klicken Sie auf die Seite Benutzer und wählen Sie Ihren eigenen Eintrag aus.
    3. Klicken Sie im Teilfenster API-Schlüssel auf IBM Cloud-API-Schlüssel erstellen.
    4. Geben Sie einen Namen und eine Beschreibung für Ihren API-Schlüssel ein und klicken Sie auf Erstellen.
    5. Klicken Sie auf Anzeigen, um den API-Schlüssel anzuzeigen, der für Sie generiert wurde.
    6. Kopieren Sie den API-Schlüssel, sodass Sie ihn zum Abrufen Ihres neuen IBM Cloud-IAM-Zugriffstokens verwenden können.

Führen Sie die folgenden Schritte aus, wenn Sie ein IBM Cloud-IAM-Token erstellen oder ein neues Aktualisierungstoken abrufen wollen.

  1. Generieren Sie ein neues IBM Cloud-IAM-Zugriffstoken, indem Sie das Aktualisierungstoken oder den IBM Cloud-API-Schlüssel verwenden.
POST https://iam.cloud.ibm.com/identity/token
Eingabeparameter für ein neues IBM Cloud IAM-Token.
Eingabeparameter Werte
Überschrift :Content-Type: application/x-www-form-urlencoded:Authorization: Basic Yng6Yng=

Yng6Yng= entspricht der mit „ URL “ kodierten Autorisierung für den Benutzernamen bx und das Passwort bx.
Hauptteil bei Verwendung des Aktualisierungstokens :grant_type: refresh_token:response_type: cloud_iam uaa:refresh_token: Ihr IBM Cloud-IAM-Aktualisierungstoken. :uaa_client_ID: cf:uaa_client_secret::bss_account: Ihre IBM Cloud-Konto-ID.

Fügen Sie den Schlüssel „ uaa_client_secret “ ohne Angabe eines Werts hinzu.
Hauptteil bei Verwendung des IBM Cloud-API-Schlüssels :grant_type: urn:ibm:params:oauth:grant-type:apikey:response_type: cloud_iam uaa:apikey: Ihr IBM Cloud-API-Schlüssel. :uaa_client_ID: cf:uaa_client_secret: Fügen Sie den uaa_client_secret-Schlüssel ohne angegebenen Wert hinzu.

Beispiel-API-Ausgabe

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

Ihr neues IAM-Token für „ IBM Cloud “ finden Sie im Feld „ access_token “, und das Refresh-Token im Feld „ refresh_token “ Ihrer API-Ausgabe.

  1. Fahren Sie mit der Arbeit an der „ IBM Cloud Schematics “-API-Dokumentation fort und verwenden Sie dabei das Token aus dem vorherigen Schritt.