Amazon Cognito
開発者ガイド

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

ユーザープールに既存のユーザーをインポートする前に、入力として使用する .csv ファイルを作成する必要があります。これを行うには、ユーザーインポート .csv ヘッダー情報をダウンロードしてから、.csv ファイルのフォーマット に説明されているフォーマット条件に一致させるようにファイルを編集する必要があります。

AWS マネジメントコンソール を使用して .csv ファイルヘッダーをダウンロード

  1. Amazon Cognito コンソールに移動し、[Manage User Pools] を選択してから、ユーザー情報をインポートするユーザープールを選択します。

  2. [Users] タブを選択します。

  3. [Import users] を選択します。

  4. [Download CSV header] を選択し、自分の .csv ファイルに含める必要のあるヘッダー行を含む .csv ファイルを取得します。

CLI を使用して .csv ファイルヘッダーをダウンロード

正しいヘッダーのリストを取得するには、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]

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

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

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

  • ユーザープールは [email_verified] または [phone_number_verified] の少なくとも一つの自動確認された属性が必要です。自動確認された属性の少なくとも一つは、各ユーザーに対して true である必要があります。ユーザープールに自動確認された属性が存在しない場合は、インポートジョブは開始されません。ユーザープールに一つの自動確認された属性がある場合のみ、その属性はユーザーごとに確認する必要があります。たとえば、ユーザープールに自動確認された属性として [phone_number] だけがある場合、[phone_number_verified] 値はそれぞれのユーザーに対して true である必要があります。

    注記

    ユーザーがパスワードをリセットするには、認証された E メールアドレスまたは電話番号が必要です。Amazon Cognito は .csv ファイルで指定された E メールアドレスまたは電話番号へ、リセットパスワードコードを含むメッセージを送信します。メッセージが電話番号に送信される場合は、SMS で送信されます。

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

  • 属性値にカンマが含まれる場合、カンマの前にバックスラッシュ (\) を置く必要があります。これは、.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 ファイルは次のようになります。

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