Amazon Cognito ユーザー移行の Lambda トリガーエラーをトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon Cognitoでユーザー移行 AWS Lambda トリガーを使用するときに発生するエラーのトラブルシューティングをしたい。

解像度

以下は、ユーザー移行 Lambdaトリガーを使用する際に発生する可能性のある一般的なエラーです。

「InitiateAuth オペレーションを呼び出すときにエラーが発生しました (無効なパラメーターの例): ユーザー\ _PASSWORD\ _AUTH フローはこのクライアントでは有効化されていません」

このエラーは、Amazon Cognito ユーザープールのアプリケーションクライアントがUSER\ _PASSWORD\ _AUTH または ADMIN\ _USER\ _PASSWORD\ _AUTH フローを使用するように設定されていない場合に発生します。このエラーを解決するには、ユーザー移行の Lambda トリガーを追加する前に、アプリクライアントでUSER\ _PASSWORD\ _AUTH またはADMIN\ _USER\ _PASSWORD\ _AUTH フローを有効にします。

ユーザー\ _パスワード\ _AUTH またはADMIN\ _USER\ _PASSWORD\ _AUTH フローを有効にするには、アプリクライアントでその認証フローを選択します。デフォルトのUSER\ _SRP\ _AUTH フローの代わりにこれらのフローを使用してください。Amazon Cognitoは、他のディレクトリでのユーザー認証を確認するために、Lambda関数にパスワードを送信します。

「InitiateAuth オペレーションを呼び出すときにエラーが発生しました (ユーザーが気づいていない例外): アプリクライアントでのユーザー移行中の例外<example\ _client\ _id>」

このエラーは、ユーザー移行 Lambda トリガーとして設定されている Lambda 関数に承認ポリシーが正しく設定されていない場合に発生します。この場合、ポリシーでは Amazon Cognito サービスのアカウントプリンシパルであるcognito-idp.amazonaws.com が Lambda 関数を呼び出すことを許可していません。詳細については、「Lambdaでのリソースベースのポリシーの使用」を参照してください。

このエラーは、Lambda 関数を Amazon Cognito ユーザープールのユーザー移行 Lambda トリガーとして設定していない場合にも発生します。このエラーを解決するには、必ず Lambda 関数をユーザープールのユーザー移行 Lambda トリガーとして設定してください。

「InitiateAuth オペレーションを呼び出すときにエラーが発生しました (ユーザーが気づいていない例外): 移行中のエラー:最終ユーザーステータスが無効」

このエラーは、FinalUserStatus をCONFIRMED以外の値に設定した場合に発生します。このエラーを解決するには、** FinalUserStatus** を**CONFIRMED に変更して、**ユーザーがサインインする前に追加のアクションを実行する必要がないようにします。

無効な無効なmessageAction または **無効なdesiredDeliveryMediums **というエラーは、Lambda 関数が Amazon Cognito に返すパラメータ値が期待値でない場合に発生します。これらのエラーを解決するには、パラメーターを期待値に変更します。リクエストとレスポンスパラメータの詳細については、「ユーザーの Lambda トリガーパラメータの移行」を参照してください。

「InitiateAuth オペレーションを呼び出すときにエラーが発生しました (ユーザーが気づいていない例外): 属性がスキーマに適合しませんでした:<example\ _attribute>: 属性はスキーマに存在しません」

このエラーは、Lambda 関数のレスポンスに含まれる属性が Amazon Cognito ユーザープールの属性ではない場合に発生します。このエラーを解決するには、必ずユーザープールのスキーマに存在する属性を返してください。

「ユーザー移行中の例外」-または-「ユーザー移行がエラーで失敗しました: <example error message>

これらのエラーはHosted UI ページに表示され、前述の理由のいずれかで発生する可能性があります。

これらのエラーメッセージは一般的なものであるため、エラーの具体的な原因を特定するのが難しい場合があります。ホステッド UI を使用してユーザーを移行する際のエラーの詳細を確認するには、次の AWS Command Line Interface (AWS CLI) コマンドを実行します:

$ aws cognito-idp initiate-auth --client-id <your-client-id>
    --auth-flow USER_PASSWORD_AUTH --auth-parameters "USERNAME=<username>,PASSWORD=<password>"

**メモ:置換<your-client-id>クライアントIDと一緒に。置換<username>あなたのユーザー名で。置換<password>**あなたのパスワードで。

**メモ:**AWS CLI コマンドの実行中にエラーが発生した場合は、AWS CLIの最新バージョンを使用していることを確認してください

コマンドは、ユーザー移行 Lambda 関数を呼び出します。返されるエラーには、詳細なメッセージが含まれます。

関連情報

ユーザー移行 Lambda トリガーによるユーザープールへのユーザーのインポート

ユーザー Lambda トリガーの移行

例: 既存のパスワードでユーザーを移行する

AWS公式
AWS公式更新しました 1年前