Implementação técnica de arquitetura multilocatário e mecanismos de isolamento de dados
O Base Chat permite o suporte a vários locatários por meio de um design em camadas que garante a segregação rigorosa dos dados entre as organizações:
Princípios de implementação da arquitetura
- camada de serviço global (GSL)Mecanismo central do chatbot compartilhado e sistema de autenticação
- camada de contexto do locatárioAssocie usuários e organizações às informações de autenticação do Google.
- Base de conhecimento Camada de roteamentoMapeamento automático para o nó final correspondente do Ragie Connect com base nos IDs dos locatários
Estratégia de segregação de dados
- Projeto de banco de dadosComo usar o ID do locatário (tenant_id) como uma chave estrangeira para todas as tabelas no PostgreSQL
- isolamento de sessãoInjetar informações de contexto do locatário no token JWT depois que a autenticação do usuário for aprovada
- Conexão com a base de conhecimentoCada organização precisa configurar uma instância separada do Ragie Connect para isolar fisicamente os dados de conhecimento.
- Filtragem de consultasTodas as consultas SQL são automaticamente anexadas com a condição WHERE tenant_id=xxx.
Esse design garante a utilização compartilhada dos recursos do sistema e, ao mesmo tempo, assegura a privacidade dos dados entre as organizações por meio da segregação lógica. Os administradores podem gerenciar configurações de locatários, incluindo parâmetros de conexão da base de conhecimento, configurações de grupos de permissões de usuários etc., por meio de uma interface proprietária.
Essa resposta foi extraída do artigoBase Chat: Chatbot multilocatário para criar bases de conhecimento com base em RagieO