Microsoft Entra IDを使用してSCIMプロビジョニングを実装する
このチュートリアルでは、Microsoft Entra IDを使用したSCIMプロビジョニングの実装方法について説明します。
SCIM(System for Cross-domain Identity Management)を利用することで、Microsoft Entra IDからKurocoへのメンバーの作成・更新・削除を自動化できます。
SCIMプロビジョニングは、IdP(Microsoft Entra ID)からSP(Kuroco)へのメンバー情報の自動同期を行う機能です。SSOログイン機能とは異なります。
SSOログインを実装する場合は、以下のドキュメントを参照してください。
- OAuth認証:Microsoftを利用してOAuth認証によるSSOを実装する
- IDaaS(Azure AD B2C):IDaaSを使用してMicrosoft Entra External ID(旧 Azure AD B2C)SSOを実装する
前提条件
このチュートリアルは、以下の条件を満たしていることが前提となります。
- Microsoft Entra IDテナントアカウントを所持していること
- Microsoft Entra IDで、クラウドアプリケーション管理者以上のロールを持つアカウントであること
- Kurocoの管理画面にアクセスできること
SCIMプロビジョニングの概要
SCIMプロビジョニングでは、以下のフローでメンバー情報の同期が行われます。
- Microsoft Entra IDでユーザーがエンタープライズアプリケーションに割り当てられると、KurocoにSCIMプロトコルでメンバー情報が送信されます。
- Kurocoは受信した情報をもとに、メンバーの作成・更新を自動的に行います。
- Microsoft Entra ID側でユーザーの割り当てが解除されると、Kurocoのメンバーも無効化されます。
メンバー拡張項目を追加する
SCIMプロビジョニングでは、Microsoft Entra IDのExternal IDをKurocoに保存するためのメンバー拡張項目が必要です。あらかじめ作成しておきます。
1. メンバー拡張項目の設定ページにアクセスする
Kuroco管理画面で「メンバー一覧」の上の[メンバー]をクリックし、表示されたプルダウンメニューから、[メンバー詳細設定]をクリックします。

2. External SCIM ID用のメンバー拡張項目を追加する
[登録されるメンバーの拡張項目を設定する]から[拡張項目設定]を開き、以下の設定でメンバー拡張項目を作成します。

| 項目 | 値 |
|---|---|
| 項目名 | External SCIM ID(任意の名前) |
| 識別子 | external_scim_id(任意の名前) |
| タイプ | テキスト |
このメンバー拡張項目は、Microsoft Entra IDのユーザーオブジェクトIDを保存するために使用されます。メンバーIDでの紐付けができない場合の補助的な紐付け手段として機能します。詳細は本ドキュメント末尾の「メンバー紐付けの優先順位」を参照してください。
Kuroco管理画面でSCIM SP設定を追加する
次に、Kurocoの管理画面でSCIM SP設定を追加します。
1. SCIM SP設定ページにアクセスする
[外部システム連携] -> SCIM SPをクリックし、SCIM SP一覧ページにアクセスします。
[追加]ボタンをクリックして新しいSCIM SPを追加します。

2. SCIM SP設定を入力する
SCIM SP編集ページで以下の項目を入力します。この段階では[有効にする]のチェックは外しておいてください。

| 項目 | 値 |
|---|---|
| 有効にする | チェックを外す(後で有効にします) |
| 名前 | 任意の名前を入力します。(例:Microsoft Entra ID SCIM) |
| タイプ | Microsoft Entra IDを選択 |
| 登録時にセットされるグループ | 自動登録されるメンバーの所属グループを設定します。 |
| Internal Key to Store External ID | 先ほど作成したメンバー拡張項目(External SCIM ID)を選択 |
さらに、[Member attribute mapping]で以下のマッピングを設定します。
| 外部属性キー | 内部属性キー | 説明 |
|---|---|---|
name.givenName | 名 | 名(Given Name) |
name.familyName | 姓 | 姓(Family Name) |
userName | メールアドレス | メールアドレス |

Member attribute mappingを設定しないと、名前やメールアドレスなどの基本情報がKurocoに同期されません。少なくとも上記のマッピングは設定してください。
同時に有効にできるSCIM SPは1つだけです。
入力が完了したら[追加する]ボタンをクリックします。
3. SCIM SPエンドポイントURIとシークレットキーを控える
追加後、作成したSCIM SP設定をクリックして編集画面を開きます。以下の情報を控えてください。Microsoft Entra IDのエンタープライズアプリケーション設定で使用します。
- SCIM SP Endpoint URI:Microsoft Entra IDに設定するテナントURL
- シークレットキー:Microsoft Entra IDに設定するシークレットトークン(Generate new Secret Keyをクリックすると入力されます)
値を控えたら[有効にする]を有効にして更新します。

Microsoft Entra IDの構成
次に、Microsoft Entra管理センターでエンタープライズアプリケーションを作成し、SCIMプロビジョニングを構成します。
画面はMicrosoftの仕様によって変更される可能性があります。
1. Microsoft Entra管理センターにアクセスする
Microsoft Entra管理センターにサインインします。
2. エンタープライズアプリケーションを作成する
左側のナビゲーションで[Entra ID] -> [エンタープライズアプリ]をクリックします。
[新しいアプリケーション]をクリックします。

3. 独自のアプリケーションを作成する
[独自のアプリケーションの作成]をクリックします。
アプリケーション名を入力し(例:Kuroco SCIM)、[ギャラリーに見つからないその他のアプリケーションを統合します(ギャラリー以外)]を選択して[作成]をクリックします。

4. プロビジョニングを設定する
作成したアプリケーションの概要画面で、左側メニューの[プロビジョニング]をクリックし、[新しい構成]をクリックします。

5. 管理者資格情報を入力する
[新しいプロビジョニング構成]で以下の値を入力します。
| 項目 | 値 |
|---|---|
| 認証方法の選択 | ベアラー認証 |
| テナントURL | KurocoのSCIM SP編集画面で控えた[SCIM SP Endpoint URI]の値 |
| シークレット トークン | KurocoのSCIM SP編集画面で控えた[シークレットキー]の値 |

6. 接続をテストする
[テスト接続]をクリックして、Microsoft Entra IDからKurocoへの接続を確認します。
接続が正常であることを確認したら、[作成]をクリックします。

テスト接続に失敗した場合は、以下を確認してください。
- KurocoのSCIM SP設定が有効になっていること
- テナントURLとシークレットトークンが正しく入力されていること
7. 属性マッピングを確認する(任意)
[マッピング]セクションで、Microsoft Entra IDの属性がKurocoにどのようにマッピングされるかを確認・編集できます。
デフォルトのマッピングで問題ない場合は、この手順をスキップできます。

Kuroco側のMember attribute mapping設定と、Microsoft Entra ID側の属性マッピング設定は、整合性が取れている必要があります。
8. ユーザーとグループを割り当てる
アプリケーションの概要画面に戻り、[ユーザーとグループ]をクリックします。
[Add user/group]をクリックし、SCIMプロビジョニングの対象となるユーザーまたはグループを割り当てます。

9. プロビジョニングを開始する
[プロビジョニング]画面に戻り、[プロビジョニング状態]をオンにして保存します。

初回のプロビジョニングサイクルは、通常20〜40分程度かかります。その後の同期は約40分間隔で自動的に実行されます。
動作確認
SCIMプロビジョニングが正常に動作しているかを確認します。
1. Microsoft Entra管理センターでプロビジョニングログを確認する
Microsoft Entra管理センターで、作成したエンタープライズアプリケーションの[プロビジョニング] -> [プロビジョニングログ]をクリックします。
プロビジョニングが成功しているか確認します。

2. Kurocoでメンバーを確認する
Kuroco管理画面で[メンバー管理] -> [メンバー]をクリックし、Microsoft Entra IDから同期されたメンバーが表示されていることを確認します。
プロビジョニングが正常に動作しない場合は、以下を確認してください。
- KurocoのSCIM SP設定が有効になっていること
- Microsoft Entra IDのプロビジョニングが開始されていること
- テナントURLとシークレットトークンが正しいこと
- 対象のユーザーまたはグループがエンタープライズアプリケーションに割り当てられていること
運用時の役割分担
SCIMプロビジョニングを導入した後は、Microsoft Entra IDとKurocoでそれぞれ管理する領域が異なります。
Microsoft Entra ID側で管理するもの
以下の情報は、Microsoft Entra ID側で管理します。SCIMプロビジョニングによりKurocoに自動同期されます。
- ユーザーの作成・削除(有効化・無効化)
- マッピングされたメンバー属性情報(名前、メールアドレスなど)
- グループの作成・削除およびグループへのメンバー割り当て
- Entra IDエンタープライズアプリケーションへのユーザー・グループの割り当て
Kuroco側で管理するもの
以下の設定は、SCIMプロビジョニングの同期対象外であり、Kurocoの管理画面で管理します。
- グループの権限設定(グループ自体の作成とメンバー割り当てはEntra IDから同期されますが、そのグループにどのような権限を付与するかはKuroco側で設定が必要です)
- KurocoのコンテンツやAPIのアクセス権限
- SCIM SP設定のメンテナンス
SCIMプロビジョニングによる同期対象のメンバー属性(名前やメールアドレスなど)をKurocoの管理画面から直接編集した場合、次回のプロビジョニング同期時にEntra ID側の情報で上書きされます。メンバー情報の変更はMicrosoft Entra ID側で行ってください。
SCIMプロビジョニングではグループの作成とメンバーのグループ割り当ては同期されますが、グループの権限(アクセス権など)の同期は行われません。Entra IDから同期されたグループに対して、Kurocoの管理画面で権限を設定してください。
メンバー紐付けの優先順位
SCIMプロビジョニングでは、Microsoft Entra IDから送信されたユーザー情報をKurocoの既存メンバーと紐付ける際に、以下の優先順位でマッチングが行われます。
| 優先順位 | 紐付け方法 | 説明 |
|---|---|---|
| 1 | メンバーID | プロビジョニング実行後、Kuroco側のメンバーIDとEntra ID側のユーザーが紐付けられます。以降の同期ではこのメンバーIDによる紐付けが最優先で使用されます。 |
| 2 | Internal Key to Store External ID | メンバーIDでの紐付けができない場合(例:初回プロビジョニング時など)、Internal Key to Store External IDに保存されたExternal IDを使用してマッチングを試みます。 |
| 3 | メールアドレス | 上記2つの方法で紐付けができない場合、メールアドレスでのマッチングを試みます。 |
| 4 | 新規作成 | いずれの方法でも既存メンバーと紐付けられない場合、新規メンバーとして作成されます。 |
初回のプロビジョニングでは、メンバーIDによる紐付けはまだ存在しないため、Internal Key to Store External IDまたはメールアドレスを使用して紐付けが行われます。一度紐付けが確立されると、それ以降はメンバーIDによる紐付けが優先されます。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。