前提条件
- Auth0 Dashboard
- Management API
-
ユーザーデータのインポート先となるデータベース接続が必要です。以下のいずれかを使用できます。
- Auth0 user store を使用するデータベース接続。
- インポートモードをオンにした外部 user store を使用するカスタムデータベース接続。
-
次のいずれかのテナントメンバーのロールが必要です。
- Admin
- Editor - Users
1. ユーザーデータファイルを作成する
- 一括インポート のファイルサイズ上限は 500KB です。データがこの上限を超える場合は、ユーザーデータを複数の小さなファイルに分割し、複数の ジョブ に分けてアップロードする必要があります。 目安として、ユーザーあたりのメタデータ field が 10 未満のユーザー約 1,000 件であれば、通常はファイルサイズ上限内に収まります。
-
Auth0 ユーザーデータエクスポートを利用する場合:
-
一括インポート は JSON 形式をサポートしていますが、Auth0 で生成されるユーザーエクスポートは NDJSON 形式です。
jqなどのツールを使用して、NDJSON を JSON に変換できます。 -
一括インポート では、インポートされた user ID に
auth0|プレフィックスが自動的に追加されますが、Auth0 で生成されるユーザーエクスポートの user ID には、すでにauth0|プレフィックスが付いています。
auth0|プレフィックスを削除してください。削除しない場合、user ID にはプレフィックスが 2 回付与されます (auth0|auth0|<user_id>) 。 -
一括インポート は JSON 形式をサポートしていますが、Auth0 で生成されるユーザーエクスポートは NDJSON 形式です。
-
サポート対象の algorithmでハッシュ化されたパスワードを含むユーザーデータをインポートできます。サポートされていない algorithm でハッシュ化されたパスワードを持つユーザーは、一括インポート 後、初めて log in するときにパスワードをリセットする必要があります。
ユーザーが最初にインポートした
custom_password_hashを使用して log in していない場合は、upsert を有効にした新しい ジョブ でcustom_password_hashに別の値を指定し、ユーザーデータを再送信することで更新できます。
2. ユーザーデータをデータベース接続にインポートする
- Auth0 Dashboard
- Management API
Auth0 Dashboardを使用してユーザーデータをインポートするには:
- Dashboard > User Management > Usersに移動します。
- ページの右上にあるユーザーのインポート/エクスポートを選択して、ユーザーのインポート/エクスポートページに移動します。
-
ユーザーをインポートを選択して、ユーザーをインポートページに移動します。

- ユーザーJSONファイルで、+ ファイルを選択を選択し、ユーザーデータのJSONファイルをアップロードします。
- 接続でドロップダウンメニューを開き、ユーザーデータのインポート先となるデータベース接続を選択します。
-
必要に応じて、Upsert pre-existing users in connectionをオンにします。インポートするユーザーがデータベース接続内の既存ユーザーと一致した場合、データをアップサートするかどうかを選択できます。
- デフォルトでは、アップサートは無効です。メールアドレス、ユーザーID、phone、またはユーザー名が一致するユーザーのインポートは失敗します。
- アップサートを有効にすると、メールアドレスが一致するユーザーをインポートした際に、すべてのアップサート可能な属性が更新されます。
- 必要に応じて、すべてのテナント所有者に完了メールを送信をオンにします。有効にすると、ジョブの成功または失敗時に、すべてのテナント管理者に完了メールが送信されます。
- ジョブを送信するには、ユーザーをインポートを選択します。
3. ジョブのステータスを確認する
- Auth0 Dashboard
- Management API
ジョブのステータスを確認するには、次の手順に従います。
- Dashboard > User Management > Usersに移動します。
- ページ右上のImport/Export Usersを選択して、Import/Export Usersページに移動します。少なくとも1つのジョブを開始すると、このページに送信したジョブの一覧が表示されます。
- ジョブの詳細を確認するには、対象のジョブの横にあるMore infoを選択します。
制限
- テナントごとに同時に実行できるインポートジョブは2件までです。
- ユーザーインポートジョブは2時間でタイムアウトします。この時間内にジョブが完了しない場合、失敗としてマークされます。
- ジョブ関連のデータはすべて24時間後に自動的に削除されます。
- インポートファイル内に重複したユーザーエントリがあるとエラーになります。インポート後にupsertが行われることはありません。
-
upsertでは
user_metadataまたはapp_metadataはマージされません。既存のメタデータは新しいメタデータで完全に上書きされます。
大規模な移行に関するベストプラクティス
-
ジョブスケジューラフレームワークを使用する (Bull や Agenda など) 。これにより、次のことが可能になります。
- 必要な同時実行数の上限を設定する。
- ネットワーク接続の切断や一時的な障害に対応する再試行戦略を組み込む。
- 削除期限を過ぎてもジョブの結果とエラーの詳細を保存する。
- 1 人のユーザーで失敗してもインポートを中断しない。 代わりに、生成されたすべてのジョブを確認し、失敗したレコードを新しいファイルに収集する「ファイナライザー」ジョブを実装します。収集した失敗レコードのエラーを修正し、新しいジョブとしてインポートします。
-
upsertモードを有効にする際は注意する。 upsert を使用したインポートは標準のインポートよりも遅く、メタデータはマージされません。既存のユーザーを更新する必要があり、これらの制限事項を理解している場合にのみ upsert モードを使用してください。