Sichern des eingebetteten Chats
Die Sicherung eines eingebetteten Chats umfasst die Festlegung der Identität, die Zugriffskontrolle, die Vertrauenswürdigkeit des Kontexts und die Frage, wer für die betrieblichen Sicherheitsvorkehrungen verantwortlich ist. Die Durchsetzung von Sicherheitsmaßnahmen hängt von den Konfigurationsoptionen ab, darunter auch davon, ob die Authentifizierung aktiviert ist. Wenn diese Option aktiviert ist, basiert die gesamte Kommunikation zwischen Ihrer Webanwendung und IBM watsonx Orchestrate auf authentifizierten Anfragen, signierten Tokens und verschlüsselten Nutzdaten unter Verwendung von Public-Key-Kryptografie und JSON Web Token (JWT)-Authentifizierung.
Die Sprachfunktionen im integrierten Chat verwenden dasselbe Sicherheitsmodell wie textbasierte Interaktionen. Wenn die Sicherheitsfunktion aktiviert ist, werden Sprach-Audiostreams über JWT-Token authentifiziert, und die Audiositzung wird mit der Benutzeridentität verknüpft. Weitere Informationen zum Aktivieren der Sprachfunktion im eingebetteten Chat finden Sie unter „Aktivieren der Sprachfunktionen im eingebetteten Agenten “.
Sicherheitsmodi
Aktivieren Sie die Sicherheit, um Client-Anfragen zu authentifizieren und sicherzustellen, dass nur autorisierte Anwendungen die eingebetteten Chat-APIs starten können. Deaktivieren Sie diese Option für den anonymen Zugriff auf den eingebetteten Chat in bestimmten Anwendungsfällen.
Sie können die Sicherheit je nach den Anforderungen Ihrer Anwendung aktivieren oder deaktivieren:
Aktivieren Sie die Sicherheit, um Client-Anfragen zu authentifizieren und sicherzustellen, dass nur autorisierte Anwendungen auf die eingebetteten Chat-APIs zugreifen können.
Deaktivieren Sie die Sicherheit, um anonymen Zugriff zu ermöglichen, wenn keine Identifizierung erforderlich ist.
Sicherheit aktiviert
Die Sicherheit für den eingebetteten Chat ist standardmäßig auf Instanzebene aktiviert, aber sie ist erst dann aktiv, wenn Sie die erforderlichen kryptografischen Assets explizit konfigurieren und bei Ihrer Instanz registrieren. Der eingebettete Chat funktioniert erst, wenn die Schritte im Abschnitt „Sicherheit für den eingebetteten Chat konfigurieren“ erfolgreich abgeschlossen wurden.
Wenn die Sicherheit aktiviert ist, müssen Sie Folgendes sicherstellen:
Jede Anfrage an die eingebetteten Chat-APIs enthält ein gültiges JWT.
Das JWT muss mit Ihrem privaten Client-Schlüssel signiert werden.
Der Dienst „ watsonx Orchestrate “ validiert das Token mithilfe des öffentlichen Schlüssels des Clients, um die Authentizität und Integrität der Anfrage sicherzustellen. Diese Maßnahme verhindert den unbefugten Zugriff auf Ihre Instanz.
Sicherheit inaktiviert
Deaktivieren Sie die Sicherheitseinstellungen, damit anonyme Benutzer auf den in die Webanwendung eingebetteten Chat zugreifen können. Verwenden Sie diesen Modus nur, wenn anonymer Zugriff ausdrücklich erforderlich ist, z. B. bei öffentlichen Vorführungen, anonymen Chat-Anwendungen und in Umgebungen mit geringem Risiko, in denen kein Zugriff auf sensible Systeme oder Daten besteht.
Bevor Sie die Sicherheitsfunktionen deaktivieren, müssen Sie alle Integrationen in Ihrer Instanz sorgfältig überprüfen, um eine unbeabsichtigte Offenlegung von Daten zu vermeiden, und sicherstellen, dass Ihre Instanz:
Es werden keine sensiblen Daten angezeigt oder zugänglich gemacht.
Es verfügt nicht über Tools, die mit funktionalen Anmeldedaten konfiguriert sind, die auf sensible Daten in geschützten Systemen zugreifen.
Wenn die Sicherheit deaktiviert ist, wird die anonyme Authentifizierung für eine begrenzte Anzahl von APIs aktiviert, die erforderlich sind, damit Ihr Chat für anonyme Benutzer funktioniert.
Sicherheitsmodell für eingebetteten Chat
Das eingebettete Chat-Sicherheitsmodell verwendet asymmetrische RSA-Schlüsselpaare und JWT-Authentifizierung. Es nutzt die RSA-Kryptografie mit öffentlichen Schlüsseln, um Vertrauen aufzubauen, Anfragen zu authentifizieren und sensible Nutzdaten zu schützen, die zwischen Ihrer Webanwendung und der „ watsonx Orchestrate “-Instanz ausgetauscht werden.
Wenn die Sicherheit aktiviert ist, werden sowohl die Authentifizierung als auch die Vertraulichkeit durch JWT-Signaturen und verschlüsselte Nutzdaten gewährleistet. Das Sicherheitsmodell verwendet zwei unabhängige RSA-Schlüsselpaare, die jeweils eine klar definierte Rolle haben.
Schlüsselpaar der Client-Anwendung
Dieses Schlüsselpaar repräsentiert die Identität Ihrer Webanwendung.
Erstellt von : Ihnen oder der Schlüsselverwaltungsinfrastruktur Ihrer Organisation
Öffentlicher Schlüssel :
Der öffentliche Schlüssel wird während der Konfiguration auf watsonx Orchestrate hochgeladen.
Es wird zur Überprüfung von JWT-Signaturen verwendet.
Privater Schlüssel :
Der private Schlüssel bleibt unter Ihrer Kontrolle und muss durch branchenübliche Verfahren zur Geheimnisverwaltung geschützt werden.
Es wird verwendet, um an watsonx Orchestrate gesendete JWTs zu signieren.
Mit diesem Schlüsselpaar kann watsonx Orchestrate :
Die aufrufende Anwendung authentifizieren.
Überprüfen Sie die Integrität des Tokens.
Nicht autorisierte oder manipulierte Anfragen ablehnen.
IBM Schlüsselpaar
Dieses Schlüsselpaar wird von der Instanz „ watsonx Orchestrate “ generiert und verwaltet.
Erstellt von : watsonx Orchestrate
Optionale Verwendung :
Dieses Schlüsselpaar ist optional und nur erforderlich, wenn Ihre Anwendung ein
sso_tokenfür OBO (On-Behalf-Of) übermitteln muss.Wenn Sie OBO nicht verwenden, müssen Sie keine Verschlüsselung vornehmen oder eine
user_payload.
Öffentlicher Schlüssel :
Der öffentliche Schlüssel wird mit Ihrer Anwendung geteilt.
Ihre Anwendung verwendet diesen Schlüssel, um den
user_payloadTeil des an watsonx Orchestrate gesendeten JWT zu verschlüsseln.
Privater Schlüssel :
Der private Schlüssel wird von watsonx Orchestrate sicher gespeichert.
Es wird verwendet, um den
user_payloadAbschnitt des JWT zur Laufzeit zu entschlüsseln.
Dieses Schlüsselpaar kann Folgendes gewährleisten:
Sensible Benutzerkontexte werden während der Übertragung verschlüsselt.
Nur watsonx Orchestrate hat Zugriff auf die verschlüsselte Nutzlast.
Der Inhalt der Nutzlast kann von Zwischenhändlern weder eingesehen noch verändert werden.
Derzeit unterstützt user_payload nur sso_token.
Authentifizierung und Zugriffskontrolle
Die Authentifizierung verwendet JSON Web Tokens (JWTs), um die Identität und den Kontext des Benutzers zu übermitteln. Wenn die Sicherheit aktiviert ist, muss Ihre Webanwendung die folgenden Aufgaben ausführen:
Generieren Sie ein JWT, das mit dem privaten Schlüssel des Clients (Client-Schlüsselpaar) signiert ist. Die Token-Signatur muss mit dem unter watsonx Orchestrate konfigurierten öffentlichen Schlüssel übereinstimmen.
Fügen Sie das JWT in jede Anfrage ein, die an die eingebetteten Chat-APIs gesendet wird.
Bei jeder Anfrage überprüft der Dienst „ watsonx Orchestrate “ die Signatur des Tokens und validiert das Token mithilfe eines öffentlichen Schlüssels, den Sie im Rahmen der Sicherheitskonfiguration festlegen.
Verwaltung des Lebenszyklus von Schlüsseln und Tokens
Ihre Webanwendung ist für die Verwaltung der Schlüssel und des Token-Lebenszyklus verantwortlich, einschließlich:
Generieren von Tokens unter Verwendung zugelassener Signaturschlüssel.
Verwaltung des Ablaufs und der Erneuerung von Tokens. Um ein Token während einer aktiven Chat-Sitzung zu aktualisieren, verwenden Sie die
updateAuthToken()Methode.Rotieren und widerrufen Sie Schlüssel gemäß Ihren Sicherheitsrichtlinien. Um die Schlüssel zu rotieren, deaktivieren Sie die Sicherheitsfunktion und aktivieren Sie sie anschließend mit den neu generierten Schlüsseln wieder.
Wenn Sie das JWT generieren, müssen Sie die Ablaufzeit ( expiresIn ) angeben, um die Gültigkeitsdauer festzulegen, nach deren Ablauf das JWT nicht mehr gültig ist. Die maximale Ablaufzeit beträgt 7100 Sekunden.
Zugriffssteuerung
Das JWT bestimmt den Autorisierungskontext für die eingebettete Chat-Sitzung und die zugehörige Instanz. Der eingebettete Chat initiiert und autorisiert alle API-Aufrufe und den Instanzzugriff unter den Benutzerberechtigungen.
Anonymer Zugriff
Wenn die Benutzeridentität und der signierte Benutzerkontext nicht erforderlich sind und keine sensiblen Daten offengelegt werden, können Sie die Sicherheit deaktivieren, um den anonymen Zugriff zu ermöglichen. Weitere Informationen finden Sie im Abschnitt „Sicherheit deaktiviert “.