Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Como faço para solucionar erros comuns com o processo de importação no Amazon Cognito?

6 minuto de leitura
0

Quero solucionar erros comuns com o processo de importação no Amazon Cognito.

Breve descrição

A seguir estão os erros comuns associados ao processo de importação do Amazon Cognito:

A migração de usuários do AWS Lambda aciona erros de importação:

  • AccessDeniedException
  • UserCodeSyntaxError
  • ResourceNotFoundException
  • ImportModuleError

Erros de importação de arquivo CSV:

  • Unexpected headers (Cabeçalhos inesperados)
  • Failed/skipped user (Usuário com falha/ignorado)
  • Import job expired (A tarefa de importação expirou)
  • Invalid attribute value (Valor de atributo inválido)
  • CloudWatch Logs role missing permission (Perfil do CloudWatch Logs sem permissão)

Resolução

Quando você usa um arquivo CSV ou um acionador do Lambda para importar no Amazon Cognito, os erros são registrados no Amazon CloudWatch Logs. Veja e pesquise esses erros em sua conta da AWS.

Migração de usuários: o Lambda aciona erros de importação

AccessDeniedException:

Esse erro é registrado quando a função do Lambda não tem a permissão do AWS Identity and Access Management (IAM) para realizar uma ação do Amazon Cognito. Por exemplo, AdminInitiateAuth. O erro AccessDeniedException é semelhante ao seguinte:

An error occurred (AccessDeniedException) when calling the AdminInitiateAuth operation: User: arn:aws:sts::ACCOUNT_ID:assumed-role/TestingMigration-role/TestingMigration is not authorized to perform: cognito-idp:AdminInitiateAuth on resource: arn:aws:cognito-idp:eu-central-1:ACCOUNT_ID:userpool/eu-central-1_YYYYOOOO
    because no identity-based policy allows the cognito-idp:AdminInitiateAuth action

Para resolver o erro AccessDeniedException, faça o seguinte:

  1. Abra o IAM console (console do IAM).
  2. No painel de navegação, escolhaRoles (Funções) e localize a função de execução do Lambda.
  3. Escolha a guiaPermissions (Permissões) para o perfil do IAM.
  4. Expanda a política de permissões para visualizar as permissões associadas ao usuário.
  5. Certifique-se de que a política inclua os seguintes parâmetros:
    cognito-idp:AdminInitiateAuth na lista deActions (Ações)
    Allow (Permitir) para Effect (Efeito).
  6. Se a política não incluir os parâmetros, atualize-a para incluí-los.
    -ou-
    Crie uma nova política que siga os parâmetros e anexe a política ao perfil do IAM. Para obter mais informações, consulte Editing customer managed policies (console) (Editar políticas gerenciadas pelo cliente [console]).

UserCodeSyntaxError:

Esse erro é registrado quando há um problema de código encontrado em seu código do Lambda. Por exemplo, um problema de recuo.

O erro UserCodeSyntaxError é semelhante ao seguinte:

[ERROR] Runtime.UserCodeSyntaxError: Syntax error in module 'lambda_function': unexpected indent

Para resolver esse erro, verifique o uso correto da sintaxe em seu código.

ResourceNotFoundException:

Esse erro é registrado quando um recurso referenciado em seu código do Lambda não é encontrado em sua conta da AWS ou região da AWS. Por exemplo, um cliente da aplicação Amazon Cognito.

O erro ResourceNotFoundException é semelhante ao seguinte:

[ERROR] ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the AdminInitiateAuth operation: User pool client 52rXXXXXXXXXXXXXXXXXXge does not exist.

Para resolver esse erro, verifique se o recurso em questão existe em sua conta e região da AWS. Em seguida, confirme se você especificou corretamente o ID, o nome ou o nome do recurso da Amazon (ARN) em seu código do Lambda.

ImportModuleError:

Esse erro é registrado quando você tenta importar ou referenciar um módulo que não existe em seu código do Lambda.

O erro ImportModuleError é semelhante ao seguinte:

[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named lambda_function

Para resolver esse erro, confirme se o módulo que você está tentando importar em seu código não inclui erros de digitação ou referências de módulo inexistentes.

Erros de importação de arquivos CSV

Unexpected headers (Cabeçalhos inesperados):

Esse erro é registrado quando há um problema com cabeçalhos ausentes ou formatados incorretamente, especificados em seu arquivo CSV.

O erro Unexpected headers (Cabeçalhos inesperados) é semelhante ao seguinte:

The header in the CSV file does not match the expected headers. Use the GetCSVHeader API to get the expected headers.

Para resolver esse erro, faça o seguinte:

Obtenha uma lista dos cabeçalhos corretos executando o comando a seguir, em que USER_POOL_ID corresponde ao grupo de usuários para o qual você importará usuários:

aws cognito-idp get-csv-header --user-pool-id "USER_POOL_ID"

Você também pode fazer download do cabeçalho do arquivo CSV usando o Amazon Cognito console (Console do Amazon Cognito). Para obter mais informações, consulteDownloading the CSV file header (console) (Como fazer download do cabeçalho do arquivo CSV [console]).

Failed or skipped user: (Usuário com falha ou ignorado:)

Esse erro é registrado quando há um problema com referências de usuário duplicadas ou quando os campos obrigatórios estão ausentes no seu arquivo CSV. Por exemplo, email_verified ou cognito:mfa_enabled.

O erro Failed or skipped user (Usuário com falha ou ignorado) é semelhante ao seguinte:

Too many users have failed or been skipped during the import.

Para resolver esse erro, remova usuários duplicados do arquivo CSV e certifique-se de que os atributos necessários estejam especificados. Para obter mais informações, consulte Creating the user import CSV file (Criação do arquivo CSV de importação do usuário).

Import job expired: (A tarefa de importação expirou:)

Esse erro é registrado quando você cria uma tarefa, mas não a inicia dentro de 24 a 48 horas.

O erro Import job expired (A tarefa de importação expirou) é semelhante ao seguinte:

The user import job has expired.

Para resolver esse problema, inicie uma tarefa de importação do usuário com o seguinte comando:

aws cognito-idp start-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"

Você também pode iniciar a tarefa usando o Amazon Cognito console (Console do Amazon Cognito). Para obter mais informações, consulteImporting users from a CSV file (console) (Importação de usuários de um arquivo CSV [console]).

Observação: somente uma tarefa de importação pode estar ativa por vez para cada conta.

Invalid attribute value: (Valor de atributo inválido:)

Esse erro indica que um valor inválido foi especificado para um atributo em seu arquivo CSV.

O erro de Invalid attribute value (Valor de atributo inválido) é semelhante ao seguinte:

The User Record contains an invalid value for [attribute].

Para resolver esse problema, verifique os valores especificados para o atributo. Para obter mais informações sobre valores de atributos, como o formato adequado para números de telefone, consulte User pool attributes (Atributos do grupo de usuários).

CloudWatch Logs role missing permission: (Perfil do CloudWatch Logs sem permissão:)

Esse erro indica que o perfil do CloudWatch Logs especificado para o processo de importação de CSV tem um dos seguintes problemas:

  • Permissões ausentes, como criar grupos ou fluxos de logs.
  • Política de relacionamento de confiança com uma entidade principal que não é válida.

O erro CloudWatch Logs role missing permission (Perfil do CloudWatch Logs sem permissão) é semelhante ao seguinte:

O perfil configurado do CloudWatch Logs não tem permissões ou tem uma política de confiança inválida.

Para resolver esse problema, verifique se você tem permissões de identidade permitidas para ações do CloudWatch. Além disso, certifique-se de que cognito-idp.amazonaws.com tenha permissão como entidade principal de serviço na política de relacionamento de confiança. Para obter mais informações, consulte Creating the CloudWatch Logs IAM role (Criação do perfil do IAM do CloudWatch Logs).


AWS OFICIAL
AWS OFICIALAtualizada há 2 anos