概要: Web チャットの保護
セキュリティーを有効にすると、ユーザーの認証、プライベート・データの保護、およびアシスタントへのアクセスの制限を行うように Web チャットを構成できます。
Web チャットとアシスタントの間で送信されるすべてのメッセージは、Transport Layer Security (TLS) を使用して暗号化されます。これにより、ネットワークを通過する機密データが保護されます。 ただし、保護する必要がある可能性がある機密漏れの可能性が依然としてあります。 Web チャット・セキュリティー機能を有効にし、Web サイト・コードを適切に更新することで、以下の保護を追加できます。
-
Web チャット組み込みスクリプトをコピーする場合でも、無許可の Web サイトがアシスタントにメッセージを送信しないようにすることができます。 (組み込みスクリプト内の固有 ID (統合 ID やサービス・インスタンス ID など) は、Web サイトにアクセスできるすべてのユーザーに表示されます。)
-
顧客を安全に認証して、許可を必要とするアシスタントの機能へのアクセスを制御できます。
-
機密データを暗号化して、顧客がそれを表示できないようにしながら、アシスタントがそれにアクセスできるようにすることができます。
Web チャット・セキュリティーは JSON Web トークン (JWT) を使用します。JWT は、Web サイトから watsonx Assistant サービスに各メッセージとともに送信されるデータ・オブジェクトです。 JWT は、自分だけが所有する秘密暗号鍵を使用してデジタル署名されるため、各メッセージが Web サイトから発信されることが保証されます。 JWT ペイロードを使用して、ユーザーを安全に認証し、暗号化されたプライベート・データを送信することもできます。
JSON Web トークンについて詳しくは、JWT 仕様を参照してください。
Web チャット・セキュリティーを有効にするには、以下のカスタマイズを行う必要があります。
-
秘密暗号鍵で署名された JWT を生成する Web アプリケーション・サーバー・コードの実装
-
生成された JWT を提供するための Web チャット構成のカスタマイズ
-
Web チャットのセキュリティ設定でセキュリティを有効にする
Web チャット・セキュリティーを有効にすると、適切に署名された JWT を伴わない、Web チャット統合によって受信されたメッセージはすべて拒否されます。
これらのステップを実行する方法について詳しくは、Web チャット・セキュリティーの有効化 を参照してください。
Web チャット・セキュリティーを有効にすると、必要に応じて追加のセキュリティー手段を実装することができます。
-
JWT を使用して、ユーザー ID によって顧客を安全に認証できます。これにより、アシスタントは、許可を必要とする機能へのアクセスを制御できます。
Web チャット・セキュリティーが有効になっていない場合、アシスタントを使用する各顧客は、メッセージ要求の一部である
user_idプロパティーによってのみ識別されます。 これは、請求の目的で固有のユーザーを識別するためには十分ですが、変更される可能性があるためセキュアではありません。JWT ペイロードの一部としてユーザー ID 情報をエンコードすることで、ユーザーを安全に認証できます。 JWT は署名されており、ユーザーが変更することはできません。
セキュア認証のための JWT の使用について詳しくは、 Web チャットでのユーザーの認証 を参照してください。
-
お客様の機密情報を暗号化して JWT ユーザー・ペイロードの一部として組み込むことで、機密情報への無許可アクセスを防止できます。
ユーザー・ペイロードは JWT の一部であり、アシスタントにアクセスさせたい情報を送信するために使用できますが、顧客には表示させたくありません。 この情報はプライベート変数にのみ保管されます。プライベート変数は、お客様には表示されず、ログにも記録されません。
ユーザー・ペイロードを使用して機密情報を保護する方法について詳しくは、 Web チャットでの機密データの暗号化 を参照してください。
チュートリアル: Web チャット・セキュリティーを使用してユーザーを認証し、機密データを保護する例を示す開発者チュートリアルについては、チュートリアル: セッションの途中でユーザーを認証する を参照してください。