概述: 保护 Web 聊天
如果启用安全性,那么可以配置 Web 聊天以认证用户,保护私有数据以及限制对助手的访问。
在 Web 聊天和助手之间发送的所有消息都将使用传输层安全性 (TLS) 进行加密,这将在敏感数据通过网络时对其进行保护。 但是,仍存在您可能需要保护的潜在安全隐患。 通过启用 Web 聊天安全功能并相应地更新 Web 站点代码,您可以添加以下保护:
-
您可以防止未经授权的 Web 站点向助手发送消息,即使这些 Web 站点复制了您的 Web 聊天嵌入脚本也是如此。 (嵌入脚本中的唯一标识 (例如集成标识和服务实例标识) 对于有权访问 Web 站点的任何人都可视。)
-
您可以安全地认证客户,以控制对需要授权的助手功能的访问。
-
您可以对敏感数据进行加密,以便客户无法看到这些数据,同时仍允许助手访问这些数据。
Web 聊天安全性使用 JSON Web 令牌 (JWT),JWT 是随每条消息从 Web 站点发送到 watsonx Assistant 服务的数据对象。 因为 JWT 是使用只有您拥有的专用加密密钥进行数字签名的,所以它可确保每条消息都源自您的 Web 站点。 JWT 有效内容还可用于安全地认证用户并传输加密的专用数据。
有关 JSON Web 令牌的详细信息,请参阅 JWT 规范)。
启用 Web 聊天安全性涉及进行以下定制:
-
实现用于生成使用专用加密密钥签名的 JWT 的 Web 应用程序服务器代码
-
定制 Web 聊天配置以提供生成的 JWT
-
在 Web 聊天安全性设置中启用安全性
在启用 Web 聊天安全性后,将拒绝 Web 聊天集成收到的未随附正确签名的 JWT 的任何消息。
有关如何完成这些步骤的详细信息,请参阅 启用 Web 聊天安全性。
在启用了 Web 聊天安全性的情况下,您可以根据需要选择性地实施其他安全措施:
-
您可以使用 JWT 通过用户标识安全地认证客户,这使助手能够控制对需要授权的功能的访问。
在未启用 Web 聊天安全性的情况下,使用助手的每个客户仅由消息请求中的
user_id
属性标识。 这足以识别用于计费目的的唯一用户,但这并不安全,因为可以对其进行修改。通过将用户身份信息编码为 JWT 有效内容的一部分,可以安全地认证用户。 JWT 已签名,用户无法对其进行修改。
有关使用 JWT 进行安全认证的更多信息,请参阅 在 Web 聊天中认证用户。
-
您可以通过对敏感客户信息进行加密并将其包含在 JWT 用户有效内容中,从而防止对其进行未经授权的访问。
用户有效内容是 JWT 的一部分,可用于发送您希望助手有权访问的信息,但您不希望客户看到这些信息。 此信息仅存储在专用变量中,客户无法看到这些变量,日志中也不会包含这些变量。
有关使用用户有效内容来保护敏感信息的更多信息,请参阅 加密 Web 聊天中的敏感数据。
教程: 有关显示使用 Web 聊天安全性来认证用户和保护敏感数据的示例的开发者教程,请参阅 教程: 在会话中间认证用户。