Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

CSV ファイルからユーザープールへのユーザーのインポート

フォーカスモード
CSV ファイルからユーザープールへのユーザーのインポート - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

外部 ID ストアがあり、かつ、新しいローカルユーザーのためにユーザープールを準備する時間がある場合、カンマ区切り値 (CSV) ファイルからの一括ユーザーインポートは、Amazon Cognito ユーザープールへの移行のための手間とコストが少ないオプションになります。CSV ファイルインポートは、テンプレートファイルをダウンロードして入力し、インポートジョブのユーザープールにファイルを渡すプロセスです。CSV インポートを使用して、テストユーザーをすばやく作成できます。また、外部 ID ストアへの読み取り API リクエストをプログラムでファイルに入力したうえで、その詳細と属性を解析してファイルへの書き込みオペレーションにすることもできます。

インポートプロセスは、[パスワード] 以外のすべてのユーザー属性の値を設定します。セキュリティのベストプラクティスでは、パスワードはプレーンテキスト形式として使用できない必要があり、ハッシュのインポートはサポートされていないため、パスワードのインポートはサポートされません。つまり、ユーザーは最初にサインインした際にパスワードを変更する必要があります。このメソッドを使用してインポートすると、ユーザーは RESET_REQUIRED 状態になります。

CSV からユーザーをインポートする最も手間のかかる方法は、ユーザープールでパスワードレスサインインをアクティブ化することです。E メールアドレスと電話番号の属性と適切なユーザープール設定を使用すると、ユーザーはインポートジョブの完了直後に E メールまたは SMS ワンタイムパスワード (OTPs) でサインインできます。詳細については、「インポートされたユーザーにパスワードをリセットするように要求」を参照してください。

Permanent パラメータを に設定する AdminSetUserPassword API リクエストを使用して、ユーザーのパスワードを設定することもできますtrue。CSV インポートは、ユーザープール内で請求対象の月間アクティブユーザー (MAU) にはカウントされません。ただし、パスワードリセットオペレーションは MAU を発生させます。すぐにアクティブにならない可能性のあるパスワードを持つ多数のユーザーをインポートする場合のコストを管理するには、ユーザーがサインインしてRESET_REQUIREDチャレンジを受信したときに新しいパスワードの入力を求めるようにアプリケーションを設定します。

注記

各ユーザーの作成日は、ユーザーがユーザープールにインポートされた時間です。作成日は、インポートされた属性の 1 つではありません。

ユーザーインポートジョブを作成する手順
  1. AWS Identity and Access Management (IAM) コンソールで Amazon CloudWatch Logs ロールを作成します。

  2. ユーザーインポート .csv ファイルを作成します。

  3. ユーザーインポートジョブを作成し、実行します。

  4. ユーザーインポート .csv ファイルをアップロードします。

  5. ユーザーインポートジョブを起動し、実行します。

  6. CloudWatch を使用してイベントログを確認します。

  7. インポートされたユーザーがパスワードをリセットするように要求します。

その他のリソース

CloudWatch Logs IAM ロールの作成

Amazon Cognito の CLI または API を使用している場合は、CloudWatch IAM ロールを作成する必要があります。以下の手順では、Amazon Cognito がインポートジョブの結果を CloudWatch Logs に書き込むために使用できる IAM ロールを作成する方法について説明します。

注記

Amazon Cognito コンソールでインポート ジョブを作成すると、同時に IAM ロールを作成できます。新しい IAM ロールを作成することを選択すると、Amazon Cognito は適切な信頼ポリシーと IAM ポリシーをロールに自動的に適用します。

ユーザープールインポート用の CloudWatch Logs IAM ロールを作成するには (AWS CLI、API)
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/://www.com」で IAM コンソールを開きます。

  2. の新しい IAM ロールを作成します AWS のサービス。詳しい手順については、AWS Identity and Access Management ユーザーガイドの「 AWS のサービスにアクセス許可を委任するロールの作成」を参照してください。

    1. 信頼されたエンティティタイプユースケースを選択するときは、任意のサービスを選択してください。Amazon Cognito は現在、サービスのユースケースに記載されていません。

    2. [Add permissions] (アクセス許可の追加) 画面で、[Create policy] (ポリシーの作成) を選択し、次のポリシーステートメントを挿入します。REGION をユーザープール AWS リージョン の に置き換えます。例: us-east-1ACCOUNT を AWS アカウント ID に置き換えます (111122223333 など)。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:REGION:ACCOUNT:log-group:/aws/cognito/*" ] } ] }
  3. ロールを作成したときに Amazon Cognito を信頼されたエンティティとして選択しなかったため、ロールの信頼関係を手動で編集する必要があります。IAM コンソールのナビゲーションペインから [Roles] (ロール) を選択し、作成した新しいロールを選択します。

  4. [信頼関係] タブを選択します。

  5. [信頼ポリシーを編集] を選択します。

  6. 次のポリシーステートメントを [Edit trust policy] (信頼ポリシーを編集) に貼り付け、既存のテキストを置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  7. [ポリシーの更新] を選択してください。

  8. ロールの ARN を書き留めておきます。インポートジョブを作成するときに、ARN を指定します。

ユーザーインポート CSV ファイルの作成

既存のユーザーをユーザープールにインポートする前に、インポートするユーザーとその属性を含むカンマ区切り値 (CSV) ファイルを作成する必要があります。ユーザープールから、ユーザープールの属性スキーマを反映するヘッダーを含むユーザーインポートファイルを取得できます。その後、CSV ファイルのフォーマット のフォーマット要件に一致するユーザー情報を挿入できます。

CSV ファイルヘッダーのダウンロード (コンソール)

CSV ヘッダーファイルをダウンロードするには、次の手順に従います。

CSV ファイルヘッダーをダウンロードするには
  1. Amazon Cognito コンソールに移動します。 AWS 認証情報の入力を求められる場合があります。

  2. [User Pools] (ユーザープール) を選択します。

  3. リストから存在するユーザープールを 1 つ選択します。

  4. ユーザーメニューを選択します。

  5. [Import users] (ユーザーのインポート) セクションで、[Create an import job] (インポートジョブの作成) を選択します。

  6. [Upload CSV] (CSV のアップロード) で [template.csv] リンクを選択し、CSV ファイルをダウンロードします。

CSV ファイルヘッダーのダウンロード (AWS CLI)

正しいヘッダーのリストを取得するには、USER_POOL_ID がユーザーをインポートするユーザープールのユーザープール ID である次の CLI コマンドを実行します。

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

レスポンス例:

{ "CSVHeader": [ "name", "given_name", "family_name", "middle_name", "nickname", "preferred_username", "profile", "picture", "website", "email", "email_verified", "gender", "birthdate", "zoneinfo", "locale", "phone_number", "phone_number_verified", "address", "updated_at", "cognito:mfa_enabled", "cognito:username" ], "UserPoolId": "USER_POOL_ID" }

CSV ファイルのフォーマット

ダウンロードしたユーザーインポート CSV ヘッダーファイルは次の文字列のようになります。ユーザープールに追加したカスタム属性も含まれます。

cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled

ユーザーのためのこのヘッダーと属性値が含まれ、次のルールに従ってフォーマットされているように CSV ファイルを編集します。

注記

電話番号の適切な形式など属性値の詳細については、「ユーザー属性の操作」を参照してください。

  • ファイルの最初の行はユーザー属性の名前を含む、ダウンロードされたヘッダーの行です。

  • CSV ファイルの行の順序は重要ではありません。

  • 最初の行の後の各行に、ユーザーの属性値が含まれます。

  • ヘッダーのすべての列が存在している必要がありますが、列の値を指定する必要はありません。

  • 以下の属性は必須です:

    • cognito:username

    • cognito:mfa_enabled

    • [email_verified] または [phone_number_verified]

      • 自動確認された属性の少なくとも一つは、各ユーザーに対して true である必要があります。自動検証属性は、新しいユーザーがユーザープールに参加したときに Amazon Cognito が自動的にコードを送信する E メールアドレスまたは電話番号です。

      • ユーザープールは [email_verified] または [phone_number_verified] の少なくとも一つの自動確認された属性が必要です。ユーザープールに自動確認された属性が存在しない場合は、インポートジョブは開始されません。

      • ユーザープールに一つの自動確認された属性がある場合のみ、その属性はユーザーごとに確認する必要があります。たとえば、ユーザープールに自動確認された属性として [phone_number] だけがある場合、[phone_number_verified] 値はそれぞれのユーザーに対して true である必要があります。

      注記

      ユーザーがパスワードをリセットするには、検証済みの E メールまたは電話番号が必要です。Amazon Cognito は、CSV ファイルで指定された E メールアドレスまたは電話番号にパスワードのリセットコードが含まれるメッセージを送信します。メッセージが電話番号に送信される場合は、SMS メッセージで送信されます。詳細については、「サインアップ時に連絡先情報を検証する」を参照してください。

    • [email] ([email_verified] がtrue の場合)

    • [phone_number] ([phone_number] が true の場合)

    • ユーザープールを作成する際に必須と指定した任意の属性

  • 文字列である属性値には、引用符は使用できません

  • 属性値にカンマが含まれる場合、カンマの前にバックスラッシュ (\) を置く必要があります。これは、CSV ファイルのフィールドがカンマで区切られているためです。

  • CSV ファイルのコンテンツは、バイトオーダーマークのない UTF-8 形式にする必要があります。

  • [cognito:username] フィールドは必須であり、ユーザープール内で一意である必要があります。任意の Unicode 文字列を使えます。ただし、スペースまたはタブを含めることはできません。

  • [birthdate] (生年月日) の値がある場合、「mm/dd/yyyy」の形式である必要があります。たとえば、生年月日が 1985 年 2 月 1 日だとすると、02/01/1985 にエンコードされる必要があります。

  • [cognito:mfa_enabled] フィールドは必須です。ユーザープールで Multi-Factor Authentication (MFA) が必要であると設定している場合、このフィールドはすべてのユーザーに true である必要があります。MFA をオフに設定している場合、このフィールドはすべてのユーザーに false である必要があります。MFA をオプションとして設定している場合、このフィールドは true または false で、空にすることはできません。

  • 最大行数は 16,000 文字です。

  • CSV ファイルの最大サイズは 100 MB です。

  • ファイルの最大行数 (ユーザー) は 500,000 です。この最大値にはヘッダー行は含まれません。

  • [updated_at] フィールド値はエポック時間 (秒) であると想定します。たとえば 1471453471 などです。

  • 属性値の先頭または末尾の空白は切り捨てられます。

次のリストは、カスタム属性のないユーザープールの CSV インポートファイルの例です。ユーザープールスキーマは、この例とは異なる場合があります。その場合は、ユーザープールからダウンロードした CSV テンプレートにテスト値を入力する必要があります。

cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled John,,John,Doe,,,,,,,johndoe@example.com,TRUE,,02/01/1985,,,+12345550100,TRUE,123 Any Street,,FALSE Jane,,Jane,Roe,,,,,,,janeroe@example.com,TRUE,,01/01/1985,,,+12345550199,TRUE,100 Main Street,,FALSE

Amazon Cognito ユーザープールのインポートジョブの作成と実行

このセクションでは、Amazon Cognito コンソールと AWS Command Line Interface () を使用してユーザープールのインポートジョブを作成して実行する方法について説明しますAWS CLI。

CSV ファイルからのユーザーのインポート (コンソール)

次の手順は、CSV ファイルからユーザーをインポートする方法について説明します。

CSV ファイルからユーザーをインポートするには (コンソール)
  1. Amazon Cognito コンソールに移動します。 AWS 認証情報の入力を求められる場合があります。

  2. [User Pools] (ユーザープール) を選択します。

  3. リストから存在するユーザープールを 1 つ選択します。

  4. ユーザーメニューを選択します。

  5. [Import users] (ユーザーのインポート) セクションで、[Create an import job] (インポートジョブの作成) を選択します。

  6. [Create import job] (インポートジョブの作成) ページで、ジョブ名を入力します。

  7. [Create a new IAM role] (新しい IAM ロールの作成)、または[Use an existing IAM role] (既存のロールを使用する) を選択します。

    1. [Create a new IAM role] (新しい IAM ロールの作成) を選択した場合は、新しいロールの名前を入力します。Amazon Cognito は、正しいアクセス許可と信頼関係を持つロールを自動的に作成します。インポートジョブを作成する IAM プリンシパルに、IAM ロールを作成するアクセス許可が必要です。

    2. [Use an existing IAM role] (既存の IAM ロールを使用する) を選択した場合は、[IAM role selection] (IAM ロール選択) のリストからロールを選択します。このロールには、CloudWatch Logs IAM ロールの作成 で説明されているアクセス許可と信頼ポリシーが必要です。

  8. CSV のアップロード で、ファイルの選択 を選択し、準備した CSV ファイルをアタッチします。

  9. [Create job] (ジョブの作成) を選択してジョブを送信しますが、後で開始します。[Create and start job] (ジョブを作成して開始) を選択してジョブを送信し、すぐに開始します。

  10. ジョブを作成したが開始しなかった場合は、後で開始できます。ユーザーをインポートメニューで、インポートジョブを選択し、開始を選択します。 AWS SDK から StartUserImportJob API リクエストを送信することもできます。

  11. ユーザーをインポートするメニューのユーザーインポートジョブの進行状況をモニタリングします。ジョブが成功しない場合は、[Status] (ステータス) 値を選択できます。詳細については、[View the CloudWatch logs for more details] (詳細については CloudWatch ログを表示する) を選択して、CloudWatch ログコンソールで問題がないか確認してください。

ユーザーのインポート (AWS CLI)

ユーザープールにユーザーをインポートするには、次の CLI コマンドが使用できます:

  • create-user-import-job

  • get-csv-header

  • describe-user-import-job

  • list-user-import-jobs

  • start-user-import-job

  • stop-user-import-job

これらのコマンドに関するコマンドラインオプションのリストを取得するには、help コマンドラインオプションを使用します。次に例を示します。

aws cognito-idp get-csv-header help

ユーザーインポートジョブの作成

CSV ファイルを作成した後、次の CLI コマンドを使用してユーザーインポートジョブを作成します。[JOB_NAME] にはジョブに付ける名前を指定します。[USER_POOL_ID] には以前と同じユーザープール ID を指定します。[ROLE_ARN] には、CloudWatch Logs IAM ロールの作成 で次のとおり受け取ったロール ARN を指定します。

aws cognito-idp create-user-import-job --job-name "JOB_NAME" --user-pool-id "USER_POOL_ID" --cloud-watch-logs-role-arn "ROLE_ARN"

レスポンスで返される PRE_SIGNED_URL は 15 分間有効です。この時間以後は無効になり、新規のユーザーインポートジョブを作成して新しい URL を取得し直す必要があります。

例 レスポンス:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

ユーザーインポートジョブのステータス値

ユーザーインポートのコマンドに対する応答には、Status を示す次のような値が見つかります。

  • Created - ジョブが作成されましたが、開始前の状態です。

  • Pending - 遷移状態です。ジョブを開始しましたが、まだユーザーのインポートは開始していません。

  • InProgress - ジョブが開始され、ユーザーインポートが進行中です。

  • Stopping - ジョブを停止する処理中です。ユーザーインポートは停止していません。

  • Stopped - ジョブは停止中で、ユーザーインポートも停止しています。

  • Succeeded - ジョブは正常に完了しました。

  • Failed - エラーのためジョブは停止しました。

  • Expired - ジョブを作成しましたが、24 ~ 48 時間以内にジョブを起動しませんでした。ジョブに関連付けられたすべてのデータは削除され、ジョブを開始することはできません。

CSV ファイルのアップロード

以下の curl コマンドを使用して、ユーザーデータが含まれる CSV ファイルを create-user-import-job コマンドのレスポンスから取得した事前署名済みの URL にアップロードします。

curl -v -T "PATH_TO_CSV_FILE" -H "x-amz-server-side-encryption:aws:kms" "PRE_SIGNED_URL"

このコマンドの出力から、次のようなメッセージを見つけます: "We are completely uploaded and fine" このメッセージは、ファイルが正常にアップロードされたことを示します。ユーザープールは、インポートジョブの実行後にインポートファイルに情報を保持しません。完了または期限切れになると、Amazon Cognito はアップロードされた CSV ファイルを削除します。

ユーザーインポートジョブの説明

ユーザーインポートジョブの説明を取得するには、次のコマンドを使用します。USER_POOL_ID はユーザープール ID です。JOB_ID は、ユーザーインポートジョブの作成時に返されたジョブ ID です。

aws cognito-idp describe-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
例 レスポンス例:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

前述の例の出力では、PRE_SIGNED_URL は CSV のアップロード先の URL です。ROLE_ARN は、ロールの作成時に受け取った CloudWatch Logs ロール ARN です。

ユーザーインポートジョブを表示する

ユーザーインポートジョブを一覧表示するには、次のコマンドを使用します:

aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 2
例 レスポンス例:
{ "UserImportJobs": [ { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 }, { "CompletionDate": 1470954227.701, "StartDate": 1470954226.086, "Status": "Failed", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "Too many users have failed or been skipped during the import.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 5, "CreationDate": 1470953929.313 } ], "PaginationToken": "PAGINATION_TOKEN" }

ジョブは時系列で、作成が最後から最初の順で表示されます。2 番目のジョブのあとの PAGINATION_TOKEN 文字列は、このリストコマンドについて、まだ結果が残っていることを示します。残りの結果を表示するには、次のように --pagination-token オプションを使用します:

aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 10 --pagination-token "PAGINATION_TOKEN"

ユーザーインポートジョブの開始

ユーザーインポートジョブを開始するには、次のコマンドを使用します:

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

インポートジョブは、アカウントごとに 1 つしかアクティブにできません。

例 レスポンス例:
{ "UserImportJob": { "Status": "Pending", "StartDate": 1470957851.483, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

ユーザーインポートジョブの停止

ユーザーインポートジョブの進行中に停止するには、次のコマンドを使用します。ジョブを停止すると、再開することはできません。

aws cognito-idp stop-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
例 レスポンス例:
{ "UserImportJob": { "CompletionDate": 1470958050.571, "StartDate": 1470958047.797, "Status": "Stopped", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "The Import Job was stopped by the developer.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957972.387 } }

ユーザープールのインポート結果を CloudWatch コンソールに表示

インポートジョブの結果は、Amazon CloudWatch コンソールで表示できます。

結果の表示

次のステップでは、ユーザープールのインポートの結果を表示する方法を説明します。

ユーザープールのインポート結果を見るには
  1. にサインイン AWS Management Console し、「https://https://console.aws.amazon.com/cloudwatch/.com」で CloudWatch コンソールを開きます。

  2. [ログ] を選択します。

  3. ユーザープールのインポートジョブに使用するロググループを選択します。ロググループ名は /aws/cognito/userpools/USER_POOL_ID/USER_POOL_NAME の形式です。

  4. 先ほど実行したユーザーインポートジョブのログを選択します。ログ名は JOB_ID/JOB_NAME の形式です。ログの結果は行番号でユーザーを示しています。ユーザーデータはログに書き込まれていません。各ユーザーに対して、次のような行が表示されます。

    • [SUCCEEDED] Line Number 5956 - The import succeeded.

    • [SKIPPED] Line Number 5956 - The user already exists.

    • [FAILED] Line Number 5956 - The User Record does not set any of the auto verified attributes to true. (Example: email_verified to true).

結果の解釈

正常にインポートしたユーザーは、ステータスが「PasswordReset」に設定済みです。

次の場合、ユーザーはインポートされませんが、インポートジョブは継続します。

  • true に設定された自動検証された属性はありません。

  • ユーザーデータはスキーマに一致しません。

  • 内部エラーによりユーザーをインポートできませんでした。

以下の場合、インポートジョブは失敗します。

  • Amazon CloudWatch Logs ロールを想定することができず、正しいアクセスポリシーがない、または削除されている。

  • ユーザープールが削除されている。

  • Amazon Cognito が .csv ファイルを解析できない。

インポートされたユーザーにパスワードをリセットするように要求

ユーザープールがパスワードベースのサインインのみを提供する場合、ユーザーはインポート後にパスワードをリセットする必要があります。初めてサインインするときは、任意のパスワードを入力できます。Amazon Cognito は、アプリケーションからのサインインリクエストに対する API レスポンスに新しいパスワードを入力するようにプロンプトします。

ユーザープールにパスワードレス認証要素がある場合、Amazon Cognito はインポートされたユーザーの認証要素をデフォルトにします。新しいパスワードの入力は求められず、パスワードレス E メールまたは SMS OTP を使用してすぐにサインインできます。また、username-password や passkey などの他のサインイン方法を完了できるように、ユーザーにパスワードの設定を求めることもできます。ユーザーインポート後のパスワードレスサインインには、次の条件が適用されます。

  1. 使用可能なパスワードレスサインイン要素に対応する 属性を持つユーザーをインポートする必要があります。ユーザーが E メールアドレスでサインインできる場合は、 email 属性をインポートする必要があります。電話番号の場合は、 phone_number 属性をインポートする必要があります。両方の場合は、いずれかの属性の値をインポートします。

  2. 通常、ユーザーはパスワードをリセットする必要があるRESET_REQUIRED状態でインポートします。パスワードレス要素でサインインできる状態でインポートされた場合、Amazon Cognito は状態を に設定しますCONFIRMED

パスワードレス認証の設定方法や、アプリケーションで認証フローを構築する方法などの詳細については、「」を参照してくださいAmazon Cognito ユーザープールによる認証

次の手順では、CSV ファイルをインポートRESET_REQUIREDした後の、 のローカルユーザーによるカスタムビルドのログインメカニズムでのユーザーエクスペリエンスについて説明します。ユーザーがマネージドログインでサインインする場合は、パスワードを忘れた場合 オプションを選択し、E メールまたはテキストメッセージからコードを指定して、パスワードを設定するように指示します。

インポートされたユーザーにパスワードをリセットするように要求
  1. アプリケーションで、ランダムなパスワードを使用した InitiateAuth により、現在のユーザーのサインインをサイレントに試行します。

  2. PreventUserExistenceErrors が有効な場合、Amazon Cognito は NotAuthorizedException を返します。そうでない場合は PasswordResetRequiredException を返します。

  3. アプリケーションが ForgotPassword API リクエストを行い、ユーザーのパスワードをリセットします。

    1. アプリケーションは ForgotPassword API リクエストでユーザー名を送信します。

    2. Amazon Cognito は、確認済みの E メールまたは電話番号にコードを送信します。宛先は、CSV ファイルで email_verifiedphone_number_verified に指定した値によって異なります。ForgotPassword リクエストへのレスポンスは、コードの宛先を示します。

      注記

      ユーザープールは、E メールまたは電話番号を確認するように設定する必要があります。詳細については、「ユーザーアカウントのサインアップと確認」を参照してください。

    3. アプリケーションは、コードがコードの送信先を確認するメッセージをユーザーに表示し、ユーザーにコードと新しいパスワードを入力するように求めます。

    4. ユーザーがアプリでコードと新しいパスワードを入力します。

    5. アプリケーションは ConfirmForgotPassword API リクエストでコードと新しいパスワードを送信します。

    6. アプリケーションはユーザーをサインインにリダイレクトします。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.