ユーザーリポジトリの移行

IBM® Verify ユーザーリポジトリを移行するための簡単な方法を提供します。 Verifyユーザーのオンボーディングにおける標準的な手順は、提供されているREST APIを使用することです。 CSV のインポート機能を使用すれば、ユーザーを迅速に追加できます。

IBM Verify ユーザーデータのインポートには、以下の方法が利用可能です。
  • 手動入力
  • CSV APIのインポート
  • ユーザーAPI(単体)
  • 一括読み込み API(複数)
CSV のインポートメソッドが最も一般的な方法です。

データ情報

データの形式
CSV メソッドを使用してユーザーをインポートするには、 VerifyLDAP またはSQLデータベースのいずれかであるユーザーリポジトリを、 UTF-8 と互換性のある CSV 形式に変換する必要があります。 データを変換する予定の形式が、このフォーマットに対応していることを確認してください。
ユーザーのタイプ
インポートするユーザーの種類を確認しておくことが重要です。 「クラウドディレクトリ」モデル Verify について詳しくない場合は、ディレクトリの Verify 構造に関する記事をお読みください。 このタスクでは、インポートされるユーザーには、ユーザー作成時に生成されるローカルパスワード付きの標準的なクラウドディレクトリユーザーアカウントが割り当てられます。 このユーザーの種類は、ユーザータイプによって regular 決定されます。 userCategoryローカルパスワードを含めずにユーザーのメタデータのみをインポートしたい場合は、およびの realm 属性値を置き換える必要があります。
アクセス・トークン
IBM Verifyユーザーをインポートするために使用するAPIクライアントは、以下の権限のうち少なくとも1つを保有している必要があります。
  • ユーザーとグループの管理
  • ユーザーおよびグループの同期
  • ユーザーおよび標準グループの管理
アプリケーションは、クライアント認証フローを使用してアクセストークンを取得する必要があります。

CSV のヘッダーを取得する

インポート用に CSV ファイルを適切に構成するには、まずどのようなヘッダーオプションがあるかを理解する必要があります。 ユーザースキーマに詳しい方ならご存知の通り、ヘッダー名はSCIMにおける属性の識別子と一致します。 カスタム属性を使用している場合は、属性の作成時に指定された値です。

curl -X GET "https://${tenant_url}/v2.0/CSV/headerNames?filter=user" -H "Authorization: Bearer ${access_token}"
この応答には、考えられるすべてのヘッダー名が含まれています。 CSV のa 列に使用している名前は、オブジェクト名 name に含まれています。 この呼び出し例では、Groups の属性名が返されないように、ユーザーフィルターが追加されています。

CSV ファイルを作成する

基本的なユーザーフィールドと自動生成されたパスワードを含む、簡易かつ最小限の CSV ファイルを作成するには、この例をご利用ください。

preferred_username given_name family_name email
user1 ジョン ドエ jdoe@example.com
user2 Jane Smith jsmith@example.com
user3 ジョン ジョーンズ jjones@example.com
必要に応じて、さらに列を追加してください。 属性の値は、管理コンソールで後からいつでも更新できます。 このファイルを、 UTF-8 でエンコードされた CSV 形式のテキストファイルとして保存してください。 ファイルの最大サイズは10MBです。 ファイルのサイズが大きい場合は、複数の CSV ファイルに分割してください。
注:CSV をExcelからエクスポートした場合、ファイルの先頭に奇妙な文字が含まれていることがよくあります。 そのファイルをプレーンテキストエディタで開き、その文字を削除してください。 この文字は次のような見た目です:  これはバイト順マーク(BOM)として知られています。 テキストエディタに文字が表示されない場合は、そのテキストをコピーして別のテキストエディタに貼り付け、新しいファイルとして保存してください。

パスワードのマイグレーション

Verify 既存のパスワードの移行およびプレーンテキストで指定されたパスワードの取り込みに対応しています。 既知のパスワードまたはハッシュ化されたパスワードを使用してユーザーを作成したい場合は、各ユーザー行に「」という password 名前の列を追加してください。 Verify これにより、そのパスワードを持つユーザーが作成されます。 {TYPE}お使いのデータベースまたは LDAP が、サポートされている形式のいずれかで一方向ハッシュを提供している場合は、その値を取得し、その先頭に「.」を付ける必要があります。 {SSHA256}たとえば、 Salted-SHA256 を使用している場合、値の先頭に. を付ける必要があります。
“%2B”注: パスワードに「」 '+' 記号が含まれている場合は、その “+” 記号を「」に置き換えてエスケープしてください。

CSV ファイルの例

この例は、必要最小限の情報のみを含む CSV ファイルです。
preferred_username,given_name,family_name,email
user1,John,Doe,jdoe@example.com
user2,Jane,Smith,jsmith@example.com
user3,John,Jones,jjones@example.com
注: コンマの後のスペースがあると、インポートが中断されます。

ファイルをインポートする

ファイルの作成後、さらにいくつかの設定が可能です。 notifyType=NONE以下の呼び出しでは、パラメータを通じて、新規アカウントに関するすべてのメール通知が抑制されます。 初回ログイン時にランダムなパスワードが生成されますが、ユーザーはすぐに変更する必要はありません(後で変更することも可能です)。 usershouldnotneedtoresetpassword: true初回ログイン時のパスワード変更要件を無効にするには、ヘッダーを追加してください。
curl --location -X POST "https://${tenant_url}/v2.0/CSV/importUsers?notifyType=NONE" \
--header "Authorization: Bearer ${access_token}" \
--header 'usershouldnotneedtoresetpassword: true' \
--form 'file=@/path/to/file/user_import.csv'

ファイルが正しくフォーマットされ、受理された場合、IDが返されます。 このIDを使用すると、ステータスAPIを呼び出して、すべてが正常に動作しているかどうかを確認できます。 ユーザーは順次処理されます。 最大ファイルサイズ(10MB)のファイルの場合、処理に15~20分ほどかかることがあります。

注: ランダムパスワードの場合、通知設定にかかわらず、ユーザーには必ずメールが送信されます。 CSV ファイルにパスワードが指定されている場合、notifyの設定がNONEに設定されているため、ユーザーにはメールが送信されません。

インポート状況を確認する

ユーザーの処理が行われている間、 CSV のジョブAPIを呼び出すことで、インポートの現在のステータスを確認できます。
curl --location --request GET "https://${tenant_url}/v2.0/CSV/jobs/${id}" \
--header "Authorization: Bearer ${access_token}"
この応答には、現在の state 状況と、未処理のユーザー数に関する統計情報(unprocessedCount)、および処理済みで追加されたユーザー数に関する統計情報(processedCount)が含まれます。エラーが発生した場合は、その件数が表示されます(errorsCount)。

一括ロード

一括APIを使用すれば、数百万人のユーザーを移行することができます。 https://docs.verify.ibm.com/verify/reference/bulkrequest を参照してください。 ただし、Verifyチームと連携して一括読み込みのスケジュールを設定してもらう方が効率的です。 IBM のサポートチケットは、Webベースの「 IBM サポートコミュニティ 」から、またはお電話(1-800- IBM -SERV(800-426-7378))にてご依頼いただけます。 サービス管理チームが、安全なアップロード先をご用意いたします。 Verifyその後、この場所にユーザーデータをアップロードすると、サービス管理チームがデータを読み込みます。