Comece a usar o Amazon Cognito

P: O que é o Amazon Cognito?
O Amazon Cognito permite que você adicione facilmente cadastro e autenticação de usuário aos seus aplicativos móveis e da web. O Amazon Cognito também permite que você autentique usuários por meio de um provedor de identidade externo, além de disponibilizar credenciais de segurança temporárias para acessar recursos de back-end do seu aplicativo na AWS ou qualquer serviço por trás do Amazon API Gateway. O Amazon Cognito trabalha com provedores de identidade externos compatíveis com SAML ou OpenID Connect, provedores de identidade social (como Facebook, Twitter e Amazon) e você pode também integrar seu próprio provedor de identidade.

Além disso, o Amazon Cognito permite que você sincronize dados nos dispositivos de um usuário de modo que sua experiência com o aplicativo permaneça uniforme quando ele alternar o uso entre dispositivos diferentes ou fizer o upgrade para um novo dispositivo. Seu aplicativo pode salvar dados localmente nos dispositivos dos usuários, permitindo que seus aplicativos funcionem mesmo quando os dispositivos estiverem off-line e sincronizem automaticamente os dados quando estiverem on-line novamente.

Com o Amazon Cognito, você pode focar-se na criação de excelentes experiências com aplicativos, em vez de preocupar-se com a criação, a proteção e a escalabilidade de uma solução que administre o gerenciamento, a autenticação e a sincronização de usuários em várias plataformas e dispositivos.

P: Quem deve usar o Amazon Cognito?
O Amazon Cognito foi criado para desenvolvedores que desejam adicionar a funcionalidade de gerenciamento e sincronização de usuários aos seus aplicativos móveis e da web. Os desenvolvedores podem usar o Cognito Identity para adicionar cadastro e login aos aplicativos e para permitir que seus usuários acessem com segurança os recursos dos aplicativos. O Cognito também permite que os desenvolvedores sincronizem dados em vários dispositivos, plataformas e aplicativos.

P: Como começo a usar o Amazon Cognito?
Você pode começar a usá-lo facilmente ao acessar o Console da AWS. Se você não tem uma conta da Amazon Web Services, pode criar uma quando fizer login no Console. Após a criação de um pool de usuários para o gerenciamento de usuários ou um pool de identidades para identidades federadas ou operações de sincronização, você pode fazer o download do AWS Mobile SDK e integrá-lo ao seu aplicativo. Outra opção é chamar as APIs do Cognito no servidor diretamente, em vez de usar o SDK. Consulte o nosso guia do desenvolvedor para obter mais informações.

P: O Amazon Cognito expõe as APIs no servidor?
Sim. O Cognito expõe as APIs no servidor. Você pode criar sua própria interface personalizada para o Cognito chamando essas APIs diretamente. As APIs no servidor são descritas no guia do desenvolvedor.

P: O Amazon Cognito é compatível com quais plataformas?
O suporte para o Cognito está incluído no AWS Mobile SDK opcional, que está disponível para iOS, Android, Unity e Kindle Fire. O Cognito também está disponível no AWS SDK para JavaScript. No momento, seus grupos de usuários são compatíveis com AWS Mobile SDKs para iOS e Android, como também com AWS SDK para JavaScript do Cognito. Acesse a nossa página de recursos para fazer o download dos SDKs.

P: Eu tenho de usar o AWS Mobile SDK?
Não. O Cognito expõe suas APIs de controle e dados como serviços da web. Você pode implementar sua própria biblioteca do cliente chamando as APIs no servidor diretamente.

 

P: Posso ter meu próprio provedor de identidade para apoiar o cadastro e o login?

Sim, você pode adicionar com facilidade e segurança a funcionalidade de cadastro e login às suas aplicações com o Cognito Identity. Seus usuários podem fazer cadastro e login por meio de e-mail, número de telefone ou nome de usuário. Você também pode implementar recursos de segurança aprimorados, como verificação de e-mail e número de telefone, como também autenticação multifator. O Cognito Identity também permite que você personalize fluxos de trabalho ao, por exemplo, adicionar lógica específica do aplicativo ao registro de usuários para a detecção de fraude e a validação de usuários por meio do AWS Lambda. Para saber mais, acesse a nossa documentação.

P: O que é um pool de usuários?

Um pool de usuários é o diretório de usuários que você pode configurar para os seus aplicativos móveis e da web. Um pool de usuários armazena com segurança os atributos de perfil dos seus usuários. Você pode criar e gerenciar um pool de usuários usando o Console da AWS, o AWS CLI ou o AWS SDK.

P: Que informações de perfil de usuário são compatíveis com o Cognito Identity?

Os desenvolvedores podem usar atributos de perfil de usuário baseados no OpenID Connect padrão (como nome de usuário, número de telefone, endereço, fuso horário, etc.) ou personalizar para adicionar atributos de usuário específicos do aplicativo.

P: Posso permitir que os usuários do meu aplicativo façam cadastro ou login usando um endereço de e-mail ou número de telefone?

Sim. É possível usar o recurso de alias para permitir que seus usuários façam cadastro ou login usando um endereço de e-mail e uma senha ou um número de telefone e uma senha. Para saber mais, acesse a nossa documentação.

P: Posso configurar políticas de senha?

Sim, você pode configurar políticas de senha, como requisitos de força da senha e tipo de caractere, durante a definição ou a configuração do seu pool de usuários.

P: Posso verificar os endereços de e-mail e os números de telefone dos usuários da minha aplicação?

Sim, com o Cognito Identity você pode solicitar que os endereços de e-mail e os números de telefone dos usuários sejam verificados antes disponibilizar a eles acesso ao seu aplicativo. Durante o cadastro, um código de verificação será enviado ao número de telefone ou endereço de e-mail do usuário, e o usuário deverá inserir o código de verificação para concluir o cadastro e ser confirmado.

P: O Cognito Identity é compatível com a Multi-factor Authentication (MFA) baseada em SMS?

Sim, você pode permitir que os usuários finais do seu aplicativo façam o cadastro com MFA baseada em SMS. Após a ativação da MFA baseada em SMS, será solicitado que seus usuários informem a senha (primeiro fator: o que eles sabem) e um código de segurança que só pode ser recebido em seus telefones celulares via SMS (segundo fator: o que eles têm).

P: É possível personalizar o cadastro e o login de usuários nos fluxos de trabalho?

Sim, você pode personalizar o cadastro e o login ao adicionar a lógica específica do aplicativo aos fluxos de cadastro e login de usuário usando o AWS Lambda. Por exemplo, você pode criar funções do AWS Lambda para identificar fraude ou executar validações adicionais nos dados do usuário. É possível acionar funções do Lambda disponibilizadas pelo desenvolvedor durante o pré-registro, a pós-confirmação, a pós-autenticação, a autenticação para personalizar os desafios e a pós-autenticação. Também é possível usar funções do Lambda para personalizar mensagens enviadas como parte da verificação de e-mail ou número de telefone e da autenticação multifator.

P: Posso memorizar os dispositivos associados aos usuários do meu aplicativo em um grupo de usuários do Cognito?

Sim. Você pode optar por memorizar os dispositivos usados para acessar seu aplicativo. Associe esses dispositivos memorizados aos usuários do seu aplicativo em um grupo de usuários do Cognito. Você também pode optar por usar dispositivos memorizados para coibir desafios de segundo fator para os seus usuários após configurar a autenticação multifator.

P: Como posso migrar meus usuários atuais para um grupo de usuários do Amazon Cognito?

Você pode usar nossa ferramenta de importação para migrar seus usuários atuais para um grupo de usuários do Amazon Cognito. Os valores de atributo do usuário são importados por meio de um arquivo .csv, que pode ser carregado por meio do console, de nossas APIs ou da ILC. Quando o usuário importado fizer seu primeiro login, ele confirmará sua conta e criará uma nova senha com um código que será enviado para seu endereço de e-mail ou seu telefone. Não há custo adicional pelo uso da ferramenta de importação. Para saber mais, consulte a documentação sobre a ferramenta de importação.

A ferramenta de importação não migra senhas. Se você desejar salvar as senhas atuais dos seus usuários, deverá considerar um método alternativo para migrar um usuário de cada vez, conforme eles fizerem login na sua aplicação durante um período de transição. Com esse método, a aplicação primeiro tenta fazer o login do usuário usando o grupo de usuários do Cognito. Se este usuário não existir no grupo de usuários, a aplicação fará o login do usuário usando o seu sistema de identidades atuais e salvará temporariamente o nome de usuário e a senha usada para fazer isso. Após o login bem-sucedido do usuário usando seu sistema de identidades atual, sua aplicação usará o mesmo nome de usuário e a mesma senha para criar o usuário no grupo de usuários do Cognito. Esse método exige que o sistema de identidades atual seja mantido durante o período de transição, mas, após o seu término, será possível usar a ferramenta de importação para importar os usuários restantes (sem precisar de suas senhas). 

P: Posso usar o Cognito Identity para federar identidades e proteger o acesso a recursos da AWS?
Sim. O Amazon Cognito permite que você autentique usuários por meio de um provedor de identidade externo, além de disponibilizar credenciais de segurança temporárias para acessar recursos de back-end do seu aplicativo na AWS ou qualquer serviço por trás do Amazon API Gateway. O Amazon Cognito trabalha com provedores de identidade externos compatíveis com SAML ou OpenID Connect, provedores de identidade social (como Facebook, Twitter e Amazon) e você pode também integrar seu próprio provedor de identidade.

P: Quais provedores públicos de identidade eu posso usar com o Amazon Cognito Identity?
Você pode usar provedores de identidade como Amazon, Facebook, Twitter, Digits, Google e qualquer outro que seja compatível com o OpenID Connect.

P: O que é um pool de identidades?
Pools de identidades são os contêineres que o Cognito Identity usa para manter as identidades federadas dos seus aplicativos organizadas. O pool de identidades associa identidades federadas de provedores de identidade social com um identificador específico e exclusivo do usuário. Pools de identidades não armazenam nenhum perfil de usuário. Um pool de identidades pode ser associado a um ou muitos aplicativos. Se você usar dois pools de identidades diferentes para dois aplicativos, o mesmo usuário final terá um identificador exclusivo diferente em cada pool de identidades.

P: Como o fluxo de login funciona com os provedores de identidade públicos?
Seu aplicativo móvel é autenticado com um provedor de identidade (IdP) usando o SDK do provedor. Quando o usuário final for autenticado com o provedor de identidade (IdP), a declaração SAML ou o token do OAuth ou OpenID Connect retornado do IdP, ele será informado pelo seu aplicativo ao Cognito Identity, que retorna um novo ID do Cognito para o usuário e um conjunto de credenciais da AWS temporárias e de privilégio limitado.

P: Posso registrar e autenticar os meus próprios usuários?
O Cognito Identity pode integrar-se ao seu sistema de autenticação atual. Com uma chamada de API simples, você pode recuperar um ID do Cognito para usuários finais de acordo com o seu próprio identificador exclusivo de usuários. Após recuperar o ID do Cognito e o token OpenID disponibilizados pelo Cognito Identity, você pode usar o SDK de cliente do Cognito Identity para acessar recursos da AWS e sincronizar dados de usuário. O Cognito Identity é um provedor de identidade totalmente gerenciado que facilita a implementação do cadastro e login de usuário para os seus aplicativos móveis e da web.

P: Como o Cognito Identity me ajuda a controlar permissões e acessar serviços da AWS de forma segura?
O Cognito Identity atribui aos seus usuários um conjunto de credenciais temporárias e de privilégio limitado para acessar recursos da AWS, o que torna desnecessário o uso das credenciais de conta da AWS. As permissões para cada usuário são controladas por meio de funções do AWS IAM que você mesmo cria. Você pode definir regras para escolher a função do IAM de cada usuário ou, se estiver usando grupos em um grupo de usuários do Cognito, poderá atribuir funções do IAM com base em grupos. O Cognito Identity também permite que você defina uma função do IAM separada com permissões limitadas para usuários convidados que não estejam autenticados. Além disso, você também pode usar o identificador único que o Cognito gera para os seus usuários para controlar o acesso a recursos específicos. Por exemplo, é possível criar uma política para um bucket do S3 que permita apenas que cada usuário acesse sua própria pasta dentro do bucket.

P: Ao usar provedores públicos de identidade, o Amazon Cognito Identity armazena as credenciais de usuário?

Não, seu aplicativo se comunica diretamente com o provedor público de identidade compatível (Amazon, Facebook, Twitter, Digits, Google ou um provedor em conformidade com Open ID Connect) para autenticar usuários. O Cognito Identity não recebe nem armazena credenciais de usuário. O Cognito Identity usa o token do provedor de identidade para obter um identificador exclusivo para o usuário e, em seguida, o embaralha em uma direção para que o mesmo usuário possa ser reconhecido novamente no futuro, sem armazenar o identificador real do usuário.

P: O Cognito Identity recebe ou armazena informações confidenciais sobre meus usuários dos provedores de identidade?
Não. O Cognito Identity não recebe nenhuma informação confidencial (como endereço de e-mail, lista de amigos, etc.) dos provedores de identidade.

P: Eu ainda preciso ter meus próprios sistemas de autenticação de back-end com o Cognito Identity?
Não. O Cognito Identity é compatível com login por meio do Amazon, Facebook, Twitter, Digits e Google, além de oferecer compatibilidade a usuários não autenticados. Com o Cognito Identity, você pode sustentar a autenticação federada, o armazenamento de sincronização de dados de perfil e a distribuição de token de acesso da AWS sem escrever nenhum código de back-end.

P: E se eu não quiser obrigar meus usuários a fazer login?
O Cognito Identity é compatível com a criação e o processo de venda de tokens tanto para usuários autenticados quanto para não autenticados. Isso remove o dissabor de ter uma tela de login adicional em seu aplicativo, mas ainda possibilita que você use credenciais temporárias de privilégio limitado para acessar os recursos da AWS.

P: O que são usuários não autenticados?
Usuários não autenticados são usuários que não fazem a autenticação com nenhum provedor de identidade, mas, em vez disso, acessam seu aplicativo como um convidado. É possível definir uma função do IAM separada para esses usuários, visando disponibilizar permissões limitadas para acessar os recursos do seu back-end.

P: O Cognito Identity é compatível com identidades separadas para diferentes usuários no mesmo dispositivo?
Sim. O Cognito Identity é compatível com identidades separadas em um único dispositivo, como um iPad da família. Cada identidade é tratada separadamente e você tem controle total sobre como seu aplicativo conecta e desconecta os usuários, e também sobre como os dados locais e remotos do aplicativo são armazenados.

P: Como eu armazeno dados associados ao Cognito Identity?
Você pode criar programaticamente um conjunto de dados associado ao Cognito Identity e começar a salvar os dados na forma de pares de chave/valor. Os dados são armazenados tanto localmente no dispositivo quanto no armazenamento de sincronização do Cognito. O Cognito também pode sincronizar esses dados em todos os dispositivos do usuário final.

P: O número de identidades no Console do Cognito Identity me informa quantos usuários estão usando meu aplicativo?
O número de identificadas no Console do Cognito Identity mostra quantas identidades foram criadas por meio das APIs do Cognito Identity. Para identidades autenticadas (aquelas com um provedor de login, como Facebook ou um provedor de OpenID Connect), cada chamada da API GetId do Cognito Identity criará somente uma única identidade para cada usuário. No entanto, para identidades não autenticadas, a cada vez que o cliente em um aplicativo chama a API GetId, uma nova identidade é gerada. Portanto, se seu aplicativo chama o GetId para identidades não autenticadas várias vezes para um único usuário, parece que um único usuário tem várias identidades. Então é importante que você faça o cache da resposta do GetId quando usar identidades não autenticadas e não chamá-la várias vezes por usuário.

O SDK móvel oferece a lógica para fazer o cache do Cognito Identity automaticamente, para que você não precise se preocupar com isso. Se você está procurando uma solução de análise completa para seu aplicativo, inclusive a capacidade de rastrear usuários exclusivos, confira o Amazon Mobile Analytics.

P: O que é o armazenamento de sincronização do Amazon Cognito?
O armazenamento de sincronização do Amazon Cognito é um armazenamento de pares de chave/valor vinculado a uma identidade do Amazon Cognito. Não existe um limite para o número de identidades que você pode criar nos seus pools de identidades e no armazenamento de sincronização. Cada identidade do Amazon Cognito dentro do armazenamento de sincronização tem seu próprio armazenamento de informações do usuário.

P: Os dados são salvos diretamente no armazenamento de sincronização do Amazon Cognito?
Não. O AWS Mobile SDK opcional salva seus dados em um banco de dados SQLite no dispositivo local. Dessa forma, o dados ficam sempre acessíveis ao seu aplicativo. Os dados são enviados ao armazenamento de sincronização do Amazon Cognito chamando o método synchronize(). Se a sincronização por push está ativada, todos os outros dispositivos vinculados a uma identidade são notificados por meio do Amazon SNS sobre a alteração dos dados no armazenamento de sincronização.

P: Como os dados são armazenados no armazenamento de sincronização do Amazon Cognito?
Os dados associados a uma identidade do Amazon Cognito são organizados como pares de chave/valor. A chave é um rótulo, como "MusicVolume", e um valor, como "11". Os pares de chave/valor são agrupados e categorizados usando conjuntos de dados. Os conjuntos de dados são uma partição lógica de pares de chave/valor e são a entidade mais granular usada pelo Amazon Cognito para executar operações de sincronização.

P: Qual é o tamanho máximo de um armazenamento de informações de usuários dentro do armazenamento de sincronização do Amazon Cognito?
Cada armazenamento de informações de usuários pode ter um tamanho máximo de 20 MB. Cada conjunto de dados dentro do armazenamento de informações de usuários pode conter até 1 MB de dados. Dentro de um conjunto de dados, é possível ter até 1024 chaves.

P: Que tipo de dados eu posso armazenar em um conjunto de dados?
Tanto as chaves quanto os valores em um conjunto de dados são sequências alfanuméricas. Não há limite para o tamanho das sequências, mas o valor total dos valores em um conjunto de dados não poder exceder 1 MB. Dados binários podem ser armazenados como uma sequência codificada com base64 como um valor, contanto que não excedam o limite de 1 MB.

P: Por que os conjuntos de dados estão limitados a 1 MB?
A limitação do tamanho do conjunto de dados a 1 MB aumenta as chances de uma tarefa de sincronização ser concluída com êxito mesmo quando a largura de banda é limitada, sem muitas novas tentativas que consomem carga da bateria e dados dos planos de dados.

P: As identidades e os armazenamentos de informações dos usuários são compartilhados entre os desenvolvedores?
Não, a identidade de um usuário e o armazenamento de informações são atrelados a uma conta da AWS específica. Se houver vários aplicativos de diferentes editores em um determinado dispositivo que use o Amazon Cognito, cada aplicativo usará o armazenamento de informações criado por cada editor.

P: Como posso analisar e consultar os dados armazenados no armazenamento de sincronização do Cognito?
O Cognito Streams permite enviar dados do armazenamento de sincronização por meio de push para um fluxo do Kinesis na sua conta da AWS. Em seguida, você pode consumir esse stream e armazenar os dados de uma forma que facilite a análise desses dados, como um banco de dados do Amazon Redshift, uma instância do RDS ou até mesmo um arquivo do S3. Publicamos uma amostra de aplicação para consumidor do Kinesis para mostrar como armazenar os dados de atualizações no Amazon Redshift.

P: Por que devo usar um stream do Kinesis em vez de uma exportação de banco de dados?
O streaming dos dados para o Kinesis permite receber todo o histórico de alterações dos bancos de dados em tempo real. Isso significa que você recebe todas as alterações efetuadas por um usuário final em um conjunto de dados, além de ter a flexibilidade de armazenar esses dados na sua ferramenta preferida.

P: E se eu já tiver dados armazenados no Cognito?
A ativação do recurso de stream do Kinesis permite iniciar uma publicação de grande volume. Esse processo envia de forma assíncrona todos os dados armazenados no momento no armazenamento de sincronização do Cognito ao stream do Kinesis selecionado.

P: Qual o preço desse recurso?
O Cognito envia os dados por meio de push a um stream do Kinesis que pertence a você. Se esse recurso for ativado, o preço por sincronização do Cognito permanecerá o mesmo. Serão cobradas as tarifas padrão do Kinesis pelos seus fragmentos.

P: Posso validar os dados antes de eles serem salvos?
O Amazon Cognito Events permite que os desenvolvedores executem uma função do AWS Lambda em resposta a eventos importantes no Cognito. O evento Sync Trigger é um evento que ocorre quando qualquer conjunto de dados é sincronizado. Os desenvolvedores podem escrever uma função do AWS Lambda para interceptar o evento de sincronização. A função pode avaliar as alterações no conjunto de dados subjacente e manipular os dados antes de serem armazenados na nuvem e sincronizados de volta nos outros dispositivos do usuário. Alternativamente, a função do AWS Lambda pode falhar a operação de sincronização, para que os dados não sejam sincronizados com os outros dispositivos do usuário.

P: Como os dados são sincronizados com o Amazon Cognito?
Você pode disparar programaticamente a sincronização de conjuntos de dados entre dispositivos clientes e o armazenamento de sincronização do Amazon Cognito usando o método synchronize() no AWS Mobile SDK. O método synchronize() lê a versão mais recente dos dados disponível no armazenamento de sincronização do Amazon Cognito e a compara com a cópia local, armazenada em cache. Após a comparação, o método synchronize() grava as últimas atualizações conforme necessário no armazenamento de dados local e no armazenamento de sincronização do Amazon Cognito. Por padrão, o Amazon Cognito mantém a última versão gravada dos dados. É possível substituir esse comportamento e resolver os conflitos de dados programaticamente. Além disso, a sincronização por push permite usar o Amazon Cognito para enviar uma notificação silenciosa de push para todos os dispositivos associados a uma identidade e notificá-los da disponibilidade de novos dados.

P: O que é uma notificação silenciosa de push?
O Amazon Cognito usa o Amazon Simple Notification Service (SNS) para enviar notificações silenciosas de push aos dispositivos. Uma notificação silenciosa de push é uma mensagem por push recebida pelo seu aplicativo no dispositivo de um usuário e que não é vista pelo usuário.

P: Como posso usar a sincronização por push?
Para ativar a sincronização por push, você precisa declarar uma aplicação de plataforma usando a página do Amazon SNS no Console de Gerenciamento da AWS. Em seguida, na página de pool de identidades do Amazon Cognito no Console de Gerenciamento da AWS, você pode vincular a aplicação de plataforma do SNS ao seu pool de identidades do Cognito. O Amazon Cognito usa automaticamente a aplicação de plataforma do SNS para notificar as alterações aos dispositivos.

P: Como os conflitos no processo de sincronização são tratados?
Por padrão, o Amazon Cognito mantém a última versão gravada dos dados. É possível substituir esse comportamento optando por responder a um retorno de chamada do AWS Mobile SDK, que conterá ambas as versões dos dados. Então, seu aplicativo pode decidir qual versão dos dados (a local ou a que está no armazenamento de sincronização do Amazon Cognito) manter e salvar no armazenamento de sincronização do Amazon Cognito.

P: Quanto custa o Cognito Identity?
Com o Amazon Cognito, você paga somente pelo que usar. Não há taxas mínimas nem compromissos antecipados.

Se você estiver usando o Cognito Identity para criar um pool de usuários, você paga baseando-se somente nos seus usuários ativos mensais (MAUs). Um usuário é contado como um MAU se dentro de um mês do calendário houver uma operação de identidade relacionada aquele usuário, como login, cadastro, atualização de token e alteração de senha. Você não é cobrado por sessões subsequentes ou por usuários inativos dentro do mês do calendário especificado. Os encargos separados se aplicam ao uso opcional do sistema de mensagens SMS, conforme está descrito abaixo.

O recurso Your User Pool tem um nível gratuito de 50.000 MAUs por mês. O nível gratuito do Cognito Identity não expira ao final do período de 12 meses do nível gratuito da AWS, e ele fica disponível para os clientes novos e atuais da AWS indefinidamente

Identidades federadas e controle de acesso seguro para recursos da AWS são sempre gratuitos com o Cognito Identity.

P: Quanto custa o Cognito Sync?
As cobranças de sincronização são baseadas no volume total de dados salvo no armazenamento de sincronização do Amazon Cognito e no número de operações de sincronização executadas. Uma operação de sincronização compara o armazenamento de dados local em um dispositivo ao armazenamento de sincronização do Amazon Cognito na nuvem e sincroniza os dois armazenamentos de dados.

Como parte do nível gratuito da AWS, os clientes da AWS qualificados recebem 10 GB de armazenamento de sincronização na nuvem e 1.000.000 de operações de sincronização por mês durante os 12 primeiros meses. Fora do nível gratuito, o Amazon Cognito custa 0,15 USD a cada 10.000 operações de sincronização e 0,15 USD por GB de armazenamento de sincronização por mês.

P: O que é uma operação de sincronização?
Quando você chama o método synchronize() usando o AWS Mobile SDK, isso conta como uma operação de sincronização. Se você está chamando as APIs do servidor diretamente, uma operação de sincronização é iniciada quando um novo token de sessão de sincronização é emitido e é concluída com uma gravação bem-sucedida ou a expiração do tempo limite do token de sessão. Independentemente de você usar o método synchronize() do SDK ou chamar a API do servidor diretamente, as operações de sincronização são cobradas com a mesma tarifa.

P: O que são usuários ativos mensais (MAUs)?
Um usuário é considerado ativo e contado como um MAU quando há uma operação (ex.: login, atualização de token, cadastro ou alteração de senha) associada ao usuário durante o mês de faturamento. Portanto, você não é cobrado por operações subsequentes durante o mês de faturamento ou usuários inativos. Geralmente, o número total de usuários e o número de operações são significativamente maiores do que o seu número total de MAUs.

P: Quanto custa o uso de mensagens SMS com o Cognito?
O uso do sistema de mensagens SMS para verificar números de telefone, enviar códigos para senhas esquecidas ou redefinição de senhas, ou para autenticação multifator é cobrado separadamente. Consulte a página de Definição de preço global para obter mais informações.

P: O Amazon Cognito faz parte do nível gratuito da AWS?
Sim. Como parte do nível gratuito da AWS, o Cognito oferece 10 GB de armazenamento de sincronização e 1.000.000 de operações de sincronização em um mês, durante os 12 primeiros meses de uso. Seu pool de usuários do Cognito Identity é gratuito para os primeiros 50.000 MAUs. Após essa marca, nós oferecemos níveis baseados em volume. O recurso Federated Identities para autenticar usuários e gerar identificadores exclusivos é sempre gratuito no Cognito Identity.

P: Cada gravação ou leitura do aplicativo conta como uma operação de sincronização?
Não. Você decide quando chamar o método synchronize(). Toda gravação ou leitura do dispositivo é armazenada no armazenamento do SQlite local. Dessa forma, você tem total controle sobre os seus custos.

P: Qual o custo da sincronização por push
O Cognito usa o Amazon SNS para enviar notificações silenciosas de push. Não há cobrança adicional pelo uso do Cognito para sincronização por push, mas as notificações enviadas aos dispositivos são cobradas de acordo com as tarifas do Amazon SNS.

P: Qual é o custo de utilização do Lambda com o Amazon Cognito Events?
Não há custo adicional para usar o Cognito Events para disparar funções do Lambda, mas as taxas normais para seu uso do AWS Lambda e de outros serviços da AWS serão aplicadas enquanto suas funções do Lambda estiverem sendo executadas. Consulte a página de definição de preço do AWS Lambda para obter mais detalhes.