개요: 웹 대화 보안

보안을 사용하는 경우 사용자를 인증하고 개인 데이터를 보호하며 어시스턴트에 대한 액세스를 제한하도록 웹 대화를 구성할 수 있습니다.

웹 대화와 어시스턴트 간에 전송되는 모든 메시지는 네트워크를 통해 이동할 때 민감한 데이터를 보호하는 TLS (Transport Layer Security) 를 사용하여 암호화됩니다. 그러나 여전히 사용자가 보호해야 하는 잠재적인 보안 노출이 있습니다. 웹 대화 보안 기능을 사용으로 설정하고 웹 사이트 코드를 적절하게 업데이트하여 다음 보호를 추가할 수 있습니다.

  • 권한이 없는 웹 사이트가 웹 대화 임베드 스크립트를 복사하는 경우에도 어시스턴트에 메시지를 보내지 않도록 할 수 있습니다. (통합 ID및 서비스 인스턴스 ID와 같은 임베드 스크립트의 고유 ID는 웹 사이트에 액세스할 수 있는 모든 사용자에게 표시됩니다.)

  • 권한 부여가 필요한 어시스턴트의 기능에 대한 액세스를 제어하기 위해 고객을 안전하게 인증할 수 있습니다.

  • 고객이 볼 수 없도록 민감한 데이터를 암호화할 수 있지만 어시스턴트가 액세스할 수 있도록 허용합니다.

웹 대화 보안은 웹 사이트에서 watsonx Assistant 서비스로 각 메시지와 함께 전송되는 데이터 오브젝트인 JWT (JSON Web Tokens) 를 사용합니다. JWT는 사용자만 가지고 있는 개인용 암호화 키를 사용하여 디지털로 서명되므로 각 메시지가 웹 사이트에서 생성되는지 확인합니다. JWT 페이로드를 사용하여 사용자를 안전하게 인증하고 암호화된 개인 데이터를 전달할 수도 있습니다.

JSON웹 토큰에 대한 자세한 정보는 JWT 스펙을 참조하십시오.

웹 대화 보안을 사용하려면 다음 사용자 정의를 수행해야 합니다.

  • 개인용 암호화 키로 서명된 JWT를 생성하는 웹 애플리케이션 서버 코드 구현

  • 생성된 JWT를 제공하도록 웹 대화 구성 사용자 정의

  • 웹 대화 보안 설정에서 보안 사용

    웹 대화 보안을 사용하도록 설정하면 올바르게 서명된 JWT와 함께 제공되지 않은 웹 대화 통합에서 수신된 모든 메시지가 거부됩니다.

이러한 단계를 완료하는 방법에 대한 자세한 정보는 웹 대화 보안 사용 을 참조하십시오.

웹 대화 보안을 사용하면 필요에 따라 선택적으로 추가 보안 조치를 구현할 수 있습니다.

  • JWT를 사용하여 사용자 ID로 고객을 안전하게 인증할 수 있습니다. 그러면 어시스턴트가 권한이 필요한 기능에 대한 액세스를 제어할 수 있습니다.

    웹 대화 보안을 사용하지 않으면 어시스턴트를 사용하는 각 고객은 메시지 요청의 일부인 user_id 특성으로만 식별됩니다. 이는 청구 목적으로 고유 사용자를 식별하는 데 충분하지만, 수정할 수 있으므로 안전하지 않습니다.

    JWT 페이로드의 일부로 사용자 ID 정보를 인코딩하여 사용자를 안전하게 인증할 수 있습니다. JWT가 서명되었으며 사용자가 수정할 수 없습니다.

    보안 인증을 위한 JWT 사용에 대한 자세한 정보는 웹 대화에서 사용자 인증 을 참조하십시오.

  • 민감한 고객 정보를 암호화하고 JWT 사용자 페이로드의 일부로 포함하여 해당 정보에 대한 권한이 없는 액세스를 방지할 수 있습니다.

    사용자 페이로드는 어시스턴트가 액세스할 수 있도록 하려는 정보를 전송하는 데 사용할 수 있는 JWT의 일부이지만 고객이 보지 못하도록 하려고 합니다. 이 정보는 고객이 볼 수 없고 로그에 포함되지 않는 개인용 변수에만 저장됩니다.

    사용자 페이로드를 사용하여 민감한 정보를 보호하는 방법에 대한 자세한 정보는 웹 대화에서 민감한 데이터 암호화 를 참조하십시오.

개발 아이콘 튜토리얼: 웹 대화 보안을 사용하여 사용자를 인증하고 민감한 데이터를 보호하는 예제를 보여주는 개발자 튜토리얼의 경우 튜토리얼: 세션 중에 사용자 인증 을 참조하십시오.