Die Daten-und Metadatenservice-APIs verwenden ein JSON Web Token (JWT) für die Authentifizierung und Berechtigung. Wenn Sie eine API über den HTTP -Berechtigungsanforderungsheader aufrufen, müssen Sie ein nicht abgelaufenes Token angeben, das den richtigen Geltungsbereich hat und von einem genehmigten JSON Web Key (JWK) signiert wird.
Vorbereitende Schritte
- Suchen Sie das Konto, die Organisation und die Kunden-IDs.
Melden Sie sich bei Intelligence Suitean.
Wählen Sie die Organisation und das Konto aus, die Sie verwenden.
- Öffnen Sie die Informationsseite.
Eine Liste der Konto-, Organisations-und Client-IDs, die Sie für einen Zugriff auf die API-Services benötigen, wird angezeigt.
Anmerkung: Der Client-ID wird der Servicename vorangestellt.
Im folgenden Beispiel für eine Client-ID ist saascore ein Service, d. h., die ID hat das Präfix saascore.
saascore-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- Notieren Sie sich alle IDs.
- Rufen Sie einen API-Schlüssel ab.
Hinweis: Sie können einen API-Schlüssel mit oder ohne IBM Cloud® -Konto abrufen, aber die Verwendung eines IBM Cloud -Kontos ist die bevorzugte Methode.
| Option |
Beschreibung |
| Wenn Sie über ein IBM Cloud -Konto verfügen |
Sie müssen den API-Schlüssel nur einmal generieren, um das IAM-Token (Identity and Access Management) zu generieren, und dieser Schlüssel läuft nach seiner Erstellung nicht ab.
- Melden Sie sich bei IBM Cloud an.
- Wählen Sie in der Menüleiste aus.
- Klicken Sie im seitlichen Navigationsmenü im Abschnitt Identitäten verwalten auf API-Schlüssel.
- Klicken Sie auf Erstellen und fügen Sie einen Namen und eine Beschreibung hinzu, um den IBM Cloud -API-Schlüssel zu erstellen.
- Klicken Sie auf Erstellen.
- Kopieren Sie den API-Schlüssel oder klicken Sie auf Herunterladen , um ihn zu speichern.
|
| Wenn Sie kein IBM Cloud -Konto haben |
Wenden Sie sich an IBM® , um einen API-Schlüssel zu erhalten, der keinIBM Cloud -Schlüssel ist, und fahren Sie dann mit der Prozedur fort. |
Vorgehensweise
- Token generieren:
| Option |
Beschreibung |
| Wenn Sie über ein IBM Cloud -Konto verfügen |
- Um ein IAM-Token zu erstellen, senden Sie die POST-API-Anforderung wie im folgenden cURL -Beispiel gezeigt:
Stellen Sie sicher, dass Sie <<YOUR_IAM_APIKEY>> durch Ihren Schlüssel in der Anforderung ersetzen. curl --location --request POST 'https://iam.cloud.ibm.com/identity/token' \
--data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \
--data-urlencode 'apikey=<<YOUR_IAM_APIKEY>>'
Diese Anforderung gibt ein IAM-Token zurück. Notieren Sie sich das IAM-Token.
- Generieren Sie ein JWT-Token.
Im folgenden cURL -Beispiel wird das IAM-Token verwendet, um ein JWT-Token für den Zugriff auf den saascore -Service zu generieren.
Ersetzen Sie <<YOUR_ORGID>>,<<CLIENT_ID>>, und <<YOUR_IAM_TOKEN>> durch Ihre Organisations-ID, Client-ID und das IAM-Token in der Anforderung. curl --location --request GET 'https://api.ibm.com/saascore/run/authentication-retrieve?orgId=<<YOUR_ORGID>>\
--header 'X-IBM-Client-Id: saascore-<<CLIENT_ID>>' \
--header 'Authorization: Bearer <<YOUR_IAM_TOKEN>>'
Das Ergebnis dieses Aufrufs ist ein JWT-Token. Speichern Sie das JWT-Token für nachfolgende API-Aufrufe. JWT-Token laufen in der Regel nach etwa 60 Minuten ab, nach denen Sie ein neues Token abrufen müssen.
|
| Wenn Sie kein IBM Cloud -Konto haben |
Senden Sie eine GET-Anforderung, wie im folgenden cURL -Beispiel gezeigt.
Stellen Sie sicher, dass Sie <tenantId>>,<<apiKey>>, und <<orgId>> in der Anforderung durch Ihre Tenant-ID, einen Nicht-IBM Cloud -API-Schlüssel und eine Organisations-ID ersetzen. curl --location --request GET \
--header 'X-IBM-Client-Id: saascore-${tenantId}' \
--header 'X-API-Key: ${apiKey}' \
"https://api.ibm.com/saascore/run/authentication-retrieve/api-key?orgId=${orgId}"
|
- Authentifizieren Sie Ihren Account.
Im folgenden cURL -Beispiel wird das JWT-Token zur Authentifizierung Ihres Kontos verwendet.
curl --location --request <GET/POST> '<INSERT_API_ENDPOINT_HERE>' \
--header 'x-ibm-client-Id: <service-prefix>-<INSERT_YOUR_CLIENT_ID_HERE>' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <INSERT_YOUR_JWT_HERE> \