¿Cómo soluciono errores comunes en el proceso de importación en Amazon Cognito?

7 minutos de lectura
0

Quiero solucionar errores comunes en el proceso de importación en Amazon Cognito.

Descripción breve

Lo siguiente son errores comunes relacionados con el proceso de importación de Amazon Cognito:

Errores de importación del desencadenador de AWS Lambda en la migración de usuarios:

  • AccessDeniedException
  • UserCodeSyntaxError
  • ResourceNotFoundException
  • ImportModuleError

Errores de importación de archivos CSV:

  • Unexpected headers (Encabezados inesperados)
  • Failed/skipped user (Usuario fallido u omitido)
  • Import job expired (Trabajo de importación caducado)
  • Invalid attribute value (Valor de atributo no válido)
  • CloudWatch Logs role missing permission (Falta un permiso para el rol de Registros de CloudWatch)

Resolución

Cuando utiliza un archivo CSV o un desencadenador de Lambda para importar en Amazon Cognito, los errores se registran en Registros de Amazon CloudWatch. Consulte y busque estos errores en su cuenta de AWS.

Errores de importación del desencadenador de Lambda en la migración de usuarios

AccessDeniedException:

Este error se registra cuando al rol de Lambda le falta un permiso de AWS Identity and Access Management (IAM) para realizar una acción de Amazon Cognito. Por ejemplo, AdminInitiateAuth. El error AccessDeniedException tiene un aspecto similar al siguiente:

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 el error AccessDeniedException, haga lo siguiente:

  1. Abra la consola de IAM.
  2. En el panel de navegación, elija Roles y busque el rol de ejecución de Lambda.
  3. Elija la pestaña Permissions (Permisos) para el rol de IAM.
  4. Amplíe la política de permisos para ver los permisos asociados al usuario.
  5. Asegúrese de que la política incluya los siguientes parámetros:
    cognito-idp:AdminInitiateAuth en la lista Actions (Acciones).
    Allow (Permitir) para Effect (Efecto).
  6. Si la política no incluye los parámetros, actualícela para que los incluya.
    o bien
    Cree una nueva política que siga los parámetros y adjunte la política al rol de IAM. Para obtener más información, consulte Editing customer managed policies (console) (Edición de políticas administradas por el cliente [consola]).

UserCodeSyntaxError:

Este error se registra cuando se encuentra un problema de código en su código de Lambda. Por ejemplo, un problema de sangría.

El error UserCodeSyntaxError tiene un aspecto similar al siguiente:

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

Para resolver este error, asegúrese de comprobar el uso correcto de la sintaxis en el código.

ResourceNotFoundException:

Este error se registra cuando un recurso al que se hace referencia en su código de Lambda no se encuentra en su cuenta de AWS o región de AWS. Por ejemplo, un cliente de aplicaciones de Amazon Cognito.

El error ResourceNotFoundException tiene un aspecto similar al siguiente:

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

Para resolver este error, confirme que el recurso en cuestión existe en su cuenta y región de AWS. A continuación, confirme que ha especificado correctamente el ID, el nombre o el nombre de recurso de Amazon (ARN) en su código de Lambda.

ImportModuleError:

Este error se registra cuando intenta importar un módulo que no existe en su código de Lambda o intenta hacer referencia a él.

El error ImportModuleError tiene un aspecto similar al siguiente:

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

Para resolver este error, confirme que el módulo que intenta importar en el código no incluye errores tipográficos ni referencias a módulos inexistentes.

Errores de importación de archivos CSV

Unexpected headers (Encabezados inesperados):

Este error se registra cuando hay un problema con encabezados que faltan o con un formato incorrecto especificados en el archivo CSV.

El error Unexpected headers (Encabezados inesperados) tiene un aspecto similar al siguiente:

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

Para resolver este error, haga lo siguiente:

Para obtener una lista de los encabezados correctos ejecute el siguiente comando, donde USER_POOL_ID es el grupo de usuarios al que importará los usuarios:

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

También puede descargar el encabezado del archivo CSV mediante la consola de Amazon Cognito. Para obtener más información, consulte Downloading the CSV file header (console) (Descarga del encabezado del archivo CSV [consola]).

Failed or skipped user (Usuario fallido u omitido):

Este error se registra cuando hay un problema con referencias de usuario duplicadas o cuando faltan campos obligatorios en el archivo CSV. Por ejemplo, email_verified o cognito:mfa_enabled.

El error Failed or skipped user (Usuario fallido u omitido) tiene un aspecto similar al siguiente:

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

Para resolver este error, asegúrese de eliminar los usuarios duplicados del archivo CSV y de especificar los atributos obligatorios. Para obtener más información, consulte Creating the user import CSV file (Creación del archivo CSV de importación de usuarios).

Import job expired (Trabajo de importación caducado):

Este error se registra al crear un trabajo, pero no lo inicia en un plazo de 24 a 48 horas.

El error Import job expired (Trabajo de importación caducado) tiene un aspecto similar al siguiente:

The user import job has expired.

Para resolver este problema, inicie un trabajo de importación de usuarios con el siguiente comando:

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

También puede iniciar el trabajo mediante la consola de Amazon Cognito. Para obtener más información, consulte Importing users from a CSV file (console) (Importación de usuarios desde un archivo CSV [consola]).

Nota: Solo puede haber un trabajo de importación activo a la vez para cada cuenta.

Invalid attribute value (Valor de atributo no válido):

Este error indica que se ha especificado un valor no válido para un atributo del archivo CSV.

El error Invalid attribute value (Valor de atributo no válido) tiene un aspecto similar al siguiente:

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

Para resolver este problema, compruebe los valores especificados para el atributo. Para obtener más información sobre los valores de los atributos, como el formato adecuado para los números de teléfono, consulte User pool attributes (Atributos de grupo de usuarios).

CloudWatch Logs role missing permission (Falta un permiso para el rol de Registros de CloudWatch):

Este error indica que el rol de Registros de CloudWatch especificado para el proceso de importación de CSV tiene uno de los siguientes problemas:

  • Faltan permisos, como crear un grupo de registro o flujos.
  • Política de relaciones de confianza con una entidad principal que no es válida.

El error CloudWatch Logs role missing permission (Falta un permiso para el rol de Registros de CloudWatch) tiene un aspecto similar al siguiente:

Al rol configurado de Registros de CloudWatch le faltan permisos o tiene una política de confianza no válida.

Para resolver este problema, asegúrese de tener permisos de identidad permitidos para las acciones de CloudWatch. Además, asegúrese de que cognito-idp.amazonaws.com esté permitido como entidad principal de servicio en la política de relaciones de confianza. Para obtener más información, consulte Creating the CloudWatch Logs IAM role (Creación del rol de IAM de Registros de CloudWatch).


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año