翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
認証フロー
Amazon Cognito ユーザープールの認証プロセスは、ユーザーが最初の選択を行い、認証情報を送信し、追加のチャレンジに応答するフローとして最もよく説明できます。マネージドログイン認証をアプリケーションに実装すると、Amazon Cognito は、これらのプロンプトとチャレンジのフローを管理します。アプリケーションのバックエンドに AWS SDK を使用してフローを実装する場合は、リクエストのロジックを構築し、ユーザーに入力を求め、チャレンジに応答する必要があります。
アプリケーション管理者は、ユーザー特性、セキュリティ要件、認可モデルを利用して、ユーザーにサインインを許可する方法を決定します。以下の質問を自問してください。
-
他の ID プロバイダー (IdP) の認証情報を使用してサインインすることをユーザーに許可するか?
-
ユーザー名とパスワードは本人確認として十分であるか?
-
ユーザー名パスワード認証のための認証リクエストが傍受される可能性はあるか? アプリケーションでパスワードを送信したり、ハッシュとソルトを使用して認証をネゴシエートしたりするか?
-
パスワードの入力をスキップし、ワンタイムパスワードを受信してサインインすることをユーザーに許可するか?
-
サムプリント、顔、またはハードウェアセキュリティキーを使用したサインインをユーザーに許可するか?
-
どのような場合に多要素認証 (MFA) を必須にするか?
-
Amazon Cognito の組み込み機能を超えて認可モデルを拡張するか?
これらの質問に対する回答が得られたら、関連する機能をアクティブ化し、アプリケーションが行う認証リクエストで機能を実装する方法を検討できます。
ユーザーのサインインフローを設定したら、GetUserAuthFactors API オペレーションへのリクエストを使用して、MFA および選択ベースの認証要素の現在のステータスを確認できます。このオペレーションには、サインインしたユーザーのアクセストークンによる認可が必要です。このオペレーションからは、ユーザー認証要素と MFA 設定が返されます。
トピック
サードパーティの IdP によるサインイン
Amazon Cognito ユーザープールは、Apple でサインイン、Amazon でログイン、OpenID Connect (OIDC) サービスなど、IdP 間の認証セッションの中間ブローカーとして機能します。このプロセスは、フェデレーティッドサインインまたはフェデレーティッド認証とも呼ばれます。フェデレーティッド認証では、アプリケーションクライアントに組み込める認証フローは使用しません。代わりに、設定したユーザープール IdP をアプリケーションクライアントに割り当てます。フェデレーティッドサインインは、ユーザーがマネージドログインで IdP を選択するか、アプリケーションが IdP サインインページにリダイレクトするセッションを呼び出したときに発生します。
フェデレーティッドサインインでは、プライマリ認証要素と MFA 認証要素をユーザーの IdP に委任します。Amazon Cognito は、ローカルユーザーにリンクしない限り、このセクションの他の高度なフローをフェデレーションユーザーに追加しません。リンクされていないフェデレーションユーザーにはユーザー名がありますが、マッピングされた属性データのストアであり、通常はブラウザベースのフローから切り離してサインインに使用することはありません。
永続的なパスワードによるサインイン
Amazon Cognito ユーザープールでは、すべてのユーザーにユーザー名があります。ユーザー名は、電話番号、E メールアドレス、選択した識別子、または管理者が指定した識別子です。このタイプのユーザーは、ユーザー名とパスワードでサインインし、必要に応じて MFA を指定できます。ユーザープールは、パブリックまたは IAM で認可された API オペレーションと SDK メソッドを使用してユーザー名パスワードによるサインインを実行できます。アプリケーションは、認証のためにパスワードをユーザープールに直接送信できます。ユーザープールは、認証が成功した結果として、追加のチャレンジまたは JSON ウェブトークン (JWT) で応答します。
永続的なパスワードと安全なペイロードによるサインイン
ユーザープールのユーザー名パスワードによるサインイン方法の別の形式として、セキュアリモートパスワード (SRP) プロトコルがあります。このオプションは、パスワードを知っていることの証明 (パスワードハッシュとソルト) を送信し、ユーザープールで検証できるようにします。Amazon Cognito へのリクエストには、読み取り可能なシークレット情報が含まれないため、ユーザーが入力したパスワードを処理するのはアプリケーションのみです。SRP 認証には、数学的計算が含まれていて、SDK にインポートできる既存のコンポーネントで処理するのが最適です。SRP は通常、モバイルアプリなどのクライアント側のアプリケーションに実装されます。プロトコルの詳細については、「スタンフォード SRP ホームページ
Amazon Cognito 認証の開始/チャレンジ/応答シーケンスでは、SRP を使用してユーザーとパスワードを検証します。SRP 認証をサポートするようにユーザープールとアプリケーションクライアントを設定し、サインインリクエストとチャレンジレスポンスのロジックをアプリケーションに実装する必要があります。SRP ライブラリは、ユーザーのパスワードを所有していることをユーザープールに示すための乱数と計算値を生成できます。アプリケーションは、Amazon Cognito ユーザープールの API オペレーションと SDK メソッドにおいて、これらの計算値を JSON 形式の AuthParameters フィールドと ChallengeParameters フィールドに入力して検証を行います。
ワンタイムパスワードによるパスワードなしのサインイン
パスワードは紛失したり盗まれたりする場合があります。ユーザーが検証済みの E メールアドレス、電話番号、または Authenticator アプリケーションにのみアクセスできることを確認したい場合もあります。このような場合の解決策は、パスワードなしのサインインです。アプリケーションは、ユーザー名、E メールアドレス、または電話番号の入力をユーザーに求めることができます。これにより、Amazon Cognito はワンタイムパスワード (OTP) を生成し、ユーザーに確認を求めます。コードが正しければ、認証が完了します。
パスワードなしの認証フローは、ユーザープールで必須の多要素認証 (MFA) と互換性がありません。ユーザープールで MFA がオプションである場合、MFA をアクティブ化したユーザーはパスワードなしの最初の要素ではサインインできません。MFA オプションユーザープールに MFA 設定がないユーザーは、パスワードなしの各要素でサインインできます。詳細については、「ユーザープールの MFA について知っておくべきこと」を参照してください。
ユーザーがパスワードなしの認証の一環として、SMS や E メールメッセージで受信したコードを正しく入力すると、ユーザープールは、ユーザーを認証することに加えて、ユーザーの未検証の E メールアドレスや電話番号属性を検証済みとしてマークします。E メールアドレスや電話番号を自動的に検証するようにユーザープールを設定しているかどうかに関係なく、ユーザーステータスも UNCONFIRMED から CONFIRMED に変更されます。
パスワードなしのサインインの新しいオプション
ユーザープールでパスワードなしの認証を有効にすると、一部のユーザーフローの動作が変更されます。
-
ユーザーはパスワードなしでサインアップし、サインイン時にパスワードなしの要素を選択できます。管理者としてパスワードなしでユーザーを作成することもできます。
-
CSV ファイルでインポートしたユーザーは、パスワードなしの要素を使用してすぐにサインインできます。サインイン前にパスワードを設定する必要はありません。
-
パスワードを持たないユーザーは、
PreviousPasswordパラメータなしで ChangePassword API リクエストを送信できます。
OTP による自動サインイン
E メール OTP または SMS メッセージ OTP でサインアップしてユーザーアカウントを確認するユーザーは、確認メッセージと一致するパスワードなしの要素を使用して自動的にサインインできます。マネージドログイン UI では、ユーザーがアカウントを確認して、確認コード配信方法による OTP サインインの適格性を満たしている場合、ユーザーは確認コードの入力後に、初回サインインに自動的に進みます。AWS SDK を使用してカスタム構築されたアプリケーションでは、以下のパラメータを InitiateAuth オペレーションまたは AdminInitiateAuth オペレーションに渡します。
-
Sessionリクエストパラメータとしての ConfirmSignUp API レスポンスのSessionパラメータ。 -
USER_AUTHの AuthFlow。
EMAIL_OTP または SMS_OTP の PREFERRED_CHALLENGE を渡すことができますが、必須ではありません。Session パラメータは認証の証明となり、有効なセッションコードを渡すと、Amazon Cognito は AuthParameters を無視します。
サインインオペレーションは、認証の成功を示すレスポンス AuthenticationResult を返します。以下の条件が満たされた場合、追加のチャレンジはありません。
-
Sessionコードは有効であり、期限切れになっていない。 -
ユーザーは OTP 認証方法の適格性を満たしている。
WebAuthn パスキーを使用したパスワードなしのサインイン
パスキーは安全で、ユーザーの負担は比較的少なくて済みます。パスキーサインインでは、ユーザーが認証に使用できる外部デバイスである Authenticator を利用します。通常のパスワードでは、ユーザーがフィッシング、パスワードの推測、認証情報の盗難などの脆弱性にさらされます。パスキーを使用すると、アプリケーションは、携帯電話やその他のデバイスで情報システムにアタッチまたは組み込まれている高度なセキュリティ対策を活用できます。一般的なパスキーサインインワークフローは、iOS キーチェーンや Google Chrome パスワードマネージャーなど、パスワードまたは認証情報マネージャーをデバイスで呼び出すことから始まります。デバイス上の認証情報マネージャーは、パスキーを選択して、既存の認証情報やデバイスロック解除メカニズムを使用してパスキーを許可するようユーザーに求めます。モダンな電話には、顔スキャナー、フィンガープリントスキャナー、ロック解除パターンなどのメカニズムが備わっており、いくつかは、強力な認証の要素である知識情報と所持情報を同時に満たします。バイオメトリクスを使用したパスキー認証の場合、パスキーは生体情報に該当します。
パスワードをサムプリント、顔、またはセキュリティキー認証に置き換えることもできます。これはパスキー認証または WebAuthn 認証と呼ばれます。アプリケーションのデベロッパーは、ユーザーが最初にパスワードでサインインした後に、生体認証デバイスの登録を許可するのが一般的です。Amazon Cognito ユーザープールを使用すると、アプリケーションは、このサインインオプションをユーザー向けに設定できます。パスキー認証は、多要素認証 (MFA) に対応していません。
パスワードなしの認証フローは、ユーザープールで必須の多要素認証 (MFA) と互換性がありません。ユーザープールで MFA がオプションである場合、MFA をアクティブ化したユーザーはパスワードなしの最初の要素ではサインインできません。MFA オプションユーザープールに MFA 設定がないユーザーは、パスワードなしの各要素でサインインできます。詳細については、「ユーザープールの MFA について知っておくべきこと」を参照してください。
パスキーとは
パスキーを使用すると、複雑なパスワードを覚えたり、OTP を入力したりする必要がなくなり、ユーザーエクスペリエンスが簡素化します。パスキーは、ワールドワイドウェブコンソーシアム
ユーザーがウェブサイトやアプリに Authenticator を登録すると、Authenticator はパブリック/プライベートキーペアを作成します。WebAuthn ブラウザおよびプラットフォームは、パブリックキーをウェブサイトやアプリケーションのバックエンドに送信します。Authenticator は、ユーザーとアプリケーションに関するプライベートキー、キー ID、メタデータを保持します。ユーザーが登録済み Authenticator を使用して登録済みアプリケーションで認証しようとすると、ランダムなチャレンジが生成されます。このチャレンジへの応答は、そのアプリケーションおよびユーザーの Authenticator のプライベートキーで生成されたチャレンジのデジタル署名および関連メタデータです。ブラウザまたはアプリケーションプラットフォームはデジタル署名を受け取り、アプリケーションのバックエンドに渡します。次に、アプリケーションは保存されたパブリックキーを使用して署名を検証します。
注記
アプリケーションは、ユーザーから Authenticator に提供した認証シークレットや、プライベートキーに関する情報を受け取ることはありません。
現在市販されている Authenticator の例と機能を以下に示します。Authenticator は、これらのカテゴリのいずれかまたはすべてを満たしている場合があります。
-
一部の Authenticator は、PIN、顔やフィンガープリントによる生体認証入力、パスコードなどの要素を使用してユーザー検証を行ってからアクセスを許可し、正当なユーザーのみがアクションを承認できるようにします。一方、ユーザー検証機能を備えていない Authenticator や、ユーザー検証が要件でないときにユーザー検証をスキップできる Authenticator もあります。
-
一部の Authenticator (YubiKey ハードウェアトークンなど) はポータブルであり、USB、Bluetooth、または NFC 接続を介してデバイスと通信します。一部の Authenticator はローカルであり、PC の Windows Hello や iPhone の Face ID など、プラットフォームにバインドされています。デバイスにバインドされた Authenticator は、モバイルデバイスのように十分に小さい場合、ユーザーが持ち運ぶことができます。ワイヤレス通信を使用して、ハードウェア Authenticator をさまざまなプラットフォームに接続できる場合もあります。例えば、デスクトップブラウザのユーザーは、QR コードをスキャンするときに、スマートフォンをパスキー Authenticator として使用できます。
-
一部のプラットフォームにバインドされたパスキーはクラウドに同期されるため、複数の場所から使用できます。例えば、iPhone の Face ID パスキーは、パスキーメタデータを iCloud キーチェーン内のユーザーの Apple アカウントと同期します。これらのパスキーは、ユーザーが各デバイスを個別に登録する必要がなく、Apple デバイス間でのシームレスな認証を許可します。1Password、Dashlane、Bitwarden などのソフトウェアベースの Authenticator は、ユーザーがこれをインストールしたすべてのプラットフォームでパスキーを同期します。
WebAuthn の用語では、ウェブサイトとアプリは依拠しているパーティです。各パスキーは、特定の依拠しているパーティの ID に関連付けられます。この ID は、パスキー認証を受け入れるウェブサイトやアプリを表す統合識別子となります。開発者は、適切な認証範囲を確保するために、依拠しているパーティの ID を慎重に選択する必要があります。一般的な依拠しているパーティの ID は、ウェブサーバーのルートドメイン名です。この依拠しているパーティの ID 仕様を持つパスキーは、該当するドメインとサブドメインに対して認証できます。ユーザーがアクセスするウェブサイトの URL が依拠しているパーティの ID と一致しない場合、ブラウザとプラットフォームはパスキー認証を拒否します。同様に、モバイルアプリの場合、パスキーを使用できるのは、.well-known 関連付けファイルにアプリケーションパスが存在する場合のみです。このファイルは、依拠しているパーティの ID が示すパスにおいてアプリケーションが使用可能にします。
パスキーは検出可能です。ユーザーがユーザー名を入力することなく、ブラウザまたはプラットフォームで自動的に認識して使用できます。ユーザーは、パスキー認証をサポートするウェブサイトやアプリにアクセスすると、ブラウザまたはプラットフォームが既に認識しているパスキーのリストから選択できます。QR コードをスキャンすることもできます。
Amazon Cognito でパスキー認証を実装する方法
パスキーは、ライトを除くすべての機能プランで使用できるオプトイン機能です。選択ベースの認証フローでのみ使用できます。マネージドログインでは、Amazon Cognito がパスキー認証のロジックを処理します。AWS SDK で Amazon Cognito ユーザープールの API を使用して、アプリケーションのバックエンドでパスキー認証を行うこともできます。
Amazon Cognito は、ES256 (-7) と RS256 (-257) の 2 つの非対称暗号化アルゴリズムのいずれかを使用して作成されたパスキーを認識します。ほとんどの Authenticator は両方のアルゴリズムをサポートしています。デフォルトでは、ユーザーはハードウェアトークン、モバイルスマートフォン、ソフトウェア Authenticator アプリケーションなど、あらゆるタイプの認証を設定できます。Amazon Cognito は現在、証明
ユーザープールでは、ユーザー検証を [優先] または [必須] に設定できます。この設定は、値を指定しない API リクエストではデフォルトで [優先] になり、Amazon Cognito コンソールではデフォルトで [優先] が選択されます。ユーザー検証を [優先] に設定すると、ユーザーはユーザー検証機能を持たない Authenticator を設定でき、登録および認証オペレーションはユーザー検証なしで成功します。パスキーの登録と認証でユーザー検証を義務付けるには、この設定を [必須] に変更します。
パスキー設定で設定した依拠しているパーティ (RP) の ID は重要な決定事項です。特に指定せず、ドメインブランディングバージョンがマネージドログインの場合、ユーザープールはデフォルトでカスタムドメインの名前を RP ID として想定します。カスタムドメインがなく、特に指定しない場合、ユーザープールはデフォルトでプレフィックスドメインの RP ID になります。パブリックサフィックスリスト (PSL) にないドメイン名に RP ID を設定することもできます。RP ID エントリは、マネージドログインと SDK 認証のパスキー登録と認証に適用されます。パスキーは、Amazon Cognito が RP ID をドメインとする .well-known 関連付けファイルを見つけることができるモバイルアプリケーションでのみ機能します。ベストプラクティスとして、ウェブサイトまたはアプリが公開される前に、依拠しているパーティの ID の値を決定して設定します。RP ID を変更すると、ユーザーは新しい RP ID を使用して再登録する必要があります。
各ユーザーは最大 20 個のパスキーを登録できます。パスキーを登録できるのは、少なくとも 1 回ユーザープールにサインインした後のみです。マネージドログインは、パスキー登録の労力を大幅に軽減します。ユーザープールとアプリケーションクライアントのパスキー認証を有効にすると、マネージドログインドメインを持つユーザープールは、エンドユーザーが新しいユーザーアカウントにサインアップした後にパスキーを登録するよう通知します。また、ユーザーのブラウザをいつでも呼び出して、パスキー登録用のマネージドログインページに誘導することもできます。Amazon Cognito がパスキー認証を開始する前に、ユーザーはユーザー名を入力する必要があります。マネージドログインは、これを自動的に処理します。サインインページでユーザー名の入力を求め、ユーザーが少なくとも 1 つのパスキーを登録していることを検証し、パスキーを使用してサインインするよう促します。同様に、SDK ベースのアプリケーションは、ユーザー名の入力を求め、認証リクエストでユーザー名を提供する必要があります。
パスキーを使用したユーザープール認証を設定したときに、カスタムドメインとプレフィックスドメインがある場合、RP ID はデフォルトでカスタムドメインの完全修飾ドメイン名 (FQDN) になります。Amazon Cognito コンソールでプレフィックスドメインを RP ID として設定するには、カスタムドメインを削除するか、プレフィックスドメインの FQDN をサードパーティドメインとして入力します。
サインイン後の MFA
ユーザー名パスワードフローでサインインを完了したユーザーに対して、E メールメッセージ、SMS メッセージ、またはコード生成アプリケーションのワンタイムパスワードを使用した追加の検証を求めるように設定できます。MFA は、ワンタイムパスワードを使用する最初の認証要素であるパスワードなしのサインインや、MFA を含まない WebAuthn パスキーとは異なります。ユーザープールの MFA はチャレンジレスポンスモデルであり、ユーザーは最初にパスワードを知っていることを証明し、次に登録された第 2 要素デバイスにアクセスできることを証明します。
実装リソース
更新トークン
認証情報を再入力せずにユーザーがサインインしたままにする場合、更新トークンは、アプリケーションがユーザーのセッションを維持するためのツールとなります。アプリケーションは、更新トークンをユーザープールに提示し、新しい ID トークンやアクセストークンと交換できます。トークンの更新により、サインインしているユーザーが引き続きアクティブであることの確認、更新された属性情報の取得、ユーザーの介入なしのアクセスコントロール権限の更新を行うことができます。
実装リソース
カスタム認証
ここに記載していない、ユーザーの認証方法を設定することもできます。そのためには、Lambda トリガーによるカスタム認証を使用します。一連の Lambda 関数により、Amazon Cognito はチャレンジを発行し、ユーザーに回答を求める質問を行い、回答が正確であることを確認し、別のチャレンジを発行すべきかどうかを判断します。質問と回答には、セキュリティの質問、CAPTCHA サービスへのリクエスト、外部 MFA サービス API へのリクエスト、またはこれらすべてが順に含まれます。
実装リソース
カスタム認証フロー
Amazon Cognito ユーザープールにより、カスタム認証フローを使用することもできます。これは AWS Lambda トリガーを使用したチャレンジ/レスポンスベースの認証モデルの作成に役立ちます。
カスタム認証フローを使用すると、チャレンジとレスポンスサイクルをカスタマイズすることが可能になり、さまざまな要件に対応できます。このフローは、使用する認証のタイプを示す InitiateAuth API 操作の呼び出しから始まり、初期の認証パラメータを提供します。Amazon Cognito は、以下のいずれかの情報を使用して InitiateAuth コールに応答します。
-
ユーザーへのチャレンジ、ならびにセッションおよびパラメータ。
-
ユーザーが認証に失敗した場合はエラー。
-
InitiateAuthコールで渡されたパラメータがユーザーのサインインに十分な場合は、ID、アクセス権限、更新トークン。(通常、ユーザーまたはアプリケーションは最初にチャレンジに応答する必要がありますが、カスタムコードはこれを判定する必要があります。)
Amazon Cognito がチャレンジで InitiateAuth コールに応答する場合、アプリは追加の入力を収集して、RespondToAuthChallenge 操作を呼び出します。このコールは、チャレンジ応答を提供し、セッションを返します。Amazon Cognito は、RespondToAuthChallenge コールに対しても InitiateAuth コール同様の対応をします。ユーザーがサインインしている場合、Amazon Cognito はトークンを提供します。ユーザーがサインインしていない場合、Amazon Cognito は別のチャレンジまたはエラーを提供します。Amazon Cognito が別のチャレンジを返した場合、ユーザーが正常にサインインするかエラーが返されるまで、シーケンスが繰り返され、アプリは RespondToAuthChallenge を呼び出します。InitiateAuth API 操作と RespondToAuthChallenge API 操作に関する詳細については、API ドキュメントに記載されています。
カスタム認証フローとチャレンジ
アプリはカスタム認証フローを開始するために、InitiateAuth を CUSTOM_AUTH として Authflow を呼び出すことができます。カスタム認証フローで、3 つの Lambda トリガーがチャレンジとレスポンスの検証を制御します。
-
DefineAuthChallengeLambda トリガーは、以前のチャレンジとレスポンスのセッション配列を入力として使用します。そして、次のチャレンジ名と、ユーザーが認証済みで、トークンを付与できるかどうかを示すブール値を生成します。この Lambda トリガーは、チャレンジを通じてユーザーのパスを制御するステートマシンです。 -
CreateAuthChallengeLambda トリガーは、チャレンジ名を入力として使用し、チャレンジとパラメータを生成してレスポンスを評価します。DefineAuthChallengeが次のチャレンジとしてCUSTOM_CHALLENGEを返すと、認証フローは、CreateAuthChallengeを呼び出します。CreateAuthChallengeLambda トリガーは、チャレンジメタデータパラメータで次のタイプのチャレンジを渡します。 -
VerifyAuthChallengeResponseLambda 関数は、レスポンスを評価し、レスポンスが有効であるかどうかを示すブール値を返します。
カスタム認証フローでは、SRP パスワードの検証や SMS を介した MFA などの、内部定義されたチャレンジを組み合わせて使用することもできます。CAPTCHA や秘密の質問などのカスタムチャレンジを使用できます。
カスタム認証フローにおける SRP パスワードの検証の使用
カスタム認証フローに SRP を含める場合には、最初に SRP を処理する必要があります。
-
カスタムフローで SRP パスワードの検証を開始する場合、アプリは
InitiateAuthをCUSTOM_AUTHとしてAuthflowを呼び出します。AuthParametersマップで、アプリケーションからのリクエストは、SRP_A:(SRP A 値) およびCHALLENGE_NAME: SRP_Aを含んでいます。 -
CUSTOM_AUTHフローは、challengeName: SRP_AおよびchallengeResult: trueの初期セッションにより、DefineAuthChallengeの Lambda トリガーを呼び出します。Lambda 関数は、challengeName: PASSWORD_VERIFIER、issueTokens: false、およびfailAuthentication: falseにより、応答します。 -
次にアプリケーションは、(
challengeName: PASSWORD_VERIFIER、そしてchallengeResponsesマップ内の SRP に必要な他のパラメータを使用して)RespondToAuthChallengeを呼び出す必要があります。 -
Amazon Cognito がパスワードを検証すると、
challengeName: PASSWORD_VERIFIERとchallengeResult: trueの 2 番目のセッションで、RespondToAuthChallengeにより Lambda トリガーのDefineAuthChallengeが呼び出されます。その時点でDefineAuthChallengeLambda トリガーは、challengeName: CUSTOM_CHALLENGEを使用して応答することでカスタムチャレンジを開始します。 -
MFA がユーザーに対して有効になっている場合、Amazon Cognito がパスワードを確認した後、ユーザーは MFA の設定またはサインインを要求されます。
注記
Amazon Cognito がホストするサインインウェブページは、カスタム認証チャレンジの Lambda トリガー をアクティブ化できません。
サンプルコードを含めた Lambda トリガーの詳細については、「Lambda トリガーを使用したユーザープールワークフローのカスタマイズ」を参照してください。
ユーザー移行の認証フロー
ユーザー移行用 Lambda トリガーは、レガシーのユーザー管理システムからユーザープールにユーザーを移行する際に役立ちます。USER_PASSWORD_AUTH 認証フローを選択している場合には、移行中のユーザーがパスワードをリセットする必要はありません。このフローは、認証中に暗号化された SSL 接続を介してユーザーのパスワードをサービスに送信します。
すべてのユーザーの移行が完了したら、フローをよりセキュアな SRP フローに切り替えます。SRP フローは、ネットワーク経由でパスワードを送信しません。
Lambda トリガーの詳細については、「Lambda トリガーを使用したユーザープールワークフローのカスタマイズ」を参照してください。
Lambda トリガーを使用したユーザーの移行の詳細については、「ユーザー移行の Lambda トリガーを使用したユーザーのインポート」を参照してください。