As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Incorpore componentes visuais do Amazon Quick Sight em aplicativos web usando a automação do Amazon Cognito e do IaC
Ishita Gupta e Srishti Wadhwa, Amazon Web Services
Resumo
Esse padrão fornece uma abordagem especializada para incorporar componentes visuais do Amazon Quick Sight em aplicativos React usando a incorporação de usuários registrados com autenticação simplificada do Amazon Cognito. Esses recursos são então implantados por meio de um modelo de infraestrutura como código (IaC). Diferentemente da incorporação tradicional de painéis, essa solução isola tabelas e gráficos específicos para integração direta aos aplicativos React, o que melhora drasticamente o desempenho e a experiência do usuário.
A arquitetura estabelece um fluxo de autenticação eficiente entre o gerenciamento de usuários do Amazon Cognito e as permissões do Quick Sight: os usuários se autenticam por meio do Amazon Cognito e acessam suas visualizações autorizadas com base nas regras de compartilhamento do painel no Quick Sight. Essa abordagem simplificada elimina a necessidade de acesso direto ao console do Quick Sight, mantendo controles de segurança robustos.
O ambiente completo é implantado por meio de um único AWS CloudFormation modelo que provisiona todos os componentes de infraestrutura necessários, incluindo:
Um back-end sem servidor que usa o Amazon API AWS Lambda Gateway
Hospedagem de front-end segura por meio da Amazon CloudFront, Amazon Simple Storage Service (Amazon S3) e AWS WAF
Gerenciamento de identidade usando o Amazon Cognito
Todos os componentes são configurados seguindo as melhores práticas de segurança com políticas, AWS WAF proteção e criptografia de privilégios mínimos AWS Identity and Access Management (IAM). end-to-end
Essa solução é ideal para equipes de desenvolvimento e organizações que desejam integrar análises seguras e interativas em seus aplicativos, mantendo um controle refinado sobre o acesso do usuário. A solução usa serviços AWS gerenciados e automação para simplificar o processo de incorporação, aprimorar a segurança e garantir a escalabilidade para atender às necessidades comerciais em evolução.
Público-alvo e casos de uso:
Desenvolvedores de front-end que desejam incorporar análises em aplicativos React
Equipes de produtos de software como serviço (SaaS) que desejam oferecer visualizações de dados por usuário ou baseadas em função
Arquitetos de soluções interessados em integrar AWS análises em portais personalizados
Desenvolvedores de business intelligence (BI) que desejam expor imagens a usuários autenticados sem precisar de acesso total ao painel
Equipes corporativas que desejam incorporar gráficos interativos do Quick Sight em ferramentas internas
Pré-requisitos e limitações
Pré-requisitos
Para implementar esse padrão com sucesso, certifique-se de que o seguinte esteja em vigor:
Ativo Conta da AWS — e Conta da AWS com permissões para implantar CloudFormation pilhas e criar recursos do Lambda, do API Gateway, do Amazon Cognito CloudFront e do Amazon S3.
Conta Amazon Quick Sight — Uma conta ativa do Quick Sight com pelo menos um painel que contém imagens. Para obter instruções de configuração, consulte Tutorial: Crie um painel do Amazon Quick Sight usando dados de amostra na documentação do Amazon Quick Suite.
Um ambiente de desenvolvimento que consiste em:
Node.js (versão 16 ou posterior)
npm ou yarn instalado
Vite como a ferramenta de construção do React
React (versão 19.1.1)
Compartilhamento do painel — Os painéis devem ser compartilhados no Quick Sight e o implementador deve fazer login para acessar os visuais ou painéis incorporados.
Limitações
Esse padrão usa o método de incorporação de usuário registrado, que exige que os implementadores tenham uma conta ativa do Quick Sight.
O acesso é restrito aos painéis e recursos visuais que são explicitamente compartilhados com o usuário autenticado do Quick Sight que está implementando esse padrão. Se o implementador não tiver os direitos de acesso corretos, a geração do URL incorporado falhará e as imagens não serão carregadas.
A CloudFormation pilha deve ser implantada em um Região da AWS local onde o Quick Sight, o API Gateway e o Amazon Cognito sejam compatíveis. Para conferir a disponibilidade de uma região, consulte Serviços da AWS by Region
.
Versões do produto
SDK de incorporação do Quick Sight
versão 2.10.1 React
versão 19.1.1 Node.js
versão 16 ou posterior para garantir a compatibilidade com as versões mais recentes do React e Vite usadas nesta solução
Arquitetura
Arquitetura de destino
O diagrama apresentado a seguir ilustra a arquitetura e o fluxo de trabalho para este padrão.

Nesse fluxo de trabalho:
O usuário acessa o aplicativo. O usuário abre o aplicativo web React usando um navegador. A solicitação é roteada para uma CloudFront distribuição, que atua como uma rede de entrega de conteúdo para o aplicativo.
AWS WAF filtra solicitações maliciosas. Antes que a solicitação chegue CloudFront, ela passa AWS WAF. AWS WAF inspeciona o tráfego e bloqueia todas as solicitações maliciosas ou suspeitas com base nas regras de segurança.
O Amazon S3 serve arquivos estáticos. Se a solicitação estiver limpa, CloudFront recupera os ativos estáticos de front-end (HTML, JS, CSS) de um bucket S3 privado usando o controle de acesso de origem (OAC) e os entrega ao navegador.
O usuário faz login. Depois que o aplicativo é carregado, o usuário faz login por meio do Amazon Cognito, que autentica o usuário e retorna um token web JSON (JWT) seguro para acesso autorizado à API.
O aplicativo faz uma solicitação de API. Após o login, o aplicativo React faz uma chamada segura para o
/get-embed-urlendpoint no API Gateway e passa o token JWT no cabeçalho da solicitação para autenticação.O token está validado. O API Gateway valida o token usando um autorizador do Amazon Cognito. Se o token for válido, a solicitação prosseguirá; caso contrário, ela será negada com uma resposta 401 (não autorizada).
A solicitação é direcionada à Lambda para processamento. A solicitação validada é então encaminhada para uma função Lambda de back-end. Essa função é responsável por gerar o URL de incorporação para o visual do Quick Sight solicitado.
O Lambda gera o URL de incorporação do Quick Sight. O IAM usa uma função do IAM com as permissões apropriadas para chamar a
GenerateEmbedUrlForRegisteredUserAPI Quick Sight para gerar uma URL visual segura e com escopo de usuário.O Lambda retorna o URL incorporado ao API Gateway. O Lambda envia o URL de incorporação gerado de volta ao API Gateway como parte de uma resposta JSON. Essa resposta é então preparada para entrega no frontend.
O URL de incorporação é enviado para o navegador. O URL incorporado é retornado ao navegador como resposta da API.
O visual é exibido para o usuário. O aplicativo React recebe a resposta e usa o SDK do Quick Sight Embedding para renderizar o visual específico para o usuário.
Automação e escala
As implantações de back-end e front-end são totalmente automatizadas usando CloudFormation, que provisiona todos os AWS recursos necessários, incluindo Amazon Cognito, Lambda, API Gateway, Amazon S3,, CloudFront AWS WAF, funções do IAM e Amazon em uma única implantação. CloudWatch
Essa automação garante uma infraestrutura consistente e repetível em todos os ambientes. Todos os componentes são dimensionados automaticamente: o Lambda se ajusta às invocações de funções, CloudFront fornece conteúdo em cache globalmente e o API Gateway se adapta às solicitações recebidas.
Ferramentas
Serviços da AWS
O Amazon Quick Sight
é um serviço de inteligência de negócios nativo da nuvem que ajuda você a criar, gerenciar e incorporar painéis e recursos visuais interativos. O Amazon API Gateway
gerencia APIs esses serviços que atuam como a ponte entre o aplicativo React e os serviços de back-end. AWS Lambda
é um serviço de computação sem servidor que esse padrão usa para gerar o Quick Sight seguro, incorporado URLs dinamicamente e escalável automaticamente com base nas solicitações. O Amazon Cognito
fornece autenticação e autorização para usuários e emite tokens seguros para acesso à API. O Amazon S3
hospeda ativos de front-end estáticos para esse padrão e os serve com segurança por meio dele. CloudFront A Amazon CloudFront
fornece conteúdo de front-end globalmente com baixa latência e se integra à filtragem AWS WAF de tráfego. AWS WAF
protege o aplicativo da web contra tráfego malicioso aplicando regras de segurança e limitação de taxa. AWS CloudFormationautomatiza o provisionamento e a configuração de todos os recursos do aplicativo em uma única implantação.
A Amazon CloudWatch
coleta registros e métricas do Lambda, do API Gateway AWS WAF e para monitoramento e solução de problemas.
Ferramentas de desenvolvimento
O React JS
é uma estrutura de front-end que esse padrão usa para criar o aplicativo web e integrar visuais incorporados do Quick Sight. O Vite
é uma ferramenta de construção usada para desenvolvimento rápido e compilações de produção otimizadas do aplicativo React. O Quick Sight Embedding SDK
facilita a incorporação de visuais do Quick Sight no aplicativo React e permite uma interação perfeita entre o aplicativo e os recursos visuais.
Repositório de código
O código desse padrão está disponível no repositório GitHub Amazon Quick Sight Visual Embedding in React
Práticas recomendadas
Esse padrão implementa automaticamente as seguintes melhores práticas de segurança:
Usa grupos de usuários do Amazon Cognito para autenticação baseada em JWT, com autenticação multifator (MFA) opcional.
Protege APIs com autorizadores do Amazon Cognito e aplica políticas de IAM com privilégios mínimos em todos os serviços.
Implementa a incorporação de usuários registrados do Quick Sight e provisiona automaticamente os usuários com a função de leitor.
Aplica criptografia em trânsito que suporta TLS 1.2 e versões posteriores por meio CloudFront de HTTPS.
Criptografa dados em repouso usando AES-256 para Amazon S3 com controle de versão e OAC.
Configura os planos de uso do API Gateway com limitação e cotas.
Protege o Lambda com simultaneidade reservada e proteção de variáveis de ambiente.
Permite o registro em log para Amazon S3, CloudFront Lambda e API Gateway; monitora serviços usando. CloudWatch
Criptografa registros, aplica controles de acesso e aplica políticas de negação para uploads não HTTPS ou não criptografados.
Além disso, recomendamos o seguinte:
Use CloudFormation para automatizar implantações e manter configurações consistentes em todos os ambientes.
Certifique-se de que cada usuário tenha as permissões corretas do Quick Sight para acessar imagens incorporadas.
Proteja os endpoints do API Gateway com os autorizadores do Amazon Cognito e aplique o princípio do privilégio mínimo para todas as funções do IAM.
Armazene informações confidenciais, como Amazon Resource Names (ARNs) e IDs em variáveis de ambiente, em vez de codificá-las permanentemente.
Otimize as funções do Lambda reduzindo dependências e melhorando o desempenho da inicialização a frio. Para obter mais informações, consulte a postagem do AWS blog Otimizando o desempenho da inicialização a frio do AWS Lambda uso de estratégias avançadas de preparação
com. SnapStart Adicione seu CloudFront domínio à lista de permissões do Quick Sight para permitir a incorporação visual segura.
Monitore o desempenho e a segurança usando CloudWatch e AWS WAF para registros, alertas e proteção de tráfego.
Outras melhores práticas recomendadas
Use domínios personalizados com certificados SSL da AWS Certificate Manager para fornecer uma experiência de usuário segura e de marca.
CloudWatch Criptografe dados e registros do Amazon S3 usando chaves AWS Key Management Service gerenciadas pelo cliente AWS KMS() para maior controle sobre a criptografia.
Estenda AWS WAF as regras com bloqueio geográfico, injeção de SQL (SQLi), proteção de script entre sites (XSS) e filtros personalizados para melhorar a prevenção de ameaças.
Ative CloudWatch alarmes e AWS CloudTrail para monitoramento AWS Config, auditoria e conformidade de configuração em tempo real.
Aplique políticas granulares de IAM, imponha a rotação de chaves de API e permita o acesso entre contas somente quando for absolutamente necessário.
Realize avaliações regulares de segurança para garantir o alinhamento com estruturas de conformidade, como Controles Organizacionais 2 (SOC 2), Regulamento Geral de Proteção de Dados (GDPR) e Lei de Portabilidade e Responsabilidade de Seguros de Saúde (HIPAA).
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Clonar o repositório. | Clone o GitHub repositório dessa solução em seu sistema local e navegue até o diretório do projeto:
Esse repositório contém o CloudFormation modelo e o código-fonte do React necessários para implantar a solução. | Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Implante o modelo. |
Para obter mais informações, consulte Criação e gerenciamento de pilhas na CloudFormation documentação. | Administrador da AWS |
Monitore a criação da pilha. | Monitore a pilha na guia Eventos até que seu status seja CREATE_COMPLETE. | Administrador da AWS |
Recupere as saídas da pilha. |
| Administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Recupere identificadores visuais do Quick Sight. |
| Administrador do Quick Sight |
Configure seu ambiente React local. | Para configurar seu ambiente React local e vinculá-lo aos AWS recursos, crie um
Aqui está um exemplo de
| Desenvolvedor de aplicativos |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Criar ou gerenciar usuários no Cognito | Para permitir que usuários autenticados acessem imagens incorporadas do Quick Sight, primeiro você cria usuários no Amazon Cognito:
| Administrador da AWS |
Forneça acesso ao painel do Quick Sight | Para fornecer acesso aos recursos visuais do Quick Sight, forneça permissão de acesso ao Visualizador aos usuários autenticados:
Cada usuário receberá um e-mail com um link para o painel. Você pode modificar as permissões a qualquer momento por meio do menu Compartilhar. Para obter mais informações, consulte Conceder a usuários e grupos individuais do Amazon Quick Sight acesso a um painel no Amazon Quick Sight na documentação do Amazon Quick Suite. | Administrador do Quick Sight |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Instale dependências e construa o projeto. | No diretório do aplicativo React, execute os seguintes comandos para gerar arquivos de produção otimizados:
| Desenvolvedor de aplicativos |
Faça o upload dos arquivos de compilação para o Amazon S3. | Faça upload de todos os arquivos do | Desenvolvedor de aplicativos |
Crie uma CloudFront invalidação. | No CloudFront console | Administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Adicione o CloudFront domínio à lista de permissões do Quick Sight. | Para permitir que seu CloudFront domínio incorpore com segurança os recursos visuais do Quick Sight:
| Administrador do Quick Sight |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Abra o aplicativo React. | Use o CloudFront domínio (das CloudFormation saídas) para abrir o aplicativo web React implantado em um navegador. | Proprietário do App |
Verifique a autenticação. | Faça login no aplicativo usando as credenciais do Amazon Cognito para verificar o fluxo de autenticação e a validação do JWT por meio do API Gateway. | Proprietário do App |
Verifique os recursos visuais incorporados. | Confirme se os visuais do Quick Sight são carregados corretamente no aplicativo com base nas permissões de acesso específicas do usuário. | Proprietário do App |
Valide a conectividade da API e do Lambda. | Confirme se o aplicativo pode chamar a | Proprietário do App |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Monitore usando CloudWatch. | Você pode usar ferramentas AWS de observabilidade para monitorar o aplicativo e manter um desempenho seguro e escalável na produção. Analise os registros do Lambda, as métricas do API Gateway e os eventos CloudWatch de autenticação do Amazon Cognito para garantir a integridade do aplicativo e detectar anomalias. | Administrador da AWS |
AWS WAF Rastreamento e CloudFront registros. | Inspecione AWS WAF os registros em busca de solicitações bloqueadas ou suspeitas e CloudFront acesse os registros para ver as métricas de desempenho e armazenamento em cache. | Administrador da AWS |
Solução de problemas
| Problema | Solução |
|---|---|
Erro “Domínio não permitido” |
|
Erros de autenticação | Causas possíveis:
Soluções:
|
Erros do API Gateway | Causas possíveis:
Soluções:
|
Os visuais do Quick Sight não carregam | Causas possíveis:
Soluções:
|
Erro “O usuário não tem acesso” | Causas possíveis:
Solução:
|
Recursos relacionados
AWS documentação
Tutoriais e vídeos