Entenda de forma prática e simplificada como o Amazon Cognito funciona e pode auxiliar seu ambiente em cloud! Confere aí!

O Cognito é um serviço oferecido pela AWS (Amazon Web Services), que tem como objetivo facilitar a autenticação e o controle de acesso para aplicativos móveis em dispositivos conectados à Internet. Ele é responsável por gerenciar todo o processo de cadastro de novos usuários, autenticação e controle de acesso, permitindo que você se concentre em outras atividades importantes para o seu negócio, sem precisar se preocupar com o gerenciamento de dados de usuários ou com a configuração de serviços computacionais para autenticá-los.

Por ser uma ferramenta totalmente gerenciada pela Amazon, todos os dados dos usuários são armazenados no próprio Cognito, eliminando a necessidade de armazenar essas informações em seu próprio sistema. Além disso, o serviço garante a segurança desses dados, já que possui recursos de criptografia e autenticação de usuário para garantir que apenas usuários autorizados tenham acesso às informações.

O recurso conta com a funcionalidade de Single Sign On (SSO), que permite o login único em todas as aplicações da sua empresa.

Com o SSO do Cognito, é possível realizar o login usando provedores de identidade social, como Apple, Facebook, Google e Amazon, bem como provedores de identidade empresariais via SAML 2.0 e OpenId Connect. Essa ampla integração com diferentes provedores de identidade torna a experiência do usuário muito mais conveniente e simplificada.

Toda essa capacidade de integração do Cognito pode ser facilmente configurada, o que permite que os desenvolvedores se concentrem em escrever códigos de qualidade em vez de construir e gerenciar a estrutura de autenticação e controle de acesso. O serviço possui telas de login e alteração de senha prontas e altamente customizáveis, além de permitir a configuração de e-mails de confirmação e recuperação de senha em HTML, o que permite que os e-mails tenham a identidade visual da sua organização.

Em resumo, o Cognito é uma solução robusta e eficiente para gerenciamento de identidade, que permite aos usuários realizar login em diferentes aplicações de maneira simples e segura, além de proporcionar maior facilidade para as equipes de desenvolvimento implementarem e gerenciarem a autenticação e o controle de acesso em seus aplicativos.

Fundamentos do Cognito

O serviço da AWS que oferece uma ampla gama de métodos de segurança para garantir a proteção dos dados de seus usuários. Ele atende aos principais padrões de segurança e certificações de conformidade, como PCI-DSS, HIPAA/HITECH, FedRAMP, GDPR, FIPS 140-2 e NIST 800-17.

Essas certificações garantem que o Cognito atende aos mais altos padrões de segurança e privacidade, proporcionando aos clientes maior confiança na proteção de seus dados e atendendo aos requisitos de conformidade de praticamente todos os órgãos regulamentadores do mundo.

O PCI-DSS é uma certificação de segurança para organizações que lidam com pagamentos online, enquanto o HIPAA/HITECH é um conjunto de regras para a proteção de informações médicas dos pacientes. O FedRAMP é um programa de certificação de segurança do governo dos EUA, enquanto o GDPR é uma regulamentação da UE sobre privacidade de dados pessoais. O FIPS 140-2 é um padrão do governo dos EUA para criptografia e segurança de informações, enquanto o NIST 800-17 é uma diretriz para a proteção de sistemas de informação.

Existem dois principais conceitos envolvidos no Cognito: User Pools e Identity Pools.

User Pools são serviços que gerenciam o registro de usuários, autenticação e autorização de acesso a aplicativos. Eles fornecem uma maneira fácil e segura para gerenciar usuários em seus aplicativos móveis, permitindo que você gerencie as informações do usuário, tais como nome, e-mail, telefone, endereço e outras informações necessárias para seu negócio.

Identity Pools são serviços que gerenciam as credenciais de acesso do usuário para acessar outros recursos da AWS, tais como buckets S3, APIs, serviços Lambda e outros serviços da AWS. Eles fornecem um mecanismo seguro e confiável para autenticação de usuários em aplicativos móveis e concedem acesso limitado a outros recursos da AWS.

User Pools e Identity Pools são independentes um do outro, mas podem ser usados juntos para oferecer uma experiência de autenticação e autorização mais abrangente para seus usuários. Quando usados juntos, User Pools gerenciam as informações do usuário e as credenciais de autenticação e autorização, enquanto Identity Pools gerenciam o acesso limitado a outros recursos da AWS.

Precificação

A precificação do Cognito é baseada no número de usuários ativos por mês (MAUs – Monthly Active Users). Isso significa que apenas usuários que efetivamente utilizaram seu aplicativo durante o mês são contabilizados e cobrados.

O Cognito oferece duas opções de plano: o plano gratuito e o plano pago. No plano gratuito, você pode armazenar até 50.000 usuários ativos por mês e realizar até 50.000 autenticações federadas por mês. Já no plano pago, você pode armazenar um número ilimitado de usuários e realizar um número ilimitado de autenticações federadas, mas será cobrado de acordo com o número de usuários ativos por mês.

O preço por MAU pode variar de acordo com a região onde sua aplicação está sendo executada. Você pode consultar a página de preços do Cognito na AWS para saber o valor atualizado. Além disso, vale ressaltar que o Cognito não cobra por autenticações fracassadas, ou seja, se um usuário tentar se autenticar e falhar, isso não será considerado na contagem de MAUs e, portanto, não será cobrado.

Mas o que são os recursos avançados de segurança e o acréscimo de valor nos usuários?

O serviço oferece recursos de segurança avançados que permitem personalizar ações em resposta a diferentes riscos, como autenticação multi-factor, bloqueio de contas suspeitas e monitoramento de atividades incomuns.

Esses recursos de segurança avançados são opcionais e podem ser adicionados ao plano pago do Cognito para aumentar a segurança da sua aplicação. Porém, como mencionado anteriormente, a cobrança do Cognito é baseada no número de usuários ativos por mês (MAUs). Se você optar por utilizar recursos avançados de segurança, o preço por usuário será acrescido ao preço base da sua conta, aumentando o custo total do serviço.

Vale lembrar que a utilização dos recursos de segurança avançados é opcional e pode ser ativada ou desativada a qualquer momento de acordo com as necessidades da sua aplicação. Se você precisa de uma segurança adicional, pode valer a pena considerar a opção de pagar um valor adicional para aumentar a segurança da sua aplicação.

O Cognito oferece dois tipos de cobranças que merecem ser explicados em mais detalhes.

 

O primeiro tipo de cobrança é para usuários que fazem login por SAML ou OpenID Connect. Nesse caso, a partir de 50 usuários ativos por mês (MAUs), será cobrado US$0,015 por usuário ativo. Isso significa que se a sua aplicação tiver mais de 50 usuários ativos por mês, você será cobrado de acordo com o número total de usuários ativos por mês, e não apenas pelo excesso de usuários acima de 50.

O segundo tipo de cobrança é para autenticação MFA via SMS, que é uma opção adicional de segurança para autenticação do usuário. No entanto, para utilizar essa opção de MFA via SMS, é necessário utilizar outro serviço AWS chamado SNS (Simple Notification Service). O preço de envio de SMS varia entre países, regiões e até mesmo entre operadoras na mesma região, o que significa que os preços podem mudar com frequência com base na operadora de telecomunicações do número de destino.

Em resumo, ao usar o Cognito para autenticação por SAML ou OpenID Connect, a cobrança é de US$0,015 por usuário ativo após os primeiros 50 MAUs. Já a cobrança pela autenticação MFA via SMS depende do preço da operadora de telecomunicações do número de destino, e é necessário utilizar o serviço SNS da AWS para enviar os SMS.

foto-Gustavo-Mainchein
Gustavo Mainchein Full Stack Developer Senior na Darede
gustavo.mainchein@darede.com.br

Gustavo possui larga experiência em desenvolvimento de software e cloud computing. Ele possui diversas certificações da Hashicorp e da AWS, sendo a última AWS DevOps Engineer – Professional.

OUTRAS PUBLICAÇÕES

Arquitetura Docker

Por Thiago Marques O pai ta on!! Até agora entendemos o que é um container, como o Docker funciona sob esse modelo e como utilizar

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações