0 / 0
Zurück zur englischen Version der Dokumentation
Authentifizierung für programmgesteuerten Zugriff
Letzte Aktualisierung: 10. Mai 2024
Authentifizierung für programmgesteuerten Zugriff

Wenn Sie Watson Machine Learning mit der Python -Clientbibliothek oder der REST-API verwenden möchten, müssen Sie sich authentifizieren, um Ihre Arbeit zu schützen. Im Folgenden werden die verschiedenen Authentifizierungsmöglichkeiten und deren Anwendung auf den gewünschten Service erläutert.

Sie verwenden IBM Cloud® Identity and Access Management (IAM), um authentifizierte Anforderungen für öffentliche IBM Watson™-Services abzusetzen. Mithilfe von IAM-Zugriffsrichtlinien können Sie auf Basis eines einzigen Schlüssels Zugriff auf mehrere Ressourcen zuweisen. Darüber hinaus können ein Benutzer, eine Service-ID und eine Serviceinstanz mehrere API-Schlüssel enthalten.

Sicherheitsübersicht

Sehen Sie sich den entsprechenden Abschnitt für Ihre Sicherheitsanforderungen an.

Authentifizierungsnachweise

Im Zusammenhang mit den in diesem Abschnitt beschriebenen Sicherheitsanforderungen sind die folgenden Begriffe wichtig.

  • API-Schlüssel ermöglichen Ihnen die einfache Authentifizierung, wenn Sie den Python -Client oder APIs verwenden, und können über mehrere Services hinweg verwendet werden. API-Schlüssel gelten als vertraulich, da sie verwendet werden, um Zugriff zu erteilen. Behandeln Sie alle API-Schlüssel wie ein Kennwort, da jeder Benutzer mit Ihrem API-Schlüssel auf Ihren Service zugreifen kann.
  • Ein IAM-Token ist ein Authentifizierungstoken, das für den Zugriff auf IBM Cloud -Services erforderlich ist. Sie können ein Token mithilfe Ihres API-Schlüssels in der Tokenanforderung generieren. Details zur Verwendung von IAM-Tokens finden Sie unter Authentifizierung bei der Watson Machine Learning -API.

Für eine Authentifizierung bei einem Service über dessen API müssen Sie Ihre Berechtigungsnachweise an die API übermitteln. Sie können entweder ein Trägertoken in einem Berechtigungsheader oder einen API-Schlüssel übergeben.

API-Schlüssel generieren

Wenn Sie einen API-Schlüssel in Ihrem IBM Cloud-Benutzerkonto generieren möchten, rufen Sie Zugriff und Benutzer verwalten - API-Schlüssel auf und erstellen Sie einen API-Schlüssel für Ihr Benutzerkonto oder wählen Sie einen API-Schlüssel für Ihr Benutzerkonto aus.

Sie können API-Schlüssel auch über Profil und Einstellungen > Benutzer-API-Schlüsselgenerieren und turnusmäßig wechseln. Weitere Informationen finden Sie unter Benutzer-API-Schlüssel verwalten.

Mit einem IAM-Token authentifizieren

Bei IAM-Tokens handelt es sich um temporäre Sicherheitsberechtigungsnachweise, die 60 Minuten lang gültig sind. Wenn ein Token abläuft, generieren Sie ein neues Token. Tokens können für den temporären Zugriff auf Ressourcen nützlich sein. Weitere Informationen finden Sie in IBM Cloud IAM-Token mithilfe eines API-Schlüssels generieren.

Service-Level-Token abrufen

Sie können für die Authentifizierung auch ein Service-Level-Token verwenden. Gehen Sie wie folgt vor, um ein Service-Level-Token zu generieren:

  1. Lesen Sie die IBM Cloud-Anweisungen für das Erstellen einer Service-ID.
  2. Generieren Sie einen API-Schlüssel für diese Service-ID.
  3. Öffnen Sie den Bereich, in dem Sie Ihre bereitstellbaren Assets aufbewahren wollen.
  4. Fügen Sie die Service-ID auf der Registerkarte Zugriffssteuerung hinzu und weisen Sie die Zugriffsrolle Administrator oder Bearbeiter zu.

Sie können das Service-Level-Token für Ihre API-Scoring-Anforderungen verwenden.

Schnittstellen

 

Python-Client

Siehe watsonx.ai Python -Client externer Link .

Um eine Instanz des Python -Clientobjekts watsonx.ai zu erstellen, müssen Sie Ihre Berechtigungsnachweise an den Watson Machine Learning -API-Client übergeben.

wml_credentials = {
                  "apikey":"123456789",
                  "url": " https://HIJKL"
}
from ibm_watson_machine_learning import APIClient
wml_client = APIClient(wml_credentials)
Hinweis:

Auch wenn Sie einen instance_idnicht explizit angeben, wird er zu Abrechnungszwecken aus dem zugeordneten Bereich oder Projekt übernommen. Details zu Plänen und Abrechnung für Watson Machine Learning -Services finden Sie unter Pläne und Laufzeitnutzung fürWatson Machine Learning.

In Beispielnotebooks finden Sie Beispiele für die Authentifizierung und das anschließende Scoring eines Modells mithilfe des Python -Clients.

REST-API

Siehe Watson Machine Learning -REST-API externer Link

Um die REST-API Watson Machine Learning verwenden zu können, müssen Sie ein IBM Cloud Identity and Access Management (IAM) -Token anfordern. In diesem Beispiel geben Sie Ihren API-Schlüssel anstelle des Beispielschlüssels an.

cURL-Beispiel

curl -k -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=123456789" \
"https://iam.cloud.ibm.com/identity/token"

Das abgerufene IAM-Token muss das Wort Bearerals Präfix haben und im Berechtigungsheader für API-Aufrufe übergeben werden.

Python-Beispiel

import requests

# Paste your Watson Machine Learning service apikey here

apikey = "123456789"

# Get an IAM token from IBM Cloud
url     = "https://iam.cloud.ibm.com/identity/token"
headers = { "Content-Type" : "application/x-www-form-urlencoded" }
data    = "apikey=" + apikey + "&grant_type=urn:ibm:params:oauth:grant-type:apikey"
response  = requests.post( url, headers=headers, data=data, auth=apikey )
iam_token = response.json()["access_token"]

Node.js-Beispiel

var btoa    = require( "btoa" );
var request = require( 'request' );

// Paste your Watson Machine Learning service apikey here
var apikey = "123456789";

// Use this code as written to get an access token from IBM Cloud REST API
//
var IBM_Cloud_IAM_uid = "bx";
var IBM_Cloud_IAM_pwd = "bx";

var options = { url     : "https://iam.cloud.ibm.com/identity/token",
                headers : { "Content-Type"  : "application/x-www-form-urlencoded",
                            "Authorization" : "Basic " + btoa( IBM_Cloud_IAM_uid + ":" + IBM_Cloud_IAM_pwd ) },
                body    : "apikey=" + apikey + "&grant_type=urn:ibm:params:oauth:grant-type:apikey" };

request.post( options, function( error, response, body )
{
    var iam_token = JSON.parse( body )["access_token"];
} );

Übergeordnetes Thema: Vorhersagebereitstellungen verwalten

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen