メインコンテンツまでスキップ

SaaSus Platform ユーザー一括登録手順

概要

CSVファイルから複数のユーザーを効率的に一括登録する手順書です。複数テナント・複数ロールの組み合わせに対応し、必要なリソースの自動作成も含めて完全自動化されています。

ユーザー一覧CSV出力手順で出力されたCSVファイルをそのまま使用できます。

主要なユースケース

この機能は特に以下のような環境間でのユーザー移行に便利です:

  • 開発環境 → ステージング環境: 開発環境で作成・テストしたユーザー構成をステージング環境に複製
  • ステージング環境 → 本番環境: ステージング環境で検証済みのユーザー構成を本番環境に展開
  • 環境のリセット: 既存環境のユーザー構成を別の環境に移行してリセット

前提条件

  • SaaSus API MCP Serverが設定済みであること
  • CSVファイルが適切な形式で準備されていること(ユーザー一覧CSV出力手順で出力されたファイルを推奨)

重要な前提条件

登録先環境には、CSV出力元環境と同じリソースが定義されている必要があります:

  • テナント名: CSVに記載されているすべてのテナント名が登録先環境に存在すること
  • 環境: CSVに記載されている環境名が登録先環境に存在すること
  • 役割: CSVに記載されているすべての役割名が登録先環境に定義されていること
  • カスタム属性: CSVに含まれるカスタム属性(名前含む)が登録先環境で定義されていること

これらのリソースが存在しない場合、該当する行はスキップされるか、エラーが発生します。

MCP Serverへの依頼文言

基本的な依頼文

saasus_users.csvファイルを読み込んで、SaaSus API MCP Serverを使用してユーザーの一括登録を実行してください。

【重要】以下の処理をすべて自動で実行してください:

1. CSVファイルの読み込み
- メールアドレス: ユーザーのメールアドレス(必須)
- テナント名: テナント名(必須、複数テナントの場合は行を分ける)
- 環境: 環境名(必須、prod/dev/test等の文字列)
- 役割: ロール名(必須、単一ロール、複数ロールの場合は行を分ける)
- 名前: 名前(属性として設定、オプション)
- カスタム属性: 役割より右の列はすべてカスタム属性として扱う(オプション)

2. 必要なリソースの確認とバリデーション(効率化処理)
- CSVヘッダーのカスタム属性(名前含む)が定義されているか確認し、存在しない場合はCSV読み込み時点でエラー
- 各行について以下の順序でチェックし、スキップが確定した時点で他の項目はチェックしない:
1. テナント名が存在するか確認し、存在しない場合はその行をスキップ
2. ロール名が存在するか確認し、存在しない場合はその行をスキップ
3. 環境名から環境IDを取得し、存在しない場合はその行をスキップ

3. ユーザーの一括登録
- 事前処理: CSVファイル全体を読み込み、バリデーションを実行してからメールアドレスごとにデータをグループ化
- ユーザー作成: 各メールアドレスについて初回出現時にSaaSユーザーを作成(パスワードなし、メール通知)
- テナント処理: 各メールアドレスの各テナントについて初回出現時にテナントユーザーを作成し、名前属性を設定
- ロール処理: 各行ごとに指定されたロールを割り当て
- 環境設定: CSVの環境列で指定された環境名から環境IDを取得してロール割り当てを実行
- 重複回避: 既存のSaaSユーザー・テナントユーザーは作成をスキップし、ロール追加のみ実行

4. 結果の報告
- 処理されたCSV行数と成功/スキップ/失敗の詳細
- スキップされた行の理由(存在しないテナント、ロール、環境名)
- 登録成功したユーザーの詳細
- エラーがあった場合の詳細情報

すべての処理を自動で実行し、最後に詳細なレポートを提供してください。

CSVファイル形式

ファイル構造

メールアドレス,テナント名,環境,役割,名前
user1@example.com,company_a,prod,admin,田中太郎
user1@example.com,company_a,prod,user,田中太郎
user2@example.com,company_a,prod,user,佐藤花子
user3@example.com,company_b,prod,user,鈴木次郎
user4@example.com,company_a,prod,user,山田三郎
user4@example.com,company_a,prod,viewer,山田三郎
user5@example.com,company_b,prod,admin,高橋美咲
user5@example.com,company_a,prod,user,高橋美咲
user5@example.com,company_b,prod,user,高橋美咲

列の説明

  • メールアドレス: ユーザーのメールアドレス(必須)
  • テナント名: 所属するテナント名(必須、複数テナントの場合は行を分ける、存在しない場合はスキップ)
  • 環境: 環境名(必須、prod/dev/test等の文字列、存在しない場合はスキップ)
  • 役割: 割り当てるロール名(必須、単一ロール、複数ロールの場合は行を分ける、存在しない場合はスキップ)
  • 名前: ユーザーの名前(属性として設定、オプション)
  • カスタム属性: 役割より右の列はすべてカスタム属性として扱う(オプション、存在しない属性の場合はCSV読み込み時点でエラー)

複数テナント・複数ロールの扱い

  • 複数ロール: 同一ユーザーが複数のロールを持つ場合は、行を分けて記載
  • 複数テナント: 同一ユーザーが複数のテナントに所属する場合は、行を分けて記載
  • 組み合わせ: 複数テナント×複数ロールの場合は、すべての組み合わせを行で記載

エクスポート機能との連携

CSVファイルの準備

ユーザー一覧CSV出力手順で出力されたCSVファイルをそのまま使用できます。エクスポート機能で出力されるCSVは、この一括登録機能で期待される形式と完全に互換性があります。

重要: エクスポート機能を使用する際は、一括登録に必要な以下の必須項目が出力されるように設定してください:

  • メールアドレス = true
  • テナント名 = true
  • 環境 = true
  • 役割 = true

これらの項目が含まれていない場合、一括登録処理でエラーが発生する可能性があります。

推奨ワークフロー

環境間移行の場合

  1. 出力元環境でのCSV出力: ユーザー一覧CSV出力手順を使用して、移行元環境(例:開発環境)からユーザー情報をCSVで出力
  2. 登録先環境の準備確認: 移行先環境(例:ステージング環境)に必要なリソース(テナント、役割、カスタム属性)が定義されていることを確認
  3. CSVの編集(必要に応じて): 環境固有の調整が必要な場合はCSVファイルを編集
  4. 一括登録の実行: 移行先環境でこの手順を使用して一括登録を実行

既存環境でのユーザー追加の場合

  1. 既存ユーザーの確認: ユーザー一覧CSV出力手順を使用して現在のユーザー情報をCSVで出力
  2. CSVの編集: 新規ユーザーの追加、ロールの変更などを実施
  3. 一括登録の実行: 編集したCSVファイルを使用してこの手順で一括登録を実行

注意事項

環境名について

  • エクスポート機能では環境名が文字列(例:prod, dev, test)で出力されます
  • 一括登録時は、この環境名から自動的に対応する環境IDを取得して処理されます
  • 存在しない環境名が指定された場合、該当行はスキップされます

データの整合性

  • 同一ユーザーが複数のテナントに所属している場合、テナントごとに別の行として処理されます
  • 同一ユーザーが複数の役割を持っている場合、役割ごとに別の行として処理されます
  • 既存のユーザー・テナントユーザーは重複作成されず、新しいロールのみが追加されます

エラーハンドリング

  • 存在しないテナント名、役割名、環境名が指定された行は自動的にスキップされます
  • カスタム属性が定義されていない場合は、CSV読み込み時点でエラーとなります
  • 処理結果は詳細なレポートとして提供され、成功・スキップ・失敗の詳細が確認できます