Protezione della chat integrata
La sicurezza di una chat integrata comprende il modo in cui viene stabilita l'identità, come viene controllato l'accesso, come viene garantita l'affidabilità del contesto e chi è responsabile delle misure di sicurezza operative. L'applicazione delle misure di sicurezza dipende dalle scelte di configurazione, tra cui l'abilitazione dell'autenticazione. Se abilitata, tutta la comunicazione tra la tua applicazione web e IBM watsonx Orchestrate si basa su richieste autenticate, token firmati e dati crittografati tramite crittografia a chiave pubblica e autenticazione JSON Web Token (JWT).
Le funzionalità vocali nella chat integrata utilizzano lo stesso modello di sicurezza delle interazioni testuali. Quando la sicurezza è abilitata, i flussi audio vocali vengono autenticati tramite token JWT e la sessione audio viene associata all'identità dell'utente. Per ulteriori informazioni sull'attivazione della funzione vocale nella chat integrata, consultare la sezione "Attivazione delle funzionalità vocali nell'agente integrato ".
Modalità di sicurezza
Abilita la sicurezza per autenticare le richieste dei clienti e assicurarti che solo le applicazioni autorizzate possano avviare le API di chat integrate. Disabilitalo per l'accesso anonimo alla chat integrata in casi d'uso specifici.
È possibile abilitare o disabilitare la sicurezza in base alle esigenze dell'applicazione:
Abilita la sicurezza per autenticare le richieste dei clienti e garantire che solo le applicazioni autorizzate possano accedere alle API di chat integrate.
Disattiva la sicurezza per consentire l'accesso anonimo quando non è richiesta l'identità.
Sicurezza abilitata
La sicurezza per la chat integrata è abilitata per impostazione predefinita a livello di istanza, ma non è attiva finché non si configurano esplicitamente le risorse crittografiche richieste e non le si registrano con la propria istanza. La chat integrata non funziona finché non vengono completati con successo i passaggi descritti nella sezione "Configurazione della sicurezza per la chat integrata".
Quando la sicurezza è abilitata, è necessario assicurarsi che:
Ogni richiesta alle API di chat integrate include un JWT valido.
Il JWT deve essere firmato utilizzando la chiave privata del cliente.
Il servizio watsonx Orchestrate verifica la validità del token utilizzando la chiave pubblica del client, al fine di garantire l'autenticità e l'integrità della richiesta. Questa azione impedisce l'accesso non autorizzato alla tua istanza.
Sicurezza disabilitata
Disattiva la sicurezza per consentire agli utenti anonimi di accedere alla chat integrata nell'applicazione web. Utilizzare questa modalità solo quando è esplicitamente richiesto l'accesso anonimo, ad esempio in caso di dimostrazioni pubbliche, chat anonime e ambienti a basso rischio senza accesso a sistemi o dati sensibili.
Prima di disabilitare la sicurezza, è necessario esaminare attentamente tutte le integrazioni nella propria istanza per evitare l'esposizione involontaria dei dati e assicurarsi che l'istanza:
Non mostra né fornisce accesso a dati sensibili.
Non dispone di strumenti configurati con credenziali funzionali che consentono l'accesso a dati sensibili in sistemi protetti.
Quando la sicurezza è disabilitata, l'autenticazione anonima è abilitata per un insieme limitato di API necessarie per far funzionare la chat per gli utenti anonimi.
Modello di sicurezza per chat integrata
Il modello di sicurezza della chat integrata utilizza coppie di chiavi RSA asimmetriche e autenticazione JWT. Utilizza la crittografia a chiave pubblica RSA per garantire l'affidabilità, autenticare le richieste e proteggere i dati sensibili scambiati tra l'applicazione web e l'istanza di watsonx Orchestrate.
Quando la sicurezza è abilitata, sia l'autenticazione che la riservatezza vengono applicate tramite la firma JWT e i payload crittografati. Il modello di sicurezza utilizza due coppie di chiavi RSA indipendenti, ciascuna con un ruolo chiaramente definito.
Coppia di chiavi dell'applicazione client
Questa coppia di chiavi rappresenta l'identità della tua applicazione web.
Generato da : te o dall'infrastruttura di gestione chiave della tua organizzazione
Chiave pubblica :
La chiave pubblica viene caricata su watsonx Orchestrate durante la configurazione.
Viene utilizzato per verificare le firme JWT.
Chiave privata :
La chiave privata rimane sotto il tuo controllo e deve essere protetta utilizzando pratiche di gestione dei segreti standard del settore.
Viene utilizzato per firmare i JWT inviati a watsonx Orchestrate.
Questa coppia di chiavi consente a watsonx Orchestrate di:
Autenticare l'applicazione chiamante.
Verifica l'integrità del token.
Rifiuta le richieste non autorizzate o manomesse.
IBM Coppia di chiavi
Questa coppia di chiavi è generata e gestita dall'istanza watsonx Orchestrate.
Generato da : watsonx Orchestrate
Utilizzo facoltativo :
Questa coppia di chiavi è facoltativa ed è richiesta solo se l'applicazione deve superare un
sso_tokenper il flusso OBO (On-Behalf-Of).Se non utilizzi OBO, non è necessario crittografare o inviare un file
user_payload.
Chiave pubblica :
La chiave pubblica viene condivisa con la tua applicazione.
La tua applicazione utilizza questa chiave per crittografare la
user_payloadsezione del JWT inviata a watsonx Orchestrate.
Chiave privata :
La chiave privata è conservata in modo sicuro su watsonx Orchestrate.
Viene utilizzato per decrittografare la
user_payloadsezione del JWT durante l'esecuzione.
Questa coppia di chiavi può garantire che:
Il contesto sensibile dell'utente viene crittografato durante il trasferimento.
Solo watsonx Orchestrate può accedere al payload crittografato.
Il contenuto del carico utile non può essere ispezionato o modificato da intermediari.
Al momento, user_payload supporta solo sso_token.
Autenticazione e controllo degli accessi
L'autenticazione utilizza JSON Web Tokens (JWT) per trasmettere l'identità e il contesto dell'utente. Quando la sicurezza è abilitata, l'applicazione web deve completare le seguenti attività:
Genera un JWT firmato con la chiave privata del client (coppia di chiavi client). La firma del token deve corrispondere alla chiave pubblica configurata in watsonx Orchestrate.
Includere il JWT in ogni richiesta inviata alle API di chat integrate.
Per ogni richiesta, il servizio " watsonx Orchestrate " verifica la firma del token e ne convalida la validità utilizzando una chiave pubblica configurata dall'utente nell'ambito delle impostazioni di sicurezza.
Gestione del ciclo di vita di chiavi e token
La tua applicazione web è responsabile della gestione delle chiavi e del ciclo di vita dei token, inclusi:
Generazione di token utilizzando chiavi di firma approvate.
Gestione della scadenza e del rinnovo dei token. Per aggiornare un token durante una sessione di chat attiva, utilizzare il
updateAuthToken()metodo.Rotazione e revoca delle chiavi in base alle politiche di sicurezza. Per ruotare le chiavi, disattivare la protezione e riattivarla con le chiavi appena generate.
Quando si genera il JWT, è necessario specificare l' expiresIn e per impostare il tempo di scadenza oltre il quale il JWT non sarà più valido. Il tempo massimo di scadenza è di 7100 secondi.
Controllo accessi
Il JWT determina il contesto di autorizzazione per la sessione di chat incorporata e l'istanza associata. La chat integrata avvia e autorizza tutte le chiamate API e l'accesso alle istanze in base alle autorizzazioni dell'utente.
Accesso anonimo
Se l'identità dell'utente e il contesto utente firmato non sono richiesti e non vengono esposti dati sensibili, è possibile disabilitare la sicurezza per consentire l'accesso anonimo. Per ulteriori informazioni, consultare la sezione "Sicurezza disabilitata".