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.
| 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. |
- 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`
| 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"
}
- 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 | 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>",
}
}
]
}
- 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 | 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.
- 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 | 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. |
- Eine Liste der unterstützten
APIsfinden 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.
- Klicken Sie in der Menüleiste auf Verwalten > Zugriff (IAM).
- Klicken Sie auf die Seite Benutzer und wählen Sie Ihren eigenen Eintrag aus.
- Klicken Sie im Teilfenster API-Schlüssel auf IBM Cloud-API-Schlüssel erstellen.
- Geben Sie einen Namen und eine Beschreibung für Ihren API-Schlüssel ein und klicken Sie auf Erstellen.
- Klicken Sie auf Anzeigen, um den API-Schlüssel anzuzeigen, der für Sie generiert wurde.
- 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.
- 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 | 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.
- Fahren Sie mit der Arbeit an der „ IBM Cloud Schematics “-API-Dokumentation fort und verwenden Sie dabei das Token aus dem vorherigen Schritt.