O desafio da inteligência artificial conversacional em ambientes empresariais
As organizações enfrentam dois obstáculos significativos ao implementar IA conversacional. Primeiro, os usuários precisam acessar respostas inteligentes no contexto onde trabalham — dentro do seu sistema de CRM, console de suporte ou portal de análise — sem precisar alternar entre diferentes plataformas. Segundo, construir uma solução de chat embarcada de forma segura frequentemente demanda semanas de desenvolvimento, envolvendo autenticação, validação de tokens, segurança de domínio e infraestrutura global de distribuição.
A Amazon Quick Suite oferece um chat embarcado que endereça o primeiro desafio trazendo IA conversacional diretamente para dentro das aplicações empresariais. Dessa forma, usuários conseguem consultar dados estruturados, pesquisar documentos e executar ações sem abandonar a ferramenta em que já trabalham. Este artigo explora como resolver o segundo desafio — segurança e implantação — através de uma solução de implantação com um clique, utilizando o Embedding SDK para integrar agentes de chat em portais corporativos.
Visão geral da solução arquitetônica
A solução constrói um portal web seguro para o chat embarcado, combinando vários serviços da AWS em uma arquitetura bem definida. O Amazon CloudFront gerencia a distribuição global de conteúdo, Amazon Cognito orquestra autenticação via OAuth 2.0, Amazon API Gateway expõe endpoints REST, AWS Lambda processa as requisições sem servidor, e OpenID Connect (OIDC) integra identidades com a Quick Suite.
Arquitetura de defesa em profundidade
A segurança é implementada em múltiplas camadas de proteção. O DDoS (Proteção contra Ataques de Negação de Serviço) atua no CloudFront, um bucket privado do Amazon Simple Storage Service (S3) com controle de acesso de origem previne acesso direto aos assets do frontend, o AWS WAF (Firewall de Aplicação Web) implementa rate limiting no API Gateway, e JSON Web Token (JWT) valida assinaturas criptográficas usando chaves públicas do Amazon Cognito antes de gerar URLs de embed temporárias e específicas por usuário, com permissões de privilégio mínimo via AWS Identity and Access Management (IAM).
Fluxo de autenticação e autorização
O processo começa quando usuários acessam a URL do portal web, que é roteada através do CloudFront. O CloudFront usa controle de acesso de origem para buscar arquivos HTML, CSS e JavaScript de um bucket S3 privado. A aplicação web verifica a validade do token de autenticação e redireciona usuários não autenticados para a interface de login do Amazon Cognito com OAuth 2.0.
Após inserir credenciais, o Amazon Cognito valida as informações e redireciona de volta para a URL do CloudFront com um código de autorização de uso único. A aplicação extrai esse código e faz uma chamada HTTPS para o API Gateway, que passa pelo filtro de rate limiting do AWS WAF. O API Gateway invoca uma função Lambda com o código de autorização.
A função Lambda faz uma chamada servidor-a-servidor ao endpoint OAuth do Amazon Cognito, trocando o código de autorização por tokens JWT (token de ID, token de acesso, token de atualização). A função valida a assinatura criptográfica do token de ID usando o JSON Web Key Set (JWKS) do Amazon Cognito, com caching thread-safe.
Obtenção de credenciais temporárias e validação de usuário
A função Lambda invoca o AWS Security Token Service (STS) através da API AssumeRoleWithWebIdentity, usando o token de ID verificado para assumir um papel IAM de identidade web e receber credenciais temporárias da AWS.
Com essas credenciais, a função consulta a API ListUsers da Quick Suite para confirmar que o usuário existe, e então chama a API GenerateEmbedUrlForRegisteredUser para gerar uma URL de embed segura com restrições de domínio.
A função retorna a URL de embed em uma resposta JSON com headers de compartilhamento de recursos entre origens (CORS) através do API Gateway para o CloudFront. A aplicação CloudFront utiliza o Quick Suite Embedding SDK para criar um contexto de embedding e renderizar a interface de chat em um iframe HTML com comunicação segura entre origens.
Pré-requisitos para implementação
A solução requer uma conta AWS, uma assinatura Quick Suite com método de autenticação baseado em senha ou Single-Sign On, o AWS CDK CLI, o AWS SDK para Python (Boto3), um perfil AWS CLI com permissões apropriadas (incluindo listagem de namespaces Quick Suite, criação de papéis IAM e recursos AWS como distribuição CloudFront, bucket S3, API Gateway REST, AWS WAF Web ACL e função Lambda), Node.js 20+, jq 1.7+, e Docker Desktop em execução.
Implantação da infraestrutura serverless
Para implantar a infraestrutura usando AWS CDK, comece clonando o repositório GitHub:
git clone git@github.com:aws-samples/sample-quicksuite-chat-embedding.git
cd sample-quicksuite-chat-embedding
Em seguida, execute o script de configuração:
./setup.sh
Você será solicitado a informar seu código de região AWS, o ID da stack do AWS CloudFormation, o título do portal, e seu perfil AWS CLI.
Provisionamento de usuários
Após a infraestrutura estar implantada, crie um usuário no Amazon Cognito:
python scripts/create_cognito_user.py --profile
Em seguida, crie um usuário federado na Quick Suite:
python scripts/create_quicksuite_user.py --profile
Para compartilhar agentes de chat, acesse o console Quick Suite com credenciais de função Author Pro, navegue até Chat agents, selecione os agentes desejados e escolha Share. Pesquise pelo nome de usuário criado anteriormente e confirme o compartilhamento. Lembre-se de que cada recurso vinculado ao agente também precisa ser compartilhado separadamente para garantir funcionalidade completa.
Acesso e utilização do portal
Procure pela senha temporária no email de verificação do Amazon Cognito. Acesse a URL do CloudFront usando o ID de usuário e a senha temporária fornecida. Na primeira autenticação, você será solicitado a alterar sua senha. Após o login bem-sucedido, selecione a região para conectar aos agentes de chat personalizados da Quick Suite. Para visualizar os agentes compartilhados, escolha Shared with me no filtro e inicie uma conversa com o agente desejado.
Limpeza de recursos
Para remover os recursos implantados e evitar custos contínuos, execute:
./cleanup.sh
Considerações finais
Essa solução aborda os desafios centrais da integração de IA conversacional em escala: autenticação segura para milhares de usuários simultâneos em diferentes localizações geográficas, manutenção de segurança de nível empresarial com trilhas de auditoria abrangentes, e simplificação da implantação através do provisionamento automatizado de infraestrutura. O portal pode ser personalizado quanto à marca, as políticas de segurança ajustadas, e integrado com provedores de identidade existentes. A solução escala automaticamente para milhares de usuários simultâneos mantendo modelo de pagamento conforme você usa.
Para experimentar essa solução, clone o repositório GitHub e implante a infraestrutura completa com um clique para integrar agentes de chat Quick Suite em suas aplicações empresariais.
Fonte
Embed Amazon Quick Suite chat agents in enterprise applications (https://aws.amazon.com/blogs/machine-learning/embed-amazon-quick-suite-chat-agents-in-enterprise-applications/)
Leave a Reply